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
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.
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 www.anyhost.com then it will be
[anirban@anirban anirban]$ talk firstname.lastname@example.org
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
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
it is dedicated; for example,
irc.openprojects.net 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
IRC newbies should check out the
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
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
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 irc.openprojects.net and in
the room linux (you have to give a number sign ie. # before joining ie.
1.4 Instant Messaging
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.
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.
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
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
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
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
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:
If you have trouble setting up the printer, you can use
Linux Printing HOWTO for help in troubleshooting.
In KDE click the `kontrol panel' on the desktop and then click
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).
Next you have to specify the kind of printer that you want to add, that
`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'.
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'.
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.
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.
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').
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.
You can test if the installation of printer was successful by selecting
in the main menu.
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
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'
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
rpm-Uvh mozilla-0.9.8-10mdk.i586.rpm (note the uppercase
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
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
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.
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.
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
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 foo.so.3, and you already have foo.so.4 installed
/usr/lib, do this (as root): ln -s /usr/lib/foo.so.3 /usr/lib/foo.so.4
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
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.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
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:
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
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:
`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:
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:
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
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
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
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
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:
Linux MP3 HOWTO
Linux MP3 CD Burning HOWTO
The SOX Homepage- The swiss
army knife of Linux sound tools.
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 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 http://www.staroffice.com.
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
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 http://www.openoffice.org.
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
5.2 Others Word Processors
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:
Spreadsheets are possibly the most widely used Office
program, and as with word processors, Linux users have several quality
offerings to choose from.
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.
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
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
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.
Outlook users will probably be most interested in
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.
is a structured diagrams program similar to Visio, while
is a vector drawing package.
vector drawing tool), Kivio
for flowcharts, and KChart
kchart for drawing charts/graphs.
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.
is included with distros such as Mandrake and RedHat, also there is
a somewhat simpler database.
As well, there are databases such as
a free, open source version of Interbase.
The big names like
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.
If you are looking for something a little lighter
than Evolution, KDE has
`korganizer', and GNOME uses `gnomecal'
(part of the gnome-pim package).
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)
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.
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.
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' 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
184.108.40.206 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
You can get Adobe Acrobat Reader from:
It's impossible to cover all the available office
type programs in just a few paragraphs; if you need to know more try the
The Linux-Office Site is
a very useful resource for Linux office apps.
The KOffice website
Office can run Windows apps like MS Office, Lotus Notes and others
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
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