A whole new world: A guided tour with Tux through the land of the penguin

ArticleCategory: [Es gibt verschiedene Artikel Kategorien]

UNIX Basics

AuthorImage:[Ein Bild von Dir]

[Photo of the Author]

TranslationInfo:[Autor und Übersetzer]

original in en Katja Socher

AboutTheAuthor:[Eine kleine Biographie über den Autor]

Katja is the German editor of LinuxFocus. She likes Tux, film & photography and the sea. Her homepage can be found here.

Abstract:[Hier sollte eine kleine Zusammenfassung stehen]

In this article Tux, the Linux mascot will guide the first time tourist on her first tour through his native land. Tux will explain some concepts that probably are new for the tourists and give them tips and hints on how to go on to explore Linux on their own afterwards.

ArticleIllustration:[Das Titelbild des Artikels]

[illustration]

ArticleBody:

Hello (Introduction)

Hello! I am Tux, the Linux penguin and I will be your travel guide today for your first look-around as a first time tourist to this wonderful but still a bit unknown and strange world. After this first tour you can go on exploring the areas that your are interested in on your own in more detail.

Coming here

For my tour I will assume that you have already come here, that Linux is already up and running on your system. I know that package tour offers (Linux being pre-installed on your computer) are still not very common and you are very likely to have to book your trip individually. But perhaps this already was your first positive surprise: booking the trip (installing Linux) really was easy! The only part that might have been a bit tricky was partitioning. But if you use one of the newer distributions you can choose automatic partitioning which makes everything quite easy. But if for any reason you don't want automatic partitioning you can of course do it yourself. Most of the time reading the manual book that usually comes with every distribution should help. But it's finally up to you to decide how to partiton your system as you are the only one who knows how you will use it. If you don't have any clue here is a suggestion that is often used:

For a good Linux installation you need at least 2 GB of disk space.
Create 4 partitions for Linux:

So, now that Linux is running on your machine we arrive at the

Passport Control

Here you have to give your name and password and usually you will decide which accomodation you prefer. If you think that in the days of free travel passport controls are unnecessary you can also look at it as the key of your hotel room (even though that's not 100% correct). You will admit that it's good to have one so that other people can't get in without your permission. This way you can also choose the look and feel you like while other people that are using the same computer can choose a totally different one if they please. You can create your own world totally according to your taste!
Everybody with a valid account (user name and password) can come inside the land of the penguin!
To change your password open a shell (that's the window that looks similar to dos under windows. You start it e.g. by choosing xterm in the menu under "Terminal") after you have logged in and just type passwd. You will then have to give your current password and then the new one twice in order to prevent spelling errors.
Be aware that Linux is very case sensitive.
You should avoid to log in as root whenever possible because as a normal user the chance to destroy your system is very small. Root is a super user who can do a lot of things that a normal user can't do and even has access to all normal user accounts. So especially if you are new to the system you can play around with it much more safely because the only thing you can destoy as a normal user is this one account but it hasn't any effect on the system. If you haven't created a normal user yet or want to add another user (you youself can have as many accounts as you please) here are two possibilities how you can do it:
1) Graphical solution
You must be root to create a new user account. So if you are logged in as a normal user open a shell, type su and then type the root password in the next line (alternatively you can log out and log in as root). Type the command linuxconf. The program starts. Choose "Users" under "Config", then "User Accounts" under "Normal" and there "Add". Now fill in the name of the user, and optionally the groups she belongs to etc. Then press "Accept". A new window will pop up asking you for the password. Type it in and press "Accept". Again a new window will pop up and ask you to retype the password. Type it in again and press return. The new user account is created and you should log out as root now.
2) Solution using the shell
You must be root (see above how to become root). Open a shell and type useradd, space, the user name for the new account, then press return. In the next line you have to give a new password for the new account by typing passwd theuseryoucreated and once again in the next line to make sure you typed it in correctly. Then you get: "passwd: all authentication tokens updates successfully". The new user account is created and you should log out as root now.
To become a normal user again just type exit if you had become root by typing su before or log out.
To log out you go in the menu of your chosen accomodation and choose log out, exit or quit.

Transportation

As with other systems you will use the mouse and the keyboard as your means of transportation. But with Linux it's very common to use a three-button mouse. Usually with a two-button mouse you can emulate the button in the middle by pressing the right and left button at the same time but you will see that riding along with a three-button mouse is much more comfortable.
The button in the middle can paste something to a place of your choice if you marked it before with the left one which is really a very nice and oft used feature.

