Home | VizagInfo Mirror of LG

[ Prev ][ Table of Contents ][ Front Page ][ Talkback ][ FAQ ]
...making Linux just a little more fun!
Doing Things in GNU/Linux
By Raj Shekhar, Anirban Biswas, Jason P Barto and John Murray

1. Chatting / Instant Messaging with Linux  
2. Printing  
3. Installing and Managing Software with RPM  
4. Playing and Recording Music  
5. Linux in the Office  
6. Gaming With Linux  
7. The Post-Install Tune-up  
8. End Note  

1. Chatting / Instant Messaging with Linux

1.1 History of chatting

Many normal users think that GNU/Linux is not for them, but only for geeks. One reason for this is they believe they can not do the basic things like chatting under GNU/Linux. They believe that there are no Instant Messenger clients for Yahoo, MSN, and ICQ in GNU/Linux, but this is absolutely wrong - chatting was actually first implemented in UNIX. (Linux is a UNIX like free/open operating system).

talk was the first chatting program developed from UNIX long ago when there was no MS trying to capture the Internet. The computing world was a free land then, and you could share any program with any one, you could change them too to suit your needs - much like what Free Software is trying to do. talk is still available with UNIX & GNU/Linux .

From talk, other chatting concepts were developed. IRC was the first to be developed,then other companies came and hence ICQ, Yahoo, MSN, Jabber, AIM etc. chat systems were developed.

I shall try to touch on each of the chat systems here.

1.2 talk

It is the most basic chat system but still popular in LAN's. If you are in a college or office and can access only a UNIX or Linux terminal then you can chat with your friends. First of all the talk server daemon must running.

To chat with your friend then all you have to do the following
[anirban@anirban anirban]$ talk <username>@host <tty>
i.e. if the user name is raj (it will the same as the login name to the system) and his host computer is then it will be
[anirban@anirban anirban]$ talk

You may be wondering what tty is? Suppose your friend opened many terminals - the terminal in which you want to send the message is specified by the tty number. Numbers start from 0 and only integers are allowed.

You can do the above with write too.
[anirban@anirban anirban]$ write <username@host> <tty>

If you want not to receive any chat invitition or any chatting then you have to give the command.
[anirban@anirban anirban]$ mesg n
to remove the blocking you have to do
[anirban@anirban anirban]$ mesg y

If you a GUI lover and a heavy Yahoo or MSN chatter then you may not like this kind of chatting, but for many of us who like GNU/Linux this old system is still gold.

1.3 IRC or Internet Relay Chat

After talk came IRC and it is still popular. I think that if you really want a high class chatting experience without the flooding or other bad stuff of Yahoo and MSN, then IRC is the thing for you. Also, there are many rooms (known as channels in IRC) from where you can get really good help on GNU/Linux, C/C++ programming, maintaining your Linux box and much more. (As an aside, in my personal experience I was a Yahoo chatter and did not get any thing more than flooding and 4 or 5 guys running for a girl in the room. But from IRC I received really good help when I was stuck. IRC can really be a great source of help.)

1.3.1 Basic concept of IRC

IRC is a little bit different from Yahoo or MSN chat since IRC is not owned by any company. It is free/open like GNU/Linux and generally run by volunteers.

The main difference is that you do not have to sign up to get a ID or password. So what do you do instead? Choose a nickname and a host (IRC server) to connect to. Since it is not run by a single company you have to know the host address, like you have to know the URL to visit a page on Internet. You can get the addresses of different hosts from the internet and also to which topic it is dedicated; for example, is dedicated to the betterment of open source projects and open source developers.

So you have to provide your nickname and the host you want to connect to. If the nickname you pick is already taken then you'll have to provide another nickname.

IRC newbies should check out the IRC Primer before using IRC for the first time.

1.3.2 Software for IRC

There are many IRC chat applications available but I think Xchat is the best. Most distributions provide it with their installation CDs and it is often included in default installations. If it isn't already installed, fear not; you can find it in the installation CDs or download it from You will generally find it in RPM format so installation will not be difficult.

1.3.3 Configuring Xchat

After installation type xchat in a terminal or click the xchat icon (you will find it in `Main Menu > Internet > Chat').

The first window of Xchat will appear. Provide the nickname you would like. You can provide more than one. In case a nickname is already taken in a room xchat will use the other nickname you provided, else it will pick the first nickname in the list. You also can provide your real name and as which user you want to use it - (generally you do not have to provide all these; the system guesses it for you from your system login name and real name).

Now choose a host from the list of hosts and double click it or click on `Connect' at the bottom. A new window will open with some text flowing in it. It will take a little time to connect, then after connecting it will show the rules you should follow to chat in this host. Since IRC generally is a volunteer effort by good-at-heart people and not by any company, please try to follow it or else you may get banned. Maintainers of IRC chat rooms are very strict about the rules. (That is why chatting experience is much better here than yahoo or MSN).

Now you will see a single line text box where you can write both what you want to say, and also commands to navigate. Commands all start with a / (ie. slash). To get the list of rooms (or channels) in the host type /list . You will see all the rooms, choose the one which suits you and then type /join #<roomname> and then click `Enter'. Please note that you have to always give the number sign (#) before any room name.

Now you will enter that room and start chatting. At the extreme right there will be the list of all users/chatters in that room; selecting any one will get info about him /her. You will find many buttons at the right side of your chat window, by selecting a user and clicking the buttons you can ban or block a user, get info about him/her, invite him/her in a personal chat or even transfer files in IRC.

So I think you will now be able to chat in IRC. Some day you may even meet me in IRC. I generally live in the host and in the room linux (you have to give a number sign ie. # before joining ie. /join #linux).

1.4 Instant Messaging

1.4.1 ICQ

There are several ICQ chat clients in GNU/Linux, and Licq is one of the most popular. You will find it inside the internet or network sections of the main menu i.e. KDE main menu ( so `Main Menu > Internet/Networking > Instant messenger') or just type licq in a terminal. After starting for the first time it will want you to register to their server to get a ID and password. Then you can login with that ID and password as you do with most of the Window's versions of ICQ clients.

1.4.2 Yahoo!

Yahoo provides its own yahoo messenger for Linux and it is similar to the windows version except that you may find some features missing. To get more details go to yahoo.

Since it is similar to the windows version you will find `Add Friends, Your Status, Ban' etc buttons in their usual places, generally as part of a menu at the top of Yahoo Messenger. Currently you can send files, invite people to group chat, and get email notifications.

1.4.3 AIM

Kit is the AIM client for Linux (KDE). You will find it in the main menu under network / internet or just type `kit' in a terminal. At the first startup it will ask you to create a profile and if you do not have a account in AOL it will ask you to create one by going to their site. The current version of Netscape also has a built-in AIM client.

1.5 All-In-One IM Clients

1.5.1 Everybuddy

Do you use or need several different instant messaging clients? Everybuddy is an Open Source IM client that supports AIM, ICQ, MSN, Yahoo!, and Jabber chat, as well as having some file transfer capabilities. In other words, a single Everybuddy client can take the place of several single-purpose clients. It is included (and often installed by default) with some distros, or you can download it from the Everybuddy homepage.

1.5.2 GAIM

GAIM is another all-in-one client resembling AIM that works with AIM, ICQ, MSN, Yahoo! and more. If you don't have it already installed, check out your installation CDs or go to the GAIM website.

2. Printing

2.1 Which Printer to Use

First check to see if your printer is supported by Linux. Most Epson, HP, and Canon printers will be supported, though there are some cheap printers which have less hardware hence need special software to simulate the hardware. This special software isn't generally available for Linux, so you cannot use these printers. But I would not recommend you buy these types of printer anyway since their performance is less than normal printers.

You can find the list of printers that are supported by GNU/linux at I have used RH 7.3 and a HP 810c Printer here as an example.

2.2 Connecting the Printer to the Computer

After choosing the printer, check how it connects to the computer; that is which interface it uses, eg.USB (universal serial bus) or parallel port. Most printers use parallel port, but modern printers generally have both options. My printer (HP 810c) can be connected to the computer by parallel port or USB - I chose the parallel port interface. After connecting the printer comes the software part.

2.3 Installing the Printer

A standard installation of Red Hat (any version from 6.1) will contain the required software for installing the printer, but old versions of the software can be difficult to configure. Here I will focus on RH 7.1 to Rh 7.3 using KDE, though it can also be done from GNOME.

2.3.1 Configuration Program

Now to install printer do the following:
  1. In KDE click the `kontrol panel' on the desktop and then click `Printer Configuration'.
  2. Click `New' and a printer configuration wizard will appear (In RH 7.1 and 7.2 a wizard will not appear but a new window will appear; however, the procedure is almost the same).
  3. Next you have to specify the kind of printer that you want to add, that is `Network Printer' or `local Printer'. Choose local printer since the printer is attached to the machine from where you are configuring it. You have to also specify a name to identify the printer. A name must only have alphabet characters, numbers, "_" (i.e underscore ) and "-"(i.e hyphen). Now click `New'.
  4. If it is a normal printer the interface it uses will be automatically detected. If not, specify it. For example if it is on the first parallel port it will be /dev/lp0, if it is in the second parallel port it will be /dev/lp1 and so on. Now click `Next'.
  5. Next choose the driver for your printer from the given list, you will find drivers for most normal printers. Different brands of printers (like HP, Canon, Epson, etc) are listed; choose the appropriate brand and then expand it by clicking the `arrow' at the left side of the brand name or double clicking the brand name.
  6. Choose your printer from the list and expand it to find the driver. Now, you may find more than one driver has been created for your printer by different people. Generally choose the driver supported by your brand, eg. the driver named "hpijs" is supported by HP and although other drivers also work "hpijs" works better.
  7. Next click `Finish' and you will be back to the main window. Now click `Apply' and then choose `Save Changes' from File in the main menu. ( i.e `File > Save Changes').
  8. Now choose `Restart lpd' from File in the main menu (i.e `File > Restart lpd'). It will restart the printer daemon or process and your system will be ready for printing.
  9. You can test if the installation of printer was successful by selecting `test' in the main menu.
If you have trouble setting up the printer, you can use The Linux Printing HOWTO for help in troubleshooting.

3. Installing and Managing Software with RPM

3.1 What is RPM?

RPM stands for Red Hat Package Manager, and is an easy to use and widely adopted tool for installing, deleting, upgrading, querying and building software packages. There are other systems in use (Debian's DEB for example), though RPM is by far the most popular, and is what you'll get with Red Hat, Mandrake, SuSE and some others.

3.2 What is a Software Package?

Under GNU/Linux, programs are often distributed as single files known as RPM packages. These packages contain the actual program files, its documentation or manual pages, a summary of what the program does, menu entries and icons, plus information on where each file in the package should be installed. The package also contains information on any other files requires to run the program (dependencies), disk space required and so on. It's not unusual for a program to consist of a hundred or more files, so you can see that packaging them all into a single RPM file greatly simplifies the tasks of adding or removing programs. When you install an RPM package, it is uncompressed and broken down into its individual files which are then put into their correct places. RPM also checks to see whether other files necessary to run the new package (dependencies) are present. Another feature of RPM is the building and maintenance of a database of all packages installed on your computer. This means that you can quickly check to see which packages are installed, the files belonging to a particular package, or the package that provides a particular file.

3.3 Using RPM

You can use RPM from the command line, or if you prefer point'n'click, there are several graphical tools available. KDE has a particularly good one named kpackage; there are similar apps for users of other desktop environments, and distribution builders such as Mandrake have their own RPM front ends. I tend to use kpackage for removing un-needed packages to free up disk space, and the command line for everything else; but it doesn't really matter which tool you use. There are significant advantages to becoming familiar with using RPM from the command line; firstly it will be available on any RPM based system you may encounter, regardless of the desktop environment installed, plus it allows you to manage packages on machines that can't or don't run X. The ability to use wild cards (eg.*) to install multiple packages from a group at once is another feature of the command line - for example rpm -ivh mysql*

Just remember that generally speaking, you'll need to be running as root to install, upgrade or delete packages. However any user can run queries.

3.4 Installing Packages

In all the examples below, we'll use the Mozilla web browser package as a sample. To install it, first navigate into the directory holding the package, either from the command line or a graphical file manager. This directory might be one of your Linux installation CDs, or your home folder if you've downloaded the package. Using the command line, you would type:
rpm -ivh mozilla-0.9.8-10mdk.i586.rpm (your version of Mozilla might be different..)
Note that you only need to type in the complete file name when you are working with a package that is not yet installed, otherwise the basic package name (in this case "mozilla") is enough. And don't forget the tab key to auto-complete the long file names. If you prefer graphical tools, clicking on the RPM file in most file managers (Konqueror for example) will open the appropriate tool, or you can right click and use the "Open With" dialog box. It's then just a matter of clicking the `Install' button.

3.5 Updating Packages

Updating an existing program with a later version is done in almost exactly the same way as installing. From the command line:
rpm-Uvh mozilla-0.9.8-10mdk.i586.rpm (note the uppercase "U")
Or click the `Update' button from kpackage or similar tools.

3.6 Downgrading Packages

What if you upgrade, and then find that you preferred the older version? You can use the `"--oldpackage"' option from the command line like this:
rpm -Uvh --oldpackage mozilla-0.9.8-10mdk.i586.rpm.

3.7 Uninstalling Packages

To uninstall from the command line:
rpm -e mozilla(the complete package name isn't required)

Or start your graphical tool, either from the menu or a terminal. You'll see a list of all the installed packages. Click on the package you want to remove, then click the `Uninstall' button. Note that if there are other packages installed that require files from the one you are deleting, a warning will appear and the uninstall won't go ahead. You can override this by using
rpm -e --nodeps mozilla (command line),
or selecting "Ignore Dependencies" (GUI tool), but be aware that this will break the other programs.

3.8 Querying packages

Listing all installed packages is easy. From the command line type:
rpm -qa
If the list is too big to view you can pipe it through less like this:
rpm -qa | less
Graphical tools will usually show the list of installed packages on start up.

3.8.1 Listing all of the files installed by a package

This is done with the rpm -ql command. Using mozilla again as an example we would type:
rpm -ql mozilla
Under a GUI tool just select the package and then click on the " File List" (or equivalent) button. Listing all of the files supplied by a package not yet installed - is done with the rpm -qpl command. Requires the complete file name.
Eg. rpm -qpl mozilla-0.9.8-10mdk.i586.rpm.

3.8.2 Listing a description of an installed package

can be performed with the rpm -qi command. For example:
rpm -qi mozilla.
Using a GUI tool, just click on the desired package. To see a description and other information of an package not yet installed, use the rpm -qpi command. You'll need to use the complete file name for this one. For example:
rpm -qpi mozilla-0.9.8-10mdk.i586.rpm.
With a GUI, select the package, or just click on the file from within your file manager (eg. Konqueror)

3.8.3 To find the package to which a file belongs

To find the package to which a file belongs is done with the rpm -q --whatprovides command. Example:
rpm -q --whatprovides/usr/lib/mozilla/xpicleanup

3.8.4 To list all the packages a package depends on

Use rpm -qR like this:
rpm -qR -mozilla
(For a package not yet installed use rpm -qpR, with the full file name )

3.9 Resolving Dependency Problems

The most common problem encountered when installing software is an unsatisfied dependency. You might be already familiar with this problem if you've installed new software under Windows and then found it refuses to run, with a "missing ***DLL" error message.

GNU/Linux is subject to the same problems, except that RPM will advise you of the problem before the program is installed. Many problems can be avoided when you install Linux - selecting Gnome and KDE for installation will help, even if you don't intend to run them, as many other programs use the same libraries.

So what do you do when RPM complains that a package can't be installed, because of missing packages or files. Write down the missing package/file names, and check your installation CD-ROMs for packages with similar names to the ones required. You can use the rpm-qpl command to view the files supplied by a not-yet-installed package. Often it is just a matter of installing these packages to resolve the problem. Sometimes, though, it leads to even more dependencies, so it can be a rather lengthy process.

3.10 Using RPMFind and RPMBone

There is another extremely useful tool for finding files and packages, and that's the RPMFind website. Type the name of the needed file or package into the box on the main page and click on the search button; you'll then be presented with some relevant information and links to the package. Often you'll already have the package on your Linux CDROM - using the information from RPMFind you'll know which one to look for. RPMFind can provide a list of dependencies for a package; the file names in this list link back to their parent package. Usually, there is also a link to the package's home site. RPMBone is another site that's useful for finding and downloading RPM packages, and is somewhat similar to RPMFind. RPMBone has a more flexible search function; you can narrow down your search to only give results for a certain distribution or architecture for example. It also provides links to a huge number of ftp servers for downloading. If you need to find a package containing a particular file to satisfy a dependency, however, RPMFind should be your first stop.

3.11 Circular Dependencies

Occasionally, you might come across a circular dependency. This is when package A won't install because package B is missing, but when you try to install package B, RPM complains that package A is missing. What you do here is use the `--nodeps' option. For example:
rpm -ivh --nodeps mozilla-0.9.8-10mdk.i586.rpm.
If you are using a GUI tool, click on the "Ignore Dependencies" button.

3.12 Library Version Problems

Sometimes a package will refuse to install because it requires a library file version later than the one already installed. This is easily fixed by upgrading the package to which the file belongs. While library files are usually backwards compatible, occasionally a package will refuse to install because a certain version of a file is missing, even though a later version is present. While you could downgrade the library package, this might well break other programs. Try creating a symbolic link with the name of the older library file that points to the existing newer version. If for example the package you are trying to install insists on having, and you already have installed in /usr/lib, do this (as root): ln -s /usr/lib/ /usr/lib/

3.13 Automatic Dependency Resolution Tools

Automatic Dependency Resolution Tools are available with some distributions. Mandrake for example has `urpmi', RedHat has `up2date',while Ximian has RedCarpet. There are also tools like apt4rpm. These can automatically download and install required packages for you. See your distributions documentation or the relevant website for details.

3.14 Miscellaneous

3.14.1 RPM Version Incompatibilities

You probably won't have to worry about this unless your Linux installation is fairly old. Earlier Linux distributions were packaged with version 3.x of RPM, and are unable to handle the later 4.x series of packages. The exception to this seems to be version 3.05, you could update RPM to this version, or just replace your distribution with something newer. The RPM 4.x series is backwards compatible with the older series.

3.14.2 Midnight Commander

Occasionally you might want to copy files from an RPM package without actually installing it. You can do this with a file manager known as mc (for Midnight Commander). Despite being somewhat ugly, it is extremely capable. It is supplied (though not always installed by default) with most distributions, and can be started from a terminal window by typing mc. You can then navigate around the package as if it was a normal folder, and copy individual files from it.

3.14.3 Learning More

This article only covers the bare basics of RPM, if you'd like to learn more you could read the RPM manual page (type man rpm), or follow the links below:
RPM One Liners - A concise guide by Brian Jones, worth downloading and printing for reference.
The RPM HOWTO - The "official" HOWTO at the Linux Documentation Project.
Maximum RPM - An extremely thorough guide to just about anything that can be done with RPM. (All these resources were used in the writing of this article)

4. Playing and Recording Music

It's easy to enjoy music with Linux, whether you are playing an audio CD, an mp3 or OGG files you recorded yourself onto CDR or hard disk. You can download tracks, or copy them from your own audio cds. While there are plenty of tools for audio work under Linux in both command line and GUI form, I'll be mainly concentrating on the command line as these tools are available on nearly all Linux distributions. Familiarity with the command line tools will also make configuring GUI programs much easier. I'll assume you already have a sound card installed and working.

Breach of copyright is taken very seriously in most parts of the world - this article in no way encourages users to break the law.

4.1 The Basics

Since much of this story involves CDs, perhaps we should start with a brief look at both audio and data CDs.

Ordinary audio CDs like the ones you'd play in your home stereo differ from data CDs in that the music is recorded onto the disk as raw data, that is, there is no file system on the disk. That's why if you put an ordinary audio CD into your CD drive and try to read the contents in a file manager, you won't find anything. Your computer is looking for a file system where there is none. An audio CD doesn't need to be mounted to be read or burnt - unlike data disks.

Data CDs on the other hand use a file system to organize the way in which the data is written to and read from the disk, similar to the file system on a hard disk. Music files in formats such as .mp3, wav, or ogg are written onto data CDs using a file system just like any other CDROM. These CDs can be opened in a file manager or from the command line, and the music played using the appropriate program.

4.2 Playing Audio Cds

There are several GUI tools available for playing audio CDs. For example Gnome has gtcd, KDE has kscd, and xmms can also play CDs if you have the audio CD plugin enabled. These can be started from the Multimedia section of your menu. From the command line you could try the cdplay program, though it's not very intuitive. Read the manual page (man cdplay) to find out more. Or you can simply use the `play/skip/stop' buttons on your CD drive to play audio CDs.

4.3 Playing MP3 Files

The mp3 format is a hugely popular way of storing and sharing music. One reason for its popularity is its compact size compared to other formats or conventional audio CDs. A typical mp3 file is usually only about a tenth of the size of the same file in .wav or audio CD form. This means you can fit the equivalent of ten audio CDs on a single CD using the mp3 format. Other advantages include the reduction in space used when storing music on a hard disk, and the smaller file size also makes transferring files over a network much more practical. The disadvantage is that mp3 CDs can't be played on most normal CD players (although mp3 compatibility is starting to appear on some portable Walkman type players), so you can only play them on your computer. The most popular player for Linux is probably xmms, an excellent clone of the Windows Winamp player.

4.4 Using XMMS

Xmms (X MultiMedia System) is a widely used multi purpose sound file player that is included with most common distributions. It's mostly used for playing mp3 files, but it can do much more than that. It is also capable of playing wav files, ogg-vorbis files (an open source alternative to mp3), streaming audio etc. Starting xmms can be done from the menus (look under "Sound" or "Multimedia"), or from a command line just type xmms. The interface is much like that of a CD or tape player, with buttons and sliders to control starting, stopping, pausing. skip, repeat, volume, balance and so on. It also includes an equalizer function (the `eq' button) and allows you to set up play lists. To choose a track to play, hit the L key or press the eject ("^") button. This brings up a window allowing you navigate to the folder holding your music files. Once there, you can select a track or tracks to play, or you can choose to play every file in the folder. As well as the audio options, xmms also has visual options, and different skins can be selected to change the appearance of the player. It can even use Windows Winamp skins. Despite the multitude of options, xmms is exceptionally easy to use. If you want to explore its options and capabilities, click on the small O on the left hand side of the display.

4.5 Recording (or ripping) Tracks from Audio CDs

There are several tools for recording audio CDs to hard disk. You can record a single track, selected tracks or the entire CD at once. The music will be converted to a file format that can be read by your computer (usually .wav) as it is recorded. While there are both command line and graphical tools for the job, my favorite is the command line program cdparanoia. If you prefer GUI tools, you might like to check out grip. One of the things I particularly like about cdparanoia is the way it can correct jitters or skips on marked or scratched disks. Here are some examples of how to record tracks from an audio CD using cdparanoia:
To record a single track type:

cdparanoia n

`n` specifies the track number to record. By default the track will be recorded to a file named cdda.wav. If cdda.wav already exists it will be overwritten, so be careful if you are recording several tracks! You can specify your own file name like this:

cdparanoia n filename.wav
To record the entire CD type: cdparanoia -B

The -B in the above command simply ensures that the tracks are put into separate files (track1.wav, track2.wav etc.). Cdparanoia has many more options and an easy to understand manual page; type man cdparanoia to read it.

4.6 Converting .wav files to mp3

If you intend to burn files to an audio CD, you should leave them in .wav format. On the other hand, if you want to play them from your hard drive, or burn a data CD that you'll play from your computer, you'll probably want to convert them to the mp3 format to save space. One of the most popular tools for this is bladeenc. To convert a .wav file into a .mp3 use this command:

bladeenc filename.wav

This will produce a file with the same name as the source file, but with the .mp3 suffix. If you want to specify a destination filename you can add it to the end like this:

bladeenc filename.wav filename.mp3

By default, bladeenc will encode the file at 128kbit/sec, this is the most commonly used bitrate and results in a very compact file of reasonable quality. Higher rates can be specified, giving a better sound quality at the expense of a slightly bigger file size, though it's hard to detect any improvement in sound quality using sampling rates above 160kbits/sec. To convert a file at 160kbits/sec use:

bladeenc -160 filename.wav

4.7 The Ogg-Vorbis Format

Ogg -Vorbis is a completely free and open alternative to the mp3 format. The sound quality is at least as good as mp3, and ogg files can be played on players such as xmms. You'll need the vorbis-toolspackage (check your distributions installation CDs) to convert .wav files to .ogg. Converting is easy:

oggenc filename.wav

As with bladeenc, the sampling rate (and sound quality) can be specified. This is done by using the following command:

oggenc -q n filename.wav (where n is the quality level)

The default level is 3, but can be any number between 1 and 10. Level 5 seems to be roughly equivalent to an mp3 encoded at 160kbits/sec.

4.8 Converting .mp3 files into .wav format

Audio CDs are usually burned from a collection of .wav or .cdr files - you can't directly burn mp3s to an audio cd unless you convert them to one of these formats. The mpg123 program can do this for you and is often installed by default with many distributions. To convert an .mp3 to a .wav, type:

mpg123 -w filename.wav filename.mp3 (note - the destination filename comes first)

Note also that there is some slight loss of sound quality when a .wav file is converted to mp3 format, and this isn't regained when converting back to .wav - so if possible, you should try to use .wav files that have been ripped from an audio CD rather than converting back from mp3s.

4.9 To Normalize a group of .wav files

Creating an audio CD using tracks from different sources can lead to variations in volume amongst the tracks. By using a program named normalize, you can equalize the volume level of a group of files. You'd normally do this to a group of .wav files before burning them to CD. Normalize is a command line tool; to equalize the volume of all the .wav files in a folder type:

normalize -m /path/to/files/*.wav

4.10 Recording (or burning) an Audio CD

I'll assume that you have a CDR or CDRW drive installed and configured already - if you don't, see the links section at the end of this article for more information on set-up details. I'll also assume that you'll be using cdrecord to burn your disks - it's the most popular tool for this and is also what's used by most graphical front-ends like XCDRoast etc. Your files will need to be in .wav or .cdr format; most likely they will be .wavs. Put all the files you want to burn into a separate folder to simplify the burning process, and make sure that they will fit onto the disk (you can check by changing into the folder and running the du command). Now it's just a matter of typing this command:
cdrecord -v speed=4 dev=0,0,0 -audio -pad *.wav

Of course, your speed and device numbers might be different - you can use cdrecord -scanbus to find the device address, and the speed setting will depend on your CD burners' speed rating. In general, burning will be more reliable at slower speeds, especially on older machines.

4.11 Recording a Data CD (mp3 or ogg)

If you only plan to play a music CD on your computer or other mp3 capable device, you can burn mp3 or ogg files in exactly the same way as an ordinary data CD. Because data CDs use a file system, we'll use mkisofs (to create the file system) and cdrecord to burn the disk. As in the audio CD example above, put all the files into a separate folder. The two operations can be combined into a single command like this:

mkisofs -R /path/to/folder_to_record/ | cdrecord -v speed=4 dev=0,0,0 -

Don't forget the hyphen at the end! As in the example for burning audio CDs, you might have to use different speed and dev numbers. Older or slower computers might have difficulties running both mkisofs and cdrecord at once - if so you can do it as two separate operations like this:

mkisofs -R -o cdimage.raw /path/to/folder_to_record/

This creates an image named cdimage.raw. Then burn the disk:

cdrecord -v speed=4 dev=0,0,0 cdimage.raw (using suitable speed and device settings..)

4.12 Some detailed information on related topics:

The Linux MP3 HOWTO
The Linux MP3 CD Burning HOWTO
The SOX Homepage- The swiss army knife of Linux sound tools.
The Normalize Homepage
Installing and Setting Up a CDR/CDRW - *Note* Modern desktop distributions can usually detect and setup a CD burner without any manual configuration required. This page may be useful however for older/difficult distributions that require manualinstallation.
The OggVorbis Homepage
The Bladeenc Homepage
The CDRecord Homepage
The CDParanoia Homepage
The mpg123 Homepage

5. Linux in the Office

Office applications for Linux are now quite mature. Linux desktop productivity tools are in fact so capable and feature rich that corporations are beginning to look at alternatives to MS Office with its high TCO, and leaning towards office suites like OpenOffice and StarOffice. OpenOffice in fact is a part of discussion being held between multiple companies including Boeing Aeronautics, a major international technology contractor, to begin to define a standard for Office document formats. Allowing greater portability of documents between office suites; XML of course is being discussed as the most viable vehicle for the mission. But I digress, to sum it up, if someone wishes to do all of their word processing, spreadsheets, and so on on the Linux desktop they would find themselves very satisfied with today's applications.

5.1 Word Processing

User's choices for word processing on Linux are varied and diverse. To list several applications would probably only begin to scratch the surface of what is available. So in an effort to simplify things I will include a review of those applications with which I have experience and list a few more with which I do not. In addition all of the Word Processors I have used in the past are Microsoft Word compatible - meaning that they can both read and write MS Word documents. This will come in handy for all those who are afraid they will never be able to open a '.Doc' (Word Document) once they move over to Linux.

5.1.1 StarOffice Star Writer

StarOffice is an office suite written for Unix / Linux and developed by Sun Microsystems. Until recently StarOffice was a freely available download but recently with their newest version (I believe StarOffice 6.0) they have begun charging a license fee. I haven't used StarOffice 6.0 but I am familiar with the final release just before it. StarOffice is a functional Office suite with many additional features. When you first open StarOffice you are presented with a screen very similar in appearance to the MS Windows desktop complete with 'Start' bar. StarOffice provides the full suite of functionality including word processing, spreadsheets, email, and MS PowerPoint-like presentations. And again, any and all documents written in StarOffice can be saved in the equivalent MS Office format so you lose no compatibility with co-workers / family members / unconverted Windows- but-soon-to-be-Linux users. StarOffice, along with all the other applications I review here provides a very similar interface to MS Word. So there is little to any learning curve involved with using it. In fact the only real difference between the list of applications reviewed here and those in MS Office is how well the applications can read and write in the MS format. StarOffice does a very adequate job of processing MS Word documents. The only area where StarOffice runs into trouble is reading and writing MS Word documents that have tables embedded in them or those containing forms. However if it is merely straight text, such as a report there is typically no problem involved. But it is my unconfirmed suspicion that even this has changed now that you can pay for StarOffice. Again I have not checked this first hand but I believe the reason Sun now charges for StarOffice is because they paid Microsoft for the APIs that allow StarOffice to read and write MS Office documents. Up until now the formats have merely been reverse-engineered, kind of a best guess at how to interpret the symbols in a MS Word document. For more information, and to confirm / deny my crazy allegations check out StarOffice at

5.1.2 OpenOffice Writer

OpenOffice is a spinoff of Sun's StarOffice (as the name may suggest). And like StarOffice, OpenOffice also provides a suite of applications including word processing, spreadsheets, and MS PowerPoint-like presentations. OpenOffice also supports the reading and writing of MS Office documents. Recently I rewrote my resume (and being a Linux-only kinda guy I of course couldn't use MS Word) using OpenOffice. This consisted of multiple fonts and font sizes, the embedding of tables so as to properly position the many elements of my resume, and also included bullets. After completing my resume I proceeded to save it in both the native OpenOffice format as well as the MS Word 2000 format. Of course before shipping it out to employers I wanted to check to see how it would look in MS Word. So when I went to work the next day I proceeded to open it using (the very expensive) MS Word 2000. Much to my surprise, with the exception of some bullets the resume had made it through quite well. All the tables were properly in place, the fonts well represented in their multiple sizes, and the only thing wrong with the bullets was that instead of the `>' arrow I had originally had, it was replaced with a round bullet (I guess perhaps that MS Word didn't support the particular type of bullet I had specified.) So OpenOffice (if you absolutely refuse to pay for software) will do very well for your Office and Word Processing needs. More can be learned about OpenOffice (you can download a copy of OpenOffice from here too) at

5.1.3 AbiWord

The only complaint I can really make concerning AbiWord can be summed up in one word - tables. While AbiWord does support tables the interface and handling of tables has a long way to go. Otherwise AbiWord is much like StarOffice and OpenOffice. Reads and writes simple MS Word documents, very MS-like interface, etc. Another nice feature of AbiWord is its support of Gnome themes; a feature that neither OpenOffice or StarOffice provide.

5.2 Others Word Processors

5.2.1 Kword

Kword is part of the KOffice office suite for the KDE desktop. It has all the usual bells and whistles, frames, numbering, bullets, tables, paragraph alignment, etc. However from what I can see at on the webpage KOffice does not support reading and writing of MS Word documents. If you would like to learn more point your browser to

5.2.2 Corel WordPerfect

WordPerfect was once the dominant word processor for PCs, and the latest available version for Linux is WordPerfect2000. It is a fully featured application and is unusual in that it is not Linux native, but is essentially the Windows binaries running under a built-in version of Wine. For this reason, it may not be as stable or fast as some of the others. You can find out more about Corel WordPerfect 2000 at:

5.3 Spreadsheets

Spreadsheets are possibly the most widely used Office program, and as with word processors, Linux users have several quality offerings to choose from.

5.3.1 Gnumeric

Gnumeric is the GNOME projects spreadsheet, and it is a mature and stable program. Compatability with MS Excel files is quite good, and gnumeric is often installed by default with many distros, or at least is available on the installation CDs. A good choice for those who don't want to install a big, fullblown suite like Star/Open Office.

5.3.2 StarOffice/OpenOffice Calc

The Calc spreadsheet is another very competent office tool, with very good Excel compatability. Possibly the best choice for heavy duty spreadsheet users.

5.3.3 kspread

Koffices' spreadsheet, kspread, is a good looking, powerful app, however its Excel compatability is somewhat limited, so if this is important to you, perhaps one of the others would be a better choice. Otherwise an excellent spreadsheet.

5.4 Other Office Applications

The number and quality of office type apps. has grown rapidly in the last couple of years. Some of these are listed below, along with a brief description and links. Most people will probably find these will meet their needs, though some may find they are dependant on certain features of Microsoft Office apps. that just aren't available under Linux yet. For these users, a proprietary product known as Codeweavers Crossover Office allows MS Office (as well as some others) to be installed and run directly from Linux. I've only listed the more well known programs here, and some of these are probably already installed on your computer. If you need to install them, most of these packages can be found on your installation CDs, otherwise just follow the links. The KDE apps listed here are mainly included in the koffice package, while the GNOME programs are usually separate packages.

5.4.1 Address Books

GNOME has `gnomecard' (part of the gnome-pim package), KDE uses `kaddressbook'.

5.4.2 Fax Apps

There is `kfax' with KDE, gfax for GNOME. Programs like hylafax and mgetty+sendfax are also popular.

5.4.3 Email/PIM

Outlook users will probably be most interested in Ximians' Evolution, a fully featured email/PIM program.
There is also a proprietary add-on for Evolution named Connector, and this can enable Evolution to function as an MS Exchange client. As well as email, it has address book, calendar and task-scheduling/alarm features.

5.4.4 Drawing/Graphics

Dia is a structured diagrams program similar to Visio, while Sketch is a vector drawing package.
KDE has Kontour (another vector drawing tool), Kivio for flowcharts, and KChart kchart for drawing charts/graphs.

5.4.5 Financial

Gnucash is a popular personal finance manager, though there are several others. And if you just can't survive without Quicken, you'll be pleased to know it will run under Linux using Codeweavers Crossover Office.

5.4.6 Database

postgreSQL is included with distros such as Mandrake and RedHat, also there is MySQL, a somewhat simpler database.
As well, there are databases such as Interbase, and Firebird a free, open source version of Interbase.
The big names like Oracle and IBM (DB2 for Linux) support Linux too.

5.4.7 Presentation Apps.

The major office suites (StarOffice, OpenOffice, Applix, KOffice) all have functional presentation programs. The StarOffice and OpenOffice versions can handle MS PowerPoint format files.

5.4.8 Organizers

If you are looking for something a little lighter than Evolution, KDE has `korganizer', and GNOME uses `gnomecal' (part of the gnome-pim package).

5.4.9 Calculators

RedHat distribution installs three calculators by default. Xcalc,GNOME Calculator,KCalc.

Xcalc is a scientific calculator desktop accessory that can emulate a TI-30 or an HP-10C. Xcalc can be started from a terminal emulator or from the Run dialog box by typing xcalc. It takes the following command line argument (among others)

This option indicates that Reverse Polish Notation should be used. In this mode the calculator will look and behave like an HP-10C. Without this flag, it will emulate a TI-30.
GNOME Calculator is a double precision calculator application. GNOME Calculator is included in the gnome-utils package, which is part of the GNOME desktop environment. It is intended as a GNOME replacement for xcalc. To run GNOME Calculator, select gcalc from the Utilities submenu of the Main Menu in GNOME, or type gcalc on the command line in a terminal emulator or Run Program dialog box.

KCalc can be started by typing kcalc on the command prompt or in the Run Program Dialog box.

5.4.10 PDF Files Viewer

PDF (Adobe's Portable Document Format) is a format for transfering documents with formatting (including fonts, sizes, etc) with a few more extra features (such as URLs). It is a quite common format for publishing documents - it is generally quite difficult to edit such a document, but relativly easy to show it, as it already contains an exact definition of the document (somewhat similar to postscript). There are a number of viewers for PDF documents under GNU/Linux. XPdf

`xpdf' supports most of PDFs features, including LZW-compressed images URLs and encryption. It can be started from command prompt by typing xpdf. xpdf's home is at . It also comes with a number of distros, including RedHat, Mandrake and SuSE. Adobe Acrobat Reader

This is not free software (although it can be used free of charge for non-commercial use). Free software gives you permission to use, copy, study and improve the software. You can learn more about Free Software here.

You can get Adobe Acrobat Reader from:

5.5 Links

It's impossible to cover all the available office type programs in just a few paragraphs; if you need to know more try the links below:

The Linux-Office Site is a very useful resource for Linux office apps.
The KOffice website
The Gnome-Office website
Codeweavers Crossover Office can run Windows apps like MS Office, Lotus Notes and others under Linux.

6. Gaming With Linux

Okay, you've got your word processor and spreadsheet set up under Linux, plus a web browser, an email client and a million other boring programs. But what about the important stuff? Where are the games? Most people probably wouldn't think of Linux as being a gamer's platform, and it's true that the real hard-core gamer might need to stick with a dual boot system for the time being at least. But for the rest of us, Linux can offer a great environment for playing games. There are plenty of good ones on offer, and accelerated 3D is no longer a pain to set up for many common cards. And now that lots of Windows games are playable using emulators like WineX, we've never had so much choice.

6.1 Where to Get Them

Most distros come with a variety of games, and you probably have some already installed. Look in your GNOME or KDE menus under "Games" or "Amusements". If you don't have any installed, check your installation CDs for packages named "kdegames" and "gnome-games". These packages include a wide variety of games ranging from Arcade style games (Tetris and Jezzball clones, Snakerace etc.), board games (Chess, Mahjongg, Reversi and so on), to card games, plus games to test your strategic skills and much more. As well as the ones in the KDE and GNOME packages, some distros include others like Maelstrom, Bzflag (a popular tank game), FrozenBubble (one of my favourites), and even 3D games such as Tuxracer and Chromium. Browse the package directory of your distro CDs to see what's available. There are also lots of games freely available from the internet, plus some commercially produced/ported titles for sale.

6.2 Commercial Games

A few companies make or have made games available to Linux users. Perhaps the best known of these was Loki, who are sadly no longer in business. Loki ported quite a few popular titles to linux, (QuakeIII Arena, HeavyGearII, Descent III etc), and you might even find some of them still available for sale. Probably the best way to find out what's available is to check out online stores like TuxGames.

6.3 Hardware and Software Requirements

Broadly speaking, games can be split into two groups; those that require accelerated 3D support, and those that don't. The first group would include 3D games such as QuakeIII, UnrealTournament, Tuxracer and so on, while the second group includes the 2D style of games such as those found in the GNOME and KDE game packages (and of course the old style text games would be in this group too). Games in the 2D group don't need anything special to run them; if you can run GNOME or KDE you'll have no problems. The 3D games however are much more fussy about what they'll run on; as well as having enough RAM and CPU power, you'll also need a Linux-supported 3D graphics card (or on-board chip). Individual game requirements vary