Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
|
03-08-2014, 12:42 AM
|
#1
|
Senior Member
Registered: Mar 2014
Location: El Lago, Texas
Distribution: Ubuntu_Mate 16.04
Posts: 1,374
Rep: 
|
Programming recommendations
I would like to program for Linux.
My background includes 32 bit assembly and C programming in Windows.
I would prefer a GUI based program.
Thanks.
|
|
|
03-08-2014, 04:00 AM
|
#2
|
Senior Member
Registered: Jun 2011
Location: Stuttgart, Germany
Distribution: Mint, Debian, Gentoo, Win 2k/XP
Posts: 1,099
|
Hi there,
Quote:
Originally Posted by Fixit7
I would like to program for Linux.
My background includes 32 bit assembly and C programming in Windows.
I would prefer a GUI based program.
|
well, fine ...
so what's your question now?
Do you search for a programming tutorial?
Are you pondering about which IDE you could use (btw, I prefer Code::Blocks)?
Are you going to cross-compile on a Windows box, or natively on Linux?
Will you write console or GUI applications (I only did non-GUI things yet)?
If GUI, are you looking for a recommendation on the GUI framework (QT, GTK) to use?
Lots of questions for you to cover in order to get good, helpful advice.
[X] Doc CPU
|
|
1 members found this post helpful.
|
03-08-2014, 04:20 AM
|
#3
|
Senior Member
Registered: Mar 2014
Location: El Lago, Texas
Distribution: Ubuntu_Mate 16.04
Posts: 1,374
Original Poster
Rep: 
|
Quote:
Originally Posted by Doc CPU
Hi there,
well, fine ...
so what's your question now?
Do you search for a programming tutorial?
Are you pondering about which IDE you could use (btw, I prefer Code::Blocks)?
Are you going to cross-compile on a Windows box, or natively on Linux?
Will you write console or GUI applications (I only did non-GUI things yet)?
If GUI, are you looking for a recommendation on the GUI framework (QT, GTK) to use?
Lots of questions for you to cover in order to get good, helpful advice.
[X] Doc CPU
|
I guess you are not familiar with Windows programming. Kein Problem!
I do not need a programming tutorial, as I have been programming for 15 + years.
I stated Linux programming in my post, so I do not need to cross compile.
I am interested in console and GUI programming.
Take care,
Andy
happynews.com
|
|
|
03-08-2014, 04:56 AM
|
#4
|
Senior Member
Registered: Jun 2011
Location: Stuttgart, Germany
Distribution: Mint, Debian, Gentoo, Win 2k/XP
Posts: 1,099
|
Hi there,
Quote:
Originally Posted by Fixit7
I guess you are not familiar with Windows programming. Kein Problem!
|
oh, yes I am. Für mich auch kein Problem.
Quote:
Originally Posted by Fixit7
I do not need a programming tutorial, as I have been programming for 15 + years.
|
Me, too. And we seem to share the same focus on C and assembly language.
Quote:
Originally Posted by Fixit7
I stated Linux programming in my post, so I do not need to cross compile.
|
You mentioned being a long-time Windows programmer, so the idea of still using the familiar Windows environment and developing "on Windows", but "for Linux" isn't too far-fetched, I think. In the same way I'm still writing Windows programs occasionally, and for that purpose I use my Linux machine, a comfortable IDE (I mentioned Code:Blocks as my personal recommendation) and mingw32 as a cross-compiler.
Quote:
Originally Posted by Fixit7
I am interested in console and GUI programming.
|
Okay. But I still don't get what you're specifically asking for - unless your post wasn't meant as a question, but rather as a statement. It didn't contain an explicit question, after all, only a general intention.
[X] Doc CPU
|
|
1 members found this post helpful.
|
03-08-2014, 05:05 AM
|
#5
|
LQ Veteran
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836
|
What Doc CPU is referring to is the fact that you haven't actually asked any question so we are not really sure how we can help you.
|
|
1 members found this post helpful.
|
03-08-2014, 06:59 AM
|
#6
|
LQ Guru
Registered: Dec 2007
Distribution: Centos
Posts: 5,286
|
Quote:
Originally Posted by Fixit7
I would prefer a GUI based program.
|
That sounds like you are asking for an IDE.
An IDE is a program like Visual Studio that combines the tasks of editing code, building, and debugging into an integrated GUI.
Several IDE's are available for Linux.
By "a GUI based program" you might be asking for a "GUI toolkit", a package of libraries to be used inside a GUI program that you write.
In Visual Studio, Microsoft doesn't identify those things as separate items. In Linux you bring together all the pieces you choose:
A compiler (obvious, but in Linux separate).
An IDE, so you are using a GUI while developing your program.
A GUI toolkit so your program is a GUI.
The overwhelmingly popular compiler in Linux is gcc. Intel sells a better compiler for x86 and x86_64 Linux. But gcc is free and very near as good as Intel's.
Code::Blocks, KDevelop and Eclipse CDT are some of the popular IDEs available for Linux.
Qt and GTK are popular GUI toolkits available for Linux.
Last edited by johnsfine; 03-08-2014 at 07:09 AM.
|
|
1 members found this post helpful.
|
03-08-2014, 01:12 PM
|
#7
|
Senior Member
Registered: Mar 2014
Location: El Lago, Texas
Distribution: Ubuntu_Mate 16.04
Posts: 1,374
Original Poster
Rep: 
|
Thanks.
You understood my post.
I will try out Kdevelope and see how it goes.
Andy
|
|
|
03-08-2014, 01:16 PM
|
#8
|
Senior Member
Registered: Mar 2014
Location: El Lago, Texas
Distribution: Ubuntu_Mate 16.04
Posts: 1,374
Original Poster
Rep: 
|
Quote:
Originally Posted by Doc CPU
Hi there,
You mentioned being a long-time Windows programmer, so the idea of still using the familiar Windows environment and developing "on Windows", but "for Linux" isn't too far-fetched, I think. In the same way I'm still writing Windows programs occasionally, and for that purpose I use my Linux machine, a comfortable IDE (I mentioned Code:Blocks as my personal recommendation) and mingw32 as a cross-compiler.
[X] Doc CPU
|
I am not interested in using Windows to create Linux programs.
Better to do it directly from Linux and in my case Puppy 5.6.0.
I am looking for recommendations for a programming package.
Andy
|
|
|
03-08-2014, 01:54 PM
|
#9
|
LQ Veteran
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836
|
Quote:
Originally Posted by Fixit7
I am not interested in using Windows to create Linux programs.
Better to do it directly from Linux and in my case Puppy 5.6.0.
I am looking for recommendations for a programming package.
Andy
|
Unless your machine is particularly low on resources, I'd recommended one of the much more fully featured Linux distributions (Linux Mint, Ubuntu, Debian, OpenSuse, Slackware, etc). Especially if you're going to use KDevelop. KDevelop is part of KDE SC, which is a quite heavy desktop environment. I don't think it's available on Puppy as it's mainly targeted at low specs machines.
What do you mean by 'a programming package'? The programming language itself? The KDevelop package?
Edit: For a few seconds I thought I was losing it. I saw a Windows logo on my post while I'm posting it from Slackware. It took me a few seconds to realise that it's the firefox user agent plugin set to Windows to be able to watch Netflix. 
Last edited by sycamorex; 03-08-2014 at 01:57 PM.
|
|
1 members found this post helpful.
|
03-08-2014, 10:53 PM
|
#10
|
Senior Member
Registered: Mar 2014
Location: El Lago, Texas
Distribution: Ubuntu_Mate 16.04
Posts: 1,374
Original Poster
Rep: 
|
I have tried those distros but can not stand the fact that I can't run as root using GUI type programs.
And when I asked how in their forums, they would not help me.
They would say, "Why would you want to do that ?"
For example, I had to use Puppy to edit the grub.cfg file for Mint, which I feel is ridiculous.
Just my opinion. :-)
Andy
|
|
|
03-09-2014, 03:51 AM
|
#11
|
Senior Member
Registered: Jun 2011
Location: Stuttgart, Germany
Distribution: Mint, Debian, Gentoo, Win 2k/XP
Posts: 1,099
|
Hi there,
Quote:
Originally Posted by Fixit7
I have tried those distros but can not stand the fact that I can't run as root using GUI type programs.
|
that is just not true. I used Ubuntu for a while, and I've been using its fork Mint now for about two years - you can always use "sudo" to run any program with root privileges. GUI programs too. You can even use "gksu" instead, which is fully GUI oriented and even requests the password using a message box instead of the terminal. Or, if you prefer the command line, of course you can log into a console as root. To do so, however, you must first give root a password.
Quote:
Originally Posted by Fixit7
And when I asked how in their forums, they would not help me.
They would say, "Why would you want to do that ?"
|
Bad manners. Though I can understand their reluctance to some extent, they may simply have misunderstood you; maybe your question was phrased ambiguously. They may have thought you wanted to log in to the GUI and desktop as root, which is in fact impossible with the default configuration of those distros (but possible as soon as root is given a password). It's right to discourage people from doing so, because the whole bunch of background processes of the desktop environment would run under the root account then.
However, this isn't necessary at all. As mentioned above, you can have a root shell while primarily being logged in as a regular user, and you can use sudo or gksu to issue commands or launch processes as root.
Quote:
Originally Posted by Fixit7
For example, I had to use Puppy to edit the grub.cfg file for Mint, which I feel is ridiculous.
Just my opinion. :-)
|
I see. But that opinion is based on a lack of knowledge. A simple
Code:
sudo nano /boot/grub/grub.cfg
plus re-entering your password when prompted for it would do the trick.
Btw, editing the grub.cfg file directly is not recommended for GRUB2, as it is recreated each time the GRUB configuration is updated automatically. Better edit /etc/default/grub and/or the scripts in /etc/grub.d instead.
So let's calm down and get back to business. ;-)
[X] Doc CPU
|
|
1 members found this post helpful.
|
03-09-2014, 05:10 AM
|
#12
|
LQ Veteran
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836
|
Quote:
Originally Posted by Fixit7
I have tried those distros but can not stand the fact that I can't run as root using GUI type programs.
And when I asked how in their forums, they would not help me.
They would say, "Why would you want to do that ?"
For example, I had to use Puppy to edit the grub.cfg file for Mint, which I feel is ridiculous.
Just my opinion. :-)
Andy
|
Hi Andy,
Well, as a general rule, there are very few situations where you'd need to start GUI programs as root. For security reasons it is discouraged from. As mentioned above, a simple 'sudo' command would do in situations that you described. Having said that, I remember installing Linux Mint for a friend a few years ago and being frustrated at the amount of hand holding and restrictions.
Try distros such as Slackware, Arch, Debian. In most cases the system will let you do anything you want (especially true of Slackware). That, obviously, comes at a price that if you do something you shouldn't do, you may easily break the system. It will make it necessary for you to spend slightly more time configuring/maintaining because everything will be in your hands but that's how a lot of people like it. When I got more experienced with Linux, I started appreciating the freedom and customisability and have been happily using Slackware as my only distro for 6-7 years now. Obviously, you may like more Arch or Debian (Arch may require even more manual configuration).
My opinion is that distros such as Puppy are great but are targeted at and design for specific situations (low end specs hardware) and for that reason have somewhat limited features. You'd be unnecessarily losing on Linux experience if you were using it on modern hardware that is capable of running something much more feature packed.
|
|
1 members found this post helpful.
|
03-09-2014, 12:41 PM
|
#13
|
Senior Member
Registered: Dec 2013
Distribution: Slackware
Posts: 1,982
|
If you know C, you can use gtk2 or gtk3 to make GUI programs. You can make console programs using just gcc and glibc.
|
|
1 members found this post helpful.
|
03-09-2014, 05:37 PM
|
#14
|
Senior Member
Registered: Mar 2014
Location: El Lago, Texas
Distribution: Ubuntu_Mate 16.04
Posts: 1,374
Original Poster
Rep: 
|
Quote:
Originally Posted by Doc CPU
Hi there,
that is just not true. I used Ubuntu for a while, and I've been using its fork Mint now for about two years - you can always use "sudo" to run any program with root privileges. GUI programs too. You can even use "gksu" instead, which is fully GUI oriented and even requests the password using a message box instead of the terminal. Or, if you prefer the command line, of course you can log into a console as root. To do so, however, you must first give root a password.
Bad manners. Though I can understand their reluctance to some extent, they may simply have misunderstood you; maybe your question was phrased ambiguously. They may have thought you wanted to log in to the GUI and desktop as root, which is in fact impossible with the default configuration of those distros (but possible as soon as root is given a password). It's right to discourage people from doing so, because the whole bunch of background processes of the desktop environment would run under the root account then.
However, this isn't necessary at all. As mentioned above, you can have a root shell while primarily being logged in as a regular user, and you can use sudo or gksu to issue commands or launch processes as root.
I see. But that opinion is based on a lack of knowledge. A simple
Code:
sudo nano /boot/grub/grub.cfg
plus re-entering your password when prompted for it would do the trick.
Btw, editing the grub.cfg file directly is not recommended for GRUB2, as it is recreated each time the GRUB configuration is updated automatically. Better edit /etc/default/grub and/or the scripts in /etc/grub.d instead.
So let's calm down and get back to business. ;-)
[X] Doc CPU
|
How is sudo going to work when I am running Thunar for example ?
(I am not talking about running from a console.)
< They may have thought you wanted to log in to the GUI and desktop as root, which is in fact impossible with the default < configuration of those distros .
The above is exactly what I want and so far only Puppy let's me.
I don't mind entering a password once for a computer session.
But everytime I want to mount something, etc is time consuming.
I am a very calm person, I think you misunderstood a valid point and one which is shared by a lot of other's new to Linux.
Andy
|
|
|
03-09-2014, 08:08 PM
|
#15
|
Senior Member
Registered: Mar 2014
Location: El Lago, Texas
Distribution: Ubuntu_Mate 16.04
Posts: 1,374
Original Poster
Rep: 
|
Quote:
Originally Posted by sycamorex
Hi Andy,
Well, as a general rule, there are very few situations where you'd need to start GUI programs as root. For security reasons it is discouraged from. As mentioned above, a simple 'sudo' command would do in situations that you described. Having said that, I remember installing Linux Mint for a friend a few years ago and being frustrated at the amount of hand holding and restrictions.
Try distros such as Slackware, Arch, Debian. In most cases the system will let you do anything you want (especially true of Slackware). That, obviously, comes at a price that if you do something you shouldn't do, you may easily break the system. It will make it necessary for you to spend slightly more time configuring/maintaining because everything will be in your hands but that's how a lot of people like it. When I got more experienced with Linux, I started appreciating the freedom and customisability and have been happily using Slackware as my only distro for 6-7 years now. Obviously, you may like more Arch or Debian (Arch may require even more manual configuration).
My opinion is that distros such as Puppy are great but are targeted at and design for specific situations (low end specs hardware) and for that reason have somewhat limited features. You'd be unnecessarily losing on Linux experience if you were using it on modern hardware that is capable of running something much more feature packed.
|
I appreciate your good feedback. :-)
I have used Mint, Ubuntu, OpenSuse, and Debian.
When you say "feature packed" what do you mean.
Could you provide an example of something than another distro other than Puppy can do that Puppy can't ?
I know some have LibreOffice and Gimp that are already built-in, but package manager can easily install those program.
Take care,
Andy
|
|
|
All times are GMT -5. The time now is 07:01 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|