Accomodation

You can choose between all kinds of accomodation from the five star luxury hotel to a cheap and simple hotel or even a camping tent. It's up to you. You can choose it according to your available disk space and your taste and it is also possible to change between them whenever you please. You choose your hotel on the menu list when logging in with your display manager. Popular choices are Gnome, KDE, window maker, fvwm, icewm,... You really should choose your hotel with care because we all know that a great holiday depends as well on how much you like your accomodation as on everything else.

Virtual rooms (Virtual desktops)

A feature that you will find whatever accomodation you choose is the virtual desktops. The default settings are often to have four of them but you can change that if you want. This way you can have one desktop for answering email and surfing the internet, another for creating images with The Gimp, an image manipulation program, still another one to write normal snail mail letters and the fourth for whatever what. It really helps to organise your workplace.
To change from one room to the other you just click on the pager (or clip) in the room you want to go.

Food and Drink

You will see that the choice is quite big. If you have chosen one of the two desktops gnome or kde you can get the menu by clicking on the first button on the left side of the panel. With the other accomodations you get the menu by clicking with the mouse somewhere in the background. In Gnome and KDE often new installed programs will automatically be written to the menu while with window managers you have to update the menu yourself. Nevertheless your choice is almost the same.

Gnome and KDE

When you have been to Windows land before you will find that everything looks very familiar. As there has been already written quite a lot about both of them and both have lots of documentation about their desktops (just click on the help buttons or go to their websites at www.gnome.org and www.kde.org) that you can read I won't repeat it here.
Well, there is one thing I want to say: In the configuration to set the mouse focus I really would like you to give the "sloppy mouse" focus (called "focus follows mouse" in KDE and in Gnome you have to answer with enter only to the question "when does the mouse pointer affect the input focus?") a try! The default is set to "click to focus" which is also the case under windows. At first you will find the new setting a bit strange but after a while you probably won't want to live without it...

But perhaps you don't like the resemblance to Windows land or you are just curious about the other accomodations. There are lots of others! Window managers are usually more lightweight and you can't place icons directly on the background. There are a lot of different window managers available and you should look at several of them to find the one that you like best. All of them are also highly configurable to get the look and feel that you like best.

Window Maker

This is a very nice window manager with a very nice look and feel that is configured graphical as well. The only reason why I don't talk more about it is that Georges has already done all the work:-) So go to Window Maker, the spirit of NeXTStep to read his article on this phantastic window manager that you really should try before you make a final decision about what to use!

IceWM

Another nice and popular window manager is IceWm. It is one of the few window managers left where you have to change a configuration file to change its look and feel. To configure it create an directory ~/.icewm and then copy the default files:
cp /usr/X11R6/lib/X11/icewm/preferences ~/.icewm/preferences
cp /usr/X11R6/lib/X11/icewm/toolbar ~/.icewm/toolbar
cp /usr/X11R6/lib/X11/icewm/winoptions ~/.icewm/winoptions

Now you have to change them the way you want. It's not within the scope of this article to describe it in detail so all I can tell you here is: Just play around.

Room service, please

No matter what kind of hotel you have chosen you are free in your choice of your room service. There are lots of different file managers available under Linux. With them you can copy your files, moves them, delete them or whatever you want.
A concept that might be new for you is the concept of permissions. In Linux every user has her own home directory where all her personal files are stored. But of course it would be nice if someone else who also connects to your computer could see all or at least some of your files. Sometimes it might also be useful to give that person write permissons for (the permission to change) certain files. And if you have written an executable program and want that other people using your computer can use it as well you have to give them the permission to execute it. Sometimes you want to give that permission to all people and sometimes only too a few of them. That's why Linux differentiates the permissions you yourself have, a specified group can have as well as the permissions for all others. If you are root you can specify as many different groups as you want.
To let other people see your files you have to give read and execute permissions for your home directory to all others or the group you want to give access first because otherwise they can't even see the contents of your home directory. Then you can decide for every file to whom you will give which rights.
Konqueror for example is a very nice file manager that can also browse the web but there are many many others as well.
During your first stay in the land of Tux you will probably appreciate to have a room service but later when you come more often or have even decided to move here completely you may find that it would be nicer and more efficient to do it all by yourself using the shell. You can use little shell scripts for things that are repeated several times. And you can also use the tab key to finish your commands/words (automatic word completion) and by pressing the arrow keys you can get earlier commands back.
To learn more about the shell read the two articles by Manuel Muriel Cordero: Basic UNIX commands and GNU file utilities.
And of course you can read Guido's and mine article on Shell Programming.

A Hotel Safe

To avoid that other people can manipulate your home directory there isn't only the concept of different users and permissions but you can also lock your screen when you leave your computer just for a little while and don't want to log out completely. Just typing "xlock" into a shell window will lock your screen and you will have to type in your password to get access to your computer again. You will then find all applications etc. as you have left them.

The Post Office or Calling home

What would a holiday be if you couldn't write postcards home or communicate otherwise with your loved ones that had to stay at home. Of course this is no problem in the land of the penguin.
To write snail mail letters there are several programs available, some for free like Ted, Kword, Abiword, StarOffice... just to name a few, and some for purchase like Applixware and WordPerfect.
If you only use this programs at home and only want to do common things like writing a letter to the bank or to a friend then almost all of the available tools are suitable and you only have to find the one that you like best. For Ted you can read the article in LinuxFocus: Discovering Ted. About Kword and Abiword I would say that at the moment KWord has a few more features than Abiword while Abiword is by far more stable. But both of them are developing rapidly and have the prospect of becoming truly great and advanced tools in the future. StarOffice provides you with a lot of features but some people don't like it because it is quite fat ( You can read the two articles The StarOffice Suite and StarOffice for Linux). Just play around yourself and see if you think they are right for you. You can also buy Applix or WordPerfect. I myself have never worked with WordPerfect so far so I can only talk about Applix here. It has as I can see still some more features than StarOffice and I feel quite comfortable working with it. But play around for yourself. The choice is yours!
Of course there are also spreadsheets, presentation tools, address books and other planner tools available for Linux.

There is one little program called knotes which is like post-it stickers that I really like. You can have several notes open and just post them everywhere on your screen where you like. It's always nice to write yourself a little note to not forget an important appointment or some urgent things you have to do.

Reading pdf files: There is a program called xpdf you can use. Just type xpdf followed by the file name into the shell or start it with your file manager. Another possibility is to use the program acroread by typing acroread followed by the file name.

Internet & Email: Of course surfing the internet is no problem. I already mentioned konqueror as a file manager but it also is a nice internet browser that becomes more and more popular. Other browsers are e.g. netscape and opera.
And there also exist several email programs, kmail, netscape mail, mutt....

Perhaps you want not only write an email but also send some pictures or other documents. It would be nice if you could put them together as one and also compress them so that you don't have to send too many data.
Well, if you want to send it only within the land of tux just type
gzip filename.ext.
to compress your file. The compressed file is then saved as filename.ext.gz. So if you want to compress your file sunshine.jpg type
gzip sunshine.jpg
and it will be saved as sunshine.jpg.gz.
You can also use bzip2 to compress your files a bit further. See man bzip2 for more information.
To pack several files together into an archive you can use the command tar:
tar -cvf filename.tar files/directories
To pack your files sunshine.jpg and moonlight.jpg in a new file called pictures type
tar -cvf pictures.tar sunshine.jpg moonlight.jpg.
To compress and pack files together in one step you can type:
tar -cvfz files.tgz file1.ext file2.ext
The options cvfz mean that c creates the archive, z compresses it, f means that the files.tgz file will be used for saving it and v (verbose) gives the name of the file that is packed to the screen.
To see the content of such an archive type:
tar -tfz files.tgz
with t giving the content of the archive.
To uncompress your gz files just type
gunzip filename.ext.gz.
gunzip sunshine.jpg.gz will uncompress the file sunshine.jpg. The file sunshine.jpg.gz will then no longer exist.
To unpack your archive type
tar -xvf files.tar.
x means unpacking the archive.
To unpack and uncompress your tgz file type:
tar -xvfz files.tgz
x extracts the files.

If you want to send your file outside or both inside and outside of the land of the penguin it's better to use zip. So you type
zip -r filename.zip files.
To compress your files sunshine.jpg and moonlight.jpg in a new file called pictures type
zip -r pictures.zip shunshine.jpg moonlight.jpg.
The option -r is used if you not only want to pack only files but also a directory with all of its content.
To uncompress a zipped file type
unzip filename.zip.

There are also graphical tools available to (un)compress and (un)pack your files like e.g. gnozip.

Sights and Sounds

So now that you have arrived and have found the right accomodation for you and know how to get in touch with others you want to enjoy your holiday. So what are the attractions?

Many tourists come here because they want to program or learn how to program. And Linux really is kind of a paradies here. There are many many programming languages available and most of them are free of charge. You just download and install them and off you go. All you need now is to choose a text editor you like. There are nedit, vi, emacs, kedit, kate, joe.....
( Read the articles on nedit and vi if you like.)
If it is an interpreter language the first line must be the path to the installed interpreter language. Then you write your program, save it and make it executable (set the permissions to executable). If it is a compiler language you then have to compile it first before you can run it. To run it you just type ./nameofthefileyouwrote.
For many languages very nice tutorials exist on the web that will help get you started.
If you are interested in learning Perl you can also read Guido's articles on Perl:
Perl part I
Perl part II
Perl part III
Example:
In Perl (an interpreter language) the first line must be
#!/usr/bin/perl
To compile a program written in C (a compiler language) you type:
gcc -Wall -o finalprogram file.c

If you just came here for recreation there are also a whole lot of programs. No matter if you want to be creative by painting or just lying on the pool listening to cool music, to play games or whatever there is surely a suitable program there for you. There are truly great programs for graphics like The Gimp, Sketch, Blender... you really shouldn't miss.
To see what is available take a look at the following websites:

There are also a lot of other sites where you can find out about (new) programs. If you like any of the application and want to try it out just download it from there.

There are not as many programs yet for Linux as for Windows but if you don't want to use illegal copies but all legal ones you will have much more programs you can use because most of them are still free of charge or can be obtained for only a very small amount of money.

Booking an extra tour

or Installing software.
For installing new software you have to be root.
Before downloading from the internet you should first look if the program isn't on any of the CDs of the distribution you have. They usually contain much more than the things installed during the initial installation process. The software on these CDs comes in packages. Two package formats exist: deb and rpm. I will show you how to install rpm packages here as this format is very common.
To install packages you can use graphical tools such as gnorpm or kpackage or the shell command "rpm -i" .
To install a single package that does not require any other program is easy. Just run
rpm -vi package_name.rpm
It gets a bit more complex if you need to install other packages first that are required for the program to run. If the program is on the CDs of your distribution then the libraries that the program depends on should be on the CD as well. Check what the error message says about failed dependencies and install the missing programs first.
Mandrake has a program called urpmi which knows which packages are on which CDs and installs the dependencies first.
"urpmi make"
will e.g install the make utility you need to compile software.

Upgrade is identical to installation except that you use the option -U instead of -i:
rpm -vU package_name.rpm
The cool stuff about rpm is that you can see what you have installed:
rpm -qia
and you can uninstall it again without problems. To uninstall you just use the -e option for erase:
"rpm -e package_name."

Packages from the internet:
The problem with packages downloaded from the internet is that you should watch out that they are exactly build for you system. Installing a package from a different distribution or a different version of your distribution may or may not work. Otherwise it works as described above.

Installation from the source code:
This sounds scary but is often quite easy:
- Unpack the package
- Follow the instructions in the README or INSTALL file

Usually it works like this:
- tar zxvf file.tar.gz
- cd into the package directory created when unpacking the tar file
- run ./configure
- run make
- run make install
To check what files it would install if you did run make install, you can run make -n install

Maps or Where to go from here?

There is a lot of documentation available you can read:


To find out if the hardware you want to use is supported look at:
For printers have a look at:

History and Philosophy

Linux started 10 years ago now when Linus Torvalds sat down in his room and started to write a small little peace of software that turned out to become a fully grown operating system over the years. What had started just for fun to get over the limits of then available operating systems and to learn more about the inner workings of his computer turned out to become a great project with more and more people involved in it, working for it or just using it.
A lot of has changed since the early times but some of the spirit and philosophy is still there. Most software for Linux is as well as the operating system itself open source and is licensed under the GPL. This means that you can not only see the source code but are also free to make any changes you want to make the system fit your personal needs and tastes. By making the source code freely available information is truly shared and good work can be reused which means that the time can be used to create new things instead of wasting time by repeating work that is already done by others.
To work together with other people living in other parts of the world also makes it necessary to make (big) programs very modular in their structure. All this makes Linux a very flexible operating system that is still improving everyday.
Many people are participating in any of the many projects not because they have to because they have to work for their living but because they like Linux and its philosophy and spirit.


I just hope that you also enjoyed your trip and will start coming back again and again and perhaps finally decide to become a permanent resident or even a native one day.
And by the way Christmas isn't so far away, so why not put that trip in your letter to Santa Claus or give it as a gift to a friend!?! If you are a bit open minded and feel ready for an exciting hoilday this could be a wonderful trip!


Just have a lot of fun!