|
|
1. Chatting / Instant Messaging with Linux1.1 History of chattingMany 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 talkIt 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
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.
If you want not to receive any chat invitition or any chatting then
you have to give the command.
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 ChatAfter 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 IRCIRC 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, 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 another nickname. IRC newbies should check out the IRC Primer before using IRC for the first time. 1.3.2 Software for IRCThere 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 http://www.xchat.org. You will generally find it in RPM format so installation will not be difficult.1.3.3 Configuring XchatAfter 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 irc.openprojects.net and in the room linux (you have to give a number sign ie. # before joining ie. /join #linux). 1.4 Instant Messaging1.4.1 ICQThere 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 AIMKit 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 Clients1.5.1 EverybuddyDo 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 GAIMGAIM 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. Printing2.1 Which Printer to UseFirst 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 linuxprinting.org. I have used RH 7.3 and a HP 810c Printer here as an example. 2.2 Connecting the Printer to the ComputerAfter 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 PrinterA 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 ProgramNow to install printer do the following:
3. Installing and Managing Software with RPM3.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 RPMYou 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 PackagesIn 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 PackagesUpdating 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 PackagesWhat 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 PackagesTo 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
3.8 Querying packagesListing 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 packageThis 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 packagecan 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 belongsTo 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 onUse 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 ProblemsThe 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 RPMBoneThere 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 DependenciesOccasionally, 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 ProblemsSometimes 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 in /usr/lib, do this (as root): ln -s /usr/lib/foo.so.3 /usr/lib/foo.so.43.13 Automatic Dependency Resolution ToolsAutomatic 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 Miscellaneous3.14.1 RPM Version IncompatibilitiesYou 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 CommanderOccasionally 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 MoreThis 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 MusicIt'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.*Warning*
4.1 The BasicsSince 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 CdsThere 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 FilesThe 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 XMMSXmms (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 CDsThere 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
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 mp3If 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 FormatOgg -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 formatAudio 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 filesCreating 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 CDI'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 HOWTOThe 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 OfficeOffice 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 ProcessingUser'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 WriterStarOffice 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 WriterOpenOffice 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 http://www.openoffice.org.5.1.3 AbiWordThe 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 Processors5.2.1 KwordKword 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 tohttp://www.koffice.org 5.2.2 Corel WordPerfectWordPerfect 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:http://linux.corel.com/products/wpo2000_linux/index.htm 5.3 SpreadsheetsSpreadsheets 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 GnumericGnumeric 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 CalcThe 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 kspreadKoffices' 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 ApplicationsThe 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 BooksGNOME has `gnomecard' (part of the gnome-pim package), KDE uses `kaddressbook'.5.4.2 Fax AppsThere is `kfax' with KDE, gfax for GNOME. Programs like hylafax and mgetty+sendfax are also popular.5.4.3 Email/PIMOutlook 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/GraphicsDia 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 FinancialGnucash 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 DatabasepostgreSQL 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 OrganizersIf 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 CalculatorsRedHat 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)
KCalc can be started by typing kcalc on the command prompt or in the Run Program Dialog box. 5.4.10 PDF Files ViewerPDF (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.5.4.10.1 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 http://www.foolabs.com/xpdf/ . It also comes with a number of distros, including RedHat, Mandrake and SuSE.5.4.10.2 Adobe Acrobat ReaderThis 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: http://www.adobe.com/products/acrobat/readstep2.html 5.5 LinksIt'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.
6. Gaming With LinuxOkay, 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 ThemMost 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 GamesA 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 RequirementsBroadly 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 widely, but as rough guide, the recommended minimum for QuakeIII is a 233Mhz CPU with an 8meg graphics card and 64 meg. of RAM. Keep in mind that this is the bare minimum required just to run the game; you'd probably need to double those figures to get reasonable performance.Setting up 3D graphics with Linux used to be a bit tricky, but now many modern distros will set up the appropriate drivers during installation, giving accelerated 3D out of the box. When you are setting up your machine, keep in mind that it isn't the brand of graphics card you have that is important, but rather the brand of chipset it uses. In other words, you would use ATI drivers for a card with an ATI chipset, regardless of its brand. Currently, most Linux gamers seem to prefer nVidia based cards, and with good reason. NVidia write their own (closed source) drivers for Linux; these are easy to install and set up and their performance is generally on a par with their Windows counterparts. ATI based cards are also popular, and ATI have recently released unified drivers for Linux users with their higher end cards. Check out this site to see what cards are supported. As well as suitable hardware, you'll also want to use a recent version (>4.0) of XFree86. Later versions have much better 3D support, so if you are having problems an XFree86 upgrade should be one of your first steps. 6.4 Setting up NVidia Based Graphics CardsAs I mentioned earlier, nVidia based cards have become a favourite amongst Linux gamers. While these cards will usually work perfectly out of the box for normal 2D work, you'll probably have to install nVidia's drivers to get accelerated 3D. Some recent distros will install these for you during installation of Linux; even so, you might want to read on so you can update to the current drivers. These drivers are "unified", ie. the same drivers are used for all versions of nVidia based cards. Before you start, you should check that you are running a reasonably recent version of XFree86. There are two drivers that will need to be installed, the NVIDIA_kernel package and the NVIDIA_GLX package. The kernel package is available in several versions to suit most common distros; if there isn't one to suit your distro you can also get tarballs. And if you aren't sure which package to get there is a script you can download from nVidia that will advise you of the best package to use.Once you've downloaded the packages, you should exit X (not strictly
necessary, but it makes recovery easier if things go wrong..) and install
the kernel package and then the GLX package. If you are upgrading rather
than installing, nVidia recommend removing the old GLX package first instead
of upgrading over it. Now all you need to do is edit a couple of lines
in your XF86 configuration file (usually this will be /etc/X11/XF86Config-4).
Assuming you already have an XF86Config file working with a different driver
(such as the 'nv' or 'vesa' driver that is installed by default), then
all you need to do is find the relevant Device section and replace the
line:
6.5 Playing Windows Games With LinuxSome well known games produced for windows have Linux binaries available (Return To Castle Wolfenstein etc). The Linux binaries allow you to install the data files from your Windows game CD, and then run the game directly from Linux. Some games include the Linux binaries on the CD (rare, but hopefully this will become commonplace), or you may have to download them.Another way to run Windows games is to use an emulator like Wine, or WineX. The list of programs that will run well under Wine is growing steadily, though for gaming you'll probably be more interested in WineX by Transgaming. WineX is a commercial offshoot of the Wine project, and while Wine aims to enable Windows programs in general to be run under Linux, WineX focusses exclusively on games. Many Windows games install and play perfectly with WineX, including Max Payne, Warcraft III, Diablo II, The Sims etc. There is a list of games at the TransGaming website, however I have found that there are some games not listed that will still play under WineX. Try searching Google for name of game + winex for help on unlisted games. You can download the WineX source from the CVS tree for free, but compiling and configuring can be confusing for a newbie. Much better is the precompiled packages that are available to subscribers. Subscriptions cost US$5 per month, with a 3 month minimum. There are some other benefits to subscribers, though I think the binaries alone are worth the price. 6.6 LinksObviously this has been no more than a very brief overview of Linux gaming; see the sites listed below for more info.The
Linux Gamers HOWTO - I can't recommend this one highly enough; if you
are serious about gaming with Linux, read this doc!
7. The Post-Install Tune-upMany Linux distributions install lots of stuff that many people never use. Often there are services or daemons set to run that aren't needed, and system configuration settings are conservative so as to run on the widest range of hardware. All these things can detract from your Linux desktops performance, and that's what this article is about; getting more performance from your box by performing a post-install tune-up. Here's what we'll be doing:
However, by doing some or all of them you should end up with a system that boots more quickly, has more disk space and slightly more free memory, and a small but noticeable improvement in performance. The one thing you can do that will have a profound effect on performance is run lightweight, efficient software, so you should make that your first priority when building a fast Linux desktop. 7.1 DisclaimerI don't guarantee the accuracy of anything that follows, so use this information at your own risk. In other words, if by following this guide you trash your computer, don't blame me.7.2 Before You StartI'll assume you'll be running a SysV type system, as this is the most common and what you'll have if you are running a Red Hat-type distribution. SysV simply refers to the way services etc are started at boot time. If you are running some other system, you can still clean up the boot process; check your distribution's documentation for details. It's a good idea to browse through any documentation that came with your distribution anyway. This might be in the form of HTML files or a printed manual, and with many modern distributions is very comprehensive. The documentation should be able to provide you with details of any variations to the boot process used by your particular distribution, though I think the common distributions are pretty much all the same in this regard. If this is a fresh installation, you should make sure all your hardware is properly configured first. Linux has really come a long way as far as hardware recognition goes, and chances are you won't have to do anything, though things like sound cards sometimes have to be setup manually. Once you are sure everything is going to work, you can continue with the tuning .... 7.3 The Boot-UpWe probably should start with a brief description of what actually happens when you boot your Linux box. You can skip this bit if you want to, but I think an understanding of what goes on at boot-up can often be helpful, so stick around ....After the kernel is kicked into life by GRUB or LILO or whatever, the following steps occur (with possible minor variations):
7.4 How To Make The ChangesI usually just fire up a file manager and make a new folder in /etc/rc.d called JunkFromRc5 or something similar. Then I just drag the unneeded scripts from /etc/rc.d/rc5.d/ into the new folder (obviously my default runlevel is 5, you might need to use something different..). Alternatively, you can use a graphical tool like tksysv, or perhaps your distribution has it's own tool. You might also want to edit `/etc/rc.d/rc/local'. Apart from user's entries, this often has a few lines that overwrite `/etc/issue' with some system specs (and/or that hideous penguin), and the contents of the `/etc/issue' file are displayed just before the login screen. Many people prefer to delete this bit and insert a line to display a fortune here instead, eg. /usr/games/fortune > /etc/issue. As usual, if you aren't sure what you are doing, make a backup copy of the file first.7.5 Re-Claiming Hard Disk SpaceThis bit is easy, if a little time consuming. I usually start by getting rid of unneeded software packages. Fire up your favorite package management tool (like kpackage) and spend some time browsing through the list of installed programs. Tools like kpackage are ideal for this kind of work as they can easily show you the size of each package, a summary (so you know what the package is for), and any related dependencies.Do you really need six editors, four file managers, five shells, three ftp clients etc.? Don't be surprised to get rid of a hundred megs or more of stuff. Packages like the Tex related ones, Emacs/Xemacs, and various emulators are never used by many, yet they occupy lots of space. If you are doubtful about removing some packages, keep some notes so you can re install them later if you have to. Many distributions also install lots of documentation (check out /usr/doc or /usr/share/doc ). You'll probably find that there are only a few files in there worth keeping, and remember most of this stuff is available on the Web anyway. The du tool is invaluable for finding disk hogs. Also look for core files left over from crashes; these are only really useful to debuggers and can be deleted. 7.6 Hard Disk TuningI've seen a few articles claiming huge performance gains from using hdparm, a command line tool for setting (IDE) hard disk parameters. The claimed gains are sometimes in the order of several hundred percent. While I'm not doubting these figures, I have to wonder whether they just indicate that the disk was horribly mis-configured to start with. I've tried using hdparm on a few disks, and have found modest gains in performance. Keep in mind that disk performance is only one factor in overall system performance, and even a fairly big jump in disk performance might not make a perceptible difference to the overall speed of your system. If a disk was noticeably slow, I would certainly give hdparm a try, but otherwise I wouldn't worry about it too much. Some common distributions already set some of the optimizing parameters at boot time anyway, so as I said before, unless you think there is a problem, you could probably just leave well enough alone. If you do decide to give it a go, make sure you read (and understand) the man page (at a terminal emulator type man hdparm), and be aware that with some of the adjustments there is a small but real risk that things can go spectacularly wrong, ie. corruption of the file system. If you'd like to give hdparm a try, here's the basic usage:hdparm [-flag] device Running hdparm without any flags (or with the -v flag) will display the current settings. To see the current settings for my first hard disk (/dev/hda) for example, I would use: hdparm /dev/hda. To do a basic check of the speed of the first hard disk I would use: hdparm -Tt /dev/hda. Some more commonly used flags:
I guess the logical way to use hdparm would be to find out what your disk supports, then set hdparm accordingly. More commonly though, trial and error is used, changing one setting at a time and measuring the performance after each change. Don't use settings recommended by someone else ; while they may have worked perfectly on that persons disk, your disk might be completely different and the results may not be good. There are several tools available for testing disk performance, one of the better known ones is bonnie. And remember the changes will be lost when you re-boot, so if you want to make them permanent, you'll have to add them to a boot script like `/etc/rc.d/rc.local'. 7.7 FilesystemLinux updates a last access time attribute every time you open a file. If you are after all the speed you can get, and you are sure you don't need this feature, you can add noatime to the mount options listed in `/etc/fstab'. For example:In the `/etc/fstab' file add the line /dev/hda5/ ext2 defaults,noatime 11 if you do not wish to update last access time on the files in /dev/hda5partition. 7.7.1 Alternative FilesystemsYou might have tried (or read about) alternatives to the traditional ext2 file system, and at present the most common seem to be ReiserFS and Ext3. These have some advantages over ext2, including quicker performance, so if you are about to start a new Linux installation you should certainly consider using the Reiser file system. However, as with hdparm, unless you are doing something unusually disk intensive, the gains are likely to be minor, and if your current system is doing the job I'd stick with it.7.8 Kernel RecompilationThis is another one of those things that is often recommended in the Linux tune-up guides. While it may have been important years ago, it is probably of questionable value now that modular kernels are the norm. So unless you need to compile in some special feature, or you are using a pre-historic non-modular kernel (in which case you could probably benefit from updating your Linux installation), I wouldn't bother. Most recent distributions come with a variety of optimized kernels, and automatically install the one that best suits your system. Of course, you might want to recompile just for its sheer geek entertainment value, and I guess that's as good a reason as any.... I won't go into the details of kernel compilation here, check your distribution's documentation or the Kernel HOWTO for details.7.9 Miscellaneous TipsThis article has only covered the very basic stuff - if you are interested in reading some much more detailed info about configuring Linux read the Configuration HOWTO.If you are serious about tuning your Linux box, you'll need some benchmarking tools. To get started, take a look at this site: The Linux Benchmarking Project. Obviously you'll be aiming to conserve memory as much as possible. Use the free command from a terminal emulator to see memory usage details. Ideally, you'll be able to balance usage against available memory so that swap isn't used. You can save some memory by using a plain background on your desktop, rather than an image file. Other useful tools are ps -aux (shows details of running processes), and top (similar to ps but continually updates). Help reduce the time it takes X to update the screen on low-end machines by not using a greater colour depth than necessary, eg. use 16bit instead of 32 bit. You can check X's performance with x11bench, which is often installed by default. 8. End NoteThese are only a few of the chapters that we have covered in our HOWTO "Doing Things In GNU/Linux". You can get the complete HOWTO from here, or here. If you find any mistakes, please mail mail your suggestions to lunatech3007 at yahoo dot com . This HOWTO needs active participation from the readers and I welcome suggestions, praises and curses. Feel free to ask for help on a topic - just check that your question isn't answered here first . If you don't understand the any topic please tell us, so we can explain it better. General philosophy is: if you need to ask for help, then something needs to be fixed so you (and others) don't need to ask for help.
Raj Shekhar
Anirban Biswas
Jason P Barto
John Murray
Published in Issue 88 of Linux Gazette, March 2003 |
I have completed my Bachelor in Information Technology from University
of Delhi. I have been a Linux fan since the time I read "Unix Network
Programming" by Richard Stevens and started programming in GNU/Linux in my seventh
semaster . I have been trying to convert people right, left and center ever
since.