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.
I really like programming so my idea of fun is to make useful stuff, maybe start with something simple, like a notepad, or something. But 'id like to make it graphic, as you said, QT should do, I'll have to check it.
I like the idea of hacking Linux, but I'd have to start by some basic commands. I've downloaded some programs and all of them are .tar and .gz, I can uncompress them by KDE but I'd like to do it in console... how can I do it?
Other thing.... just downloaded and installed Kmess and it works fine, but I have to open a terminal and type kmess..... which makes me keep the terminal open but I can't seem to type anything else on it,.... is it normal to have to open another terminal for anything else?
Qt is fully portable to all major OS'es, namely Windows, Mac, and Linux. The beauty of this is that you can write the program in Linux, debug it, test it, then compile it on Windows and it'll work just the same with no code changes. The thing is, you must have Qt compiliers for each platform. One thing I don't like about Trolltech is that they haven't made a free version of the Windows Qt compiler past version 2 (you can, however, get a free trial of the latest version), but I really don't like trials...
I really love the GPL version of Qt for linux, because it gives support for databases, OpenGL 2D/3D graphics, networking, sound, video... everything that makes up a good framework, free, with the only limitation that you must make open-source (ie non-commercial) apps. But, no biggie. I'm not at the point yet where I'm ready to capitalize on my programs.
I think in my quest for complete knowledge of everything , I'm going to study and use Qt for a while, then maybe learn about GTK, then I would like to bite into plain XFree86 coding a little. Then, who knows.
To unpack a .tar.gz file via the command line, use this command: tar -zxvf filename.tar.gz
Sometimes, you'll come across a .tar.bz2 file. For those, use tar -jxvf filename.tar.bz2.
Those commands will unpack the file into the current directory, much like KDE does.
About kmess, and other programs, if you want to run them from the command line, but keep using the command line, place an & after the command, like this: kmess &
What that does is make the program run as a daemon, in the background, while returning control to the command line.
The project needs developers if you are interested.
There is something I'd like to add to this... if my program calls "fork()", and "exec()", it calls kernel functions not available in Windows. I could be mistaken, but does this mean to need some cross-platform library for everything?
..else you'll get stuck with stuff like CreateProcessEx(..) vs (a quite beautiful) fork + exec call. ..and a lot of platform specific code
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.
That projects looks pretty cool
With QT in games, I ment simple kde games like the ones you'll find in the K-menu. I think it's also worth to mention libSDL for programming cross platform games, for example used by tuxracer, and the commercial version)
I've downloaded some programs and all of them are .tar and .gz, I can uncompress them by KDE but I'd like to do it in console... how can I do it?
I guess you've downloaded the tarball; ie. the source code of the program.
These programs are usually installed with these commands.
tar zxf program-version.tar.gz
./configure --options.... (usually nothing special; configure is generated
by autoconf/automake to create all custom Makefiles)
make (a 'Makefile' describes the steps to compile some.c file,
and it's dependencies, which will be compiled first)
make install (runs the "install:" target of the Makefile)* then create shortcuts to the executable ;)
Instead of the "make install" step, you can use "checkinstall" to create a binary package; this is an easy way to uninstall the program.
Because a Makefile is simply a file with targets, dependancies, and actions, you can run "make" again if you change one source file. make is able to find out what files it needs to recompile, and what objects (compiled C files) it needs to link again..
of course, you could also choose to use a KDE based development environment. Some of them automatically create the same directory structure you've found in all other tarballs. (including the configure script! )
besides of the "kmess &" thing, you can use Ctrl+Z to stop (!) the foreground program, and use "bg" to send it to the background. With "fg" it will be restored to the foreground. (and "jobs" gives the background processes started by your shell) I just thought it would be cool to tell this trick too
I've got Karamba from KDE-look.org and descompressed as you said. It did create a new directory and once I'm there I give it ./configure and it goes fine.
Then I type make and it says
link: cannot find the library `/usr/lib/libfam.la'
So it has a recursive error. I can't make install from there. It really seems that I need a lot of those files, because I often find "cannot find" things (I usually just try to download screensavers and then karamba, amsn)
perhaps I need my installation CD's again?
libfam is a file activity monitor. you need to install it separately. I'm curious why the ./configure script hasn't warned you about it in the first place.
Mandrake seams separate developer stuff from it's packages too; you need those include files (also called developer packages) to compile against an exisiting piece of software. If you install your own software, just keep the default path as /usr/local/, because a lot of programs are looking there. (or /opt/kde for superkaramba)
I'm not sure what files you need to update to tell software to look for different places, the --with-xxxxx flags of the ./configure script should be helpful, but I'd rather focus on the development packages. imho they cause a lot of problems. and watch the output of ./configure a little closer, see if it misses some programs ...and forget the rest it shows you because most of it is the same every time
finally, make gives the resursive error because make starts other Makefiles in sub-directories too. If you go to another terminal, and type "ps auxf" you'll see what kind of programs are started by make. it's a lot.
The actual error should be visible in one of the last lines... then it leaves all those directories, and returns with "make *** error" as far as I recall.
Just (another) silly question. you guys use Slackware distro and for what I've heard is all command based... if so I just happen to think of slackware as a MS-DOS or UNIX OS with no graphical interfase at all. But then again, how do you see webpages, Internet, screensavers, and all that? I'm really curious
Originally posted by poeta_boy Just (another) silly question. you guys use Slackware distro and for what I've heard is all command based... if so I just happen to think of slackware as a MS-DOS or UNIX OS with no graphical interfase at all. But then again, how do you see webpages, Internet, screensavers, and all that? I'm really curious
all right, I'd love to explain
first don't compare with MS-DOS Every car has a stearing wheel, but I don't have to explain there are different cars.
The fact that slackware is command line based, doesn't mean it has left the XFree server out. infact, if you type "startx" the KDE will appear at your screen. And I've changed my runlevels so a nice graphical login [gdm] appears at system boot, even my sister [12 yr] is able to use it However, slackware is command line orientated; modifications, like system wide configuration and installing software happens from the command line. If you install slackware it will leave you with a simple command line prompt, and most of the programs are installed without fancy stuff. (..stuff you might not expect to happen) and you're free to configure your system to your needs.
For example, most distributions offer a graphical tool to configure your background services. Slackware just gives you well written boot-scripts (in /etc/rc.d/) that you can customize to your own needs. (it doesn't sit in your way if you want to do this)
...and about command line surfing; you could use "links" or "lynx" from the command line, mail could be read by "pine" or "mutt", IM-chats with "centericq". heck, even cd's can be written from the command line; the K3B you use (I assume), is nothing but a fancy, but very cool, interface for the mkisofs+cdrecord commands.
Hehehe sorry about not starting a new thread, I just had this question and I coulnd't help it I'll try not to forget and you don't have to answer this reply
I just don't get it. I've used pine but how do you see yahoo interface.... play videos..... I'll have to see it myself. I am a Windows hostage (seriously planning to break free) and I'm gonna stick with KDE for a while. However I'm trying to do as many things as I can by console so I can move on to a command oriented stuff like slackware.
I've been using Linux and Win xP for about 1 month and I?ve installed and uninstalled Linux several times before, always leaving quite frustrated.
I really wanna thank you (and everyone in these forums) because now I'm transforming into a Linux -holic, I just love it and can't help to smile everytime I learn something new about it. I won't forget it and if I ever get to know as much as you do, I'll help as many guys like me as I can.
If you want to write portable software (which is a good idea) avoid Qt. While Qt itself is portable to Linux, MacOS and Windows, for MacOS and Windows you have to pay for it. Forget about buying a license, you cannot afford one. GTK+ is sort of the "native" toolkit on Linux and is portable to Windows as well (it can use the XP theming engine and stuff so it looks native).
Problems with compilation are well known, it's a major usability problem on Linux My project is attempting to fix that.
Slackware/Red Hat/Mandrake - they are all, essentially, Linux. Using Slackware does not mean you can *only* use the command line, but because Slack provides fewer user friendly tools to help you, it's kind of obligatory that you do. Those same commands are available on other Linux distros of course, so I'd not recommend you use Slack for now.
It is possible to operate entirely from text mode, though I have no idea why people would do that on a desktop (I know a few who do though!). You can get text mode web browsers, email clients, IRC clients (in fact I use irssi which is a text mode irc clients), even media players. Obviously, you cannot see any images with that.
A more common setup is that you run X, with a desktop environment like KDE or Gnome (i use gnome), and then have lots of terminal windows open
To start a program, you can do the following things:
* choose it from the menu
* type its name into the run dialog
* type its name into a terminal.
You noticed that if you do the latter you lose the terminal until you quit the app. A better way is to add & to the end, which puts the program into the background. If you don't do that and want to background it later, hit ctrl-z to stop it, then type bg and hit enter.
Hacking Linux is fun, but you need to get up to speed with basic skills first. It took me about 6 months before I dived in to Linux development and I have not looked back since. In particular (as you may have noticed) the desktop is currently moving forward insanely fast - we are preparing to beat the snot out of the competition in a few years There's still a lot of work to do, from polishing the apps to improving the desktop environments like KDE and GNOME. There are lots of other tasks too, like the one I work on (making software installation easier and simpler), improving our media players (WMP is a lot better than XMMS) and so on.
Feel free to drop by in #freedesktop, #autopackage (my channel) or #winehq on freenode sometime. I'm TD, and if you're keen and a quick learner I'll be happy to show you the ropes.
I'll surely drop by #autopackage. Right now and for let's say, two more weeks I'll be in middle-terms, which give me almost no time... but I'll try to keep in touch. I'd really like to help and learn. I have to usea Windows for internet because I can't get my winmodem to work, but at school we have T1 lan and I do have internet by wireless pci card so I'll try to use my lap top from there.
In the mean time, I'll try to keep in touch. Thanks thanks a lot for offering me that opportunity
Distribution: Redhat 9 2.4.20-8 Athlon, Windows 2000 Professional, FreeBSD
If you want to make the most of linux I suggest you start running a web server in your spare time...
Here's what you will learn if you stick at it
- Networking, Routing
- Databasing (Using PostGreSQL or MySQL)
- SQL Programming (Database query language)
- PHP Programming (Server-Side Scripts for Apache Webserver)
- HyperText Markup Language (HTML)
If you wish to go even further:
- Flash MX
- ASP/VB Script
However it could be hard to do these under a windows environment.
In my oppinion if you jump straight into programming applications, especially just using other people codes, you're not going to achive many results... start small.. which is exactly whata webserver is.
Actually I'm currently working on a database mini project for a store. I'm using PHP, sql and Apache. I'd love to use Linux to present it to my clients but I just can't afford it, I have to present it like in two weeks anc me and my team can't make it to migrate so soon. I'l keep it up once I deliver it and keep learning.
Originally posted by mhearn Problems with compilation are well known, it's a major usability problem on Linux My project is attempting to fix that.
I'm very curious about the outcome.
Perhaps it's a good thing to notice that Gentoo seams to handle all compilations very well with a simple "emerge programname". I spotted only one failed compilation: gphoto2. I've been compiling all other software, including XFree, KDE, XFCE, Gnome, OpenOffice without any problems. OO was the worst of them, it failed once. (after adding more swap it didn't fail, and it required 3gb of temp space)
Gentoo also seams to add a lot of patches to make the software work a lot easier, perhaps you could use some of that knowledge. ..or implement something simular in your system.
I had one other idea, but I'm not sure how realistic this is. (but freedesktop is the right place for such system)
Right now people have to look at a lot of different places for software upgrades, unless you restrict yourself to the software provided by your distro. I've revisited some websites quite often; the reason I'm installing gentoo right now. But my point is: would it be possible to create a distributed xml/rss system, in which authors provide their product info, download-mirrors and version information? (just an xml file on their site) This universal system would make an auto-upgrade very easy; plug the file in your package manager and it will be checked on your next system upgrade.
Just a very big wild guess, because I don't ever expect this to happen in a place as large as the Internet.
Compilation is not end user friendly, period. For geeks, enthusiasts and developers it's fine, but on no account should we expect end users to compile their own software. Gentoo is not the answer, then.
My project is working on a system for binary packaging that works across distros (and yes, even on Gentoo). Binary installs have a variety of advantages over source installs (for end users), I'm sure I don't need to elaborate on them.
As part of that, we are working on an XML format similar to what you describe (as part of the network dep resolution code).