Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
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.
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.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
"Obviously, I'm really interested in C++ programming for Linux,"
A good place to start would by improving an existing Open Source program. Find a program that you use which you think could be improved. Then download the source for that program and program in your ideas. If your improvements work out well then you can offer your changes back to the developer for use in his next release.
This is a fairly common practice and it is how successful Linux projects attract more and more developers. If your improvements are of good quality you will probably end up being a member of the development team for that program.
If you think you'd be into GUI programming, you might try Qt. It's an awesome framework for building graphical apps. If you've ever used MS Visual C++, you'll be in for a relaxing ride, because Qt is easy, but powerful!
I'm about in the same position as you right now. I've been writing several "concept" programs, like linked lists, trees, etc, and I would like to be able to write a good application (ie a program that actually does something useful).
What I'm doing right now is packing a laptop with me while I'm in school with Slackware 9.1 and Qt 3.2.1 installed on it. When I have free time (which is usually all the time ), I sit down and go through the Qt tutorials and use what I've learned to make my own simple little apps. I'm slowly working my way up.
"QT" is already installed if you have KDE; because it are the widget (window gadgets; buttons, scrollbars) that you see.
I'm not sure what would be really fun to do, but I'm hoping to make some QT based game if I have a little more free time. (because you can post this at http://apps.kde.com)
and there is one other thing that springs into my mind; the kmess msn messenger. I really love this messenger, and I hope to help them some day, because the maintainers don't have time to improve the product nowadays. (they also don't have time ) I've heared the code is clean, and I'm very keen on the existing features/gui organisation, and I think it would be soo cool to improve such messenger with MSN 6 picture support (picture swapping / custom emoticons), or even audio/video conferencing
and for any project, download the CVS tree code. then you can try to modifiy the program piece by piece. break somethiing, learn, brake it again, until you've got something stable. Create a patch file, and send this to the authors. One day they might even invite you to help them as project member. (and off course, your name will appear in the credit list, which I believe could be useful for your resume)
well i learned about qt from this thread and thought about trying it out . i have qt-2.3.1 installed but i am unable to compile my programs which use qt header file even after giving the path as /usr/lib/qt-2.3.1/include . can someone help?
Originally posted by poeta_boy Do that will get me to .exe files that I can share with win users? or just Unix Linux?
if you compile for Linux, you'll get an ELF-type executable. They don't work at Microsoft Windows; but you could use Cygwin to get some programs working. (XFree also appears to be working from Cygwin)
It's just like: if you use Borland C++, Microsoft Visual Studio / Visual Basic to create an .exe executable that hooks into rundll32.dll directly, requests info from the registry, and wants gdi.dll to paint windows. I bet you never found those files at your Linux system An executable is a sort of container for binary code that get's loaded+linked in your main memory. Windows uses a different container type, which for example, also includes all program resources like pictures.
But you could use a knoppix cd-rom, or an vnc-connection to your system if you want to show your program. And I know about another thing to impress your friends:
* boot a system from the Knoppix cd-rom
* login to your system with "ssh -X user@ipaddress" (the -X enables X11 forwarding)
* type the name of your program, and it will appear at the X11 server of the knoppix system
* and then type "exit" to close the ssh connection when you're done.
This requires a really high speed internet connection though, ...not to mention that the knoppix cd-rom is already very impressive. (just let Linux amaze everyone, you won't have to "try to impress" them)
for VNC, I would recommend using TightVNC; vnc quite slow compared to the remote desktop connection from Windows XP.
it's unusual in that it's a game written using Qt/KDE (mostly they are apps). It's kind of cool, check it out.
Another toolkit you might like is GTKmm - it's more C++y, or so I'm told. I try and stick to Python and C where possible.
Dunno what your idea of fun is really, I quite enjoy hacking Wine Alternatively improving Linux is quite a good hobby, but if you want to work on games obviously you'd need to find one to join in with.... if you want to hack on improving Linux then let me know and I'll give you some ideas. Mostly that involves C though.