2214 lines
94 KiB
HTML
2214 lines
94 KiB
HTML
<!--startcut ==============================================-->
|
|
<!-- *** BEGIN HTML header *** -->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML><HEAD>
|
|
<title>Doing Things in GNU/Linux LG #88</title>
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
|
|
ALINK="#FF0000">
|
|
<!-- *** END HTML header *** -->
|
|
|
|
<!-- *** BEGIN navbar *** -->
|
|
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="puryear.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue88/shekhar.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../lg_faq.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
|
|
<!-- *** END navbar *** -->
|
|
|
|
<!--endcut ============================================================-->
|
|
|
|
<TABLE BORDER><TR><TD WIDTH="200">
|
|
<A HREF="http://www.linuxgazette.com/">
|
|
<IMG ALT="LINUX GAZETTE" SRC="../gx/2002/lglogo_200x41.png"
|
|
WIDTH="200" HEIGHT="41" border="0"></A>
|
|
<BR CLEAR="all">
|
|
<SMALL>...<I>making Linux just a little more fun!</I></SMALL>
|
|
</TD><TD WIDTH="380">
|
|
|
|
|
|
<CENTER>
|
|
<BIG><BIG><STRONG><FONT COLOR="maroon">Doing Things in GNU/Linux</FONT></STRONG></BIG></BIG>
|
|
<BR>
|
|
<STRONG>By <A HREF="../authors/shekhar.html">Raj Shekhar</A>, <A HREF="../authors/biswas.html">Anirban Biswas</A>, <A HREF="../authors/barto.html">Jason P Barto</A> and <A HREF="../authors/murray.html">John Murray</A></STRONG>
|
|
</CENTER>
|
|
|
|
</TD></TR>
|
|
</TABLE>
|
|
<P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<blockquote>
|
|
<table BORDER=0 CELLSPACING=0 >
|
|
<tr>
|
|
<td ALIGN=LEFT VALIGN=TOP><a href="#SEC1">1. Chatting / Instant
|
|
Messaging with Linux</a></td>
|
|
|
|
<td> </td>
|
|
|
|
<td ALIGN=LEFT VALIGN=TOP></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td ALIGN=LEFT VALIGN=TOP><a href="#SEC15">2. Printing</a></td>
|
|
|
|
<td> </td>
|
|
|
|
<td ALIGN=LEFT VALIGN=TOP></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td ALIGN=LEFT VALIGN=TOP><a href="#SEC20">3. Installing and Managing
|
|
Software with RPM</a></td>
|
|
|
|
<td> </td>
|
|
|
|
<td ALIGN=LEFT VALIGN=TOP></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td ALIGN=LEFT VALIGN=TOP><a href="#SEC42">4. Playing and Recording
|
|
Music</a></td>
|
|
|
|
<td> </td>
|
|
|
|
<td ALIGN=LEFT VALIGN=TOP></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td ALIGN=LEFT VALIGN=TOP><a href="#SEC55">5. Linux in the Office</a></td>
|
|
|
|
<td> </td>
|
|
|
|
<td ALIGN=LEFT VALIGN=TOP></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td ALIGN=LEFT VALIGN=TOP><a href="#SEC81">6. Gaming With Linux</a></td>
|
|
|
|
<td> </td>
|
|
|
|
<td ALIGN=LEFT VALIGN=TOP></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td ALIGN=LEFT VALIGN=TOP><a href="#SEC88">7. The Post-Install
|
|
Tune-up</a></td>
|
|
|
|
<td> </td>
|
|
|
|
<td ALIGN=LEFT VALIGN=TOP></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td ALIGN=LEFT VALIGN=TOP><a href="#SEC99">8. End Note</a></td>
|
|
|
|
<td> </td>
|
|
|
|
<td ALIGN=LEFT VALIGN=TOP></td>
|
|
</tr>
|
|
</table>
|
|
</blockquote>
|
|
<a NAME="SEC1"></a>
|
|
<h1>
|
|
1. Chatting / Instant Messaging with Linux</h1>
|
|
<!--docid::SEC1::-->
|
|
<p>
|
|
<a NAME="SEC2"></a>
|
|
<h2>
|
|
1.1 History of chatting</h2>
|
|
<!--docid::SEC2::-->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).
|
|
<p><tt>talk</tt> 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
|
|
<a href="http://www.gnu.org/fsf/fsf.html">Free
|
|
Software</a> is trying to do. <tt>talk</tt> is still available with UNIX
|
|
& GNU/Linux .
|
|
<p>From <tt>talk</tt>, 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.
|
|
<p>I shall try to touch on each of the chat systems here.
|
|
<p>
|
|
<a NAME="SEC3"></a>
|
|
<h2>
|
|
1.2 talk</h2>
|
|
<!--docid::SEC3::-->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.
|
|
<p>To chat with your friend then all you have to do the following
|
|
<br><tt>[anirban@anirban anirban]$ talk <username>@host <tty></tt>
|
|
<br>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
|
|
<br><tt>[anirban@anirban anirban]$ talk raj@www.anyhost.com</tt>
|
|
<p>You may be wondering what <tt>tty</tt> 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.
|
|
<p>You can do the above with <tt>write</tt> too.
|
|
<br><tt>[anirban@anirban anirban]$ write <username@host> <tty></tt>
|
|
<p>If you want not to receive any chat invitition or any chatting then
|
|
you have to give the command.
|
|
<br><tt>[anirban@anirban anirban]$ mesg n</tt>
|
|
<br>to remove the blocking you have to do
|
|
<br><tt>[anirban@anirban anirban]$ mesg y</tt>
|
|
<p>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.
|
|
<p>
|
|
<a NAME="SEC4"></a>
|
|
<h2>
|
|
1.3 IRC or Internet Relay Chat</h2>
|
|
<!--docid::SEC4::-->After <tt>talk</tt> came <i>IRC</i> 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.)
|
|
<p>
|
|
<a NAME="SEC5"></a>
|
|
<h3>
|
|
1.3.1 Basic concept of IRC</h3>
|
|
<!--docid::SEC5::-->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.
|
|
<p>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.
|
|
<p>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.
|
|
<p>IRC newbies should check out the
|
|
<a href="http://www.irchelp.org/irchelp/ircprimer.html">IRC Primer</a>
|
|
before using IRC for the first time.
|
|
<p>
|
|
<a NAME="SEC6"></a>
|
|
<h3>
|
|
1.3.2 Software for IRC</h3>
|
|
<!--docid::SEC6::-->There are many IRC chat applications available but
|
|
I think <tt>Xchat</tt> 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
|
|
<a href="http://www.xchat.org">http://www.xchat.org</a>.
|
|
You will generally find it in RPM format so installation will not be difficult.
|
|
<p>
|
|
<a NAME="SEC7"></a>
|
|
<h3>
|
|
1.3.3 Configuring Xchat</h3>
|
|
<!--docid::SEC7::-->After installation type <tt>xchat</tt> in a terminal
|
|
or click the xchat icon (you will find it in <tt>`Main Menu > Internet
|
|
> Chat'</tt>).
|
|
<p>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).
|
|
<p>Now choose a host from the list of hosts and double click it or click
|
|
on <tt>`Connect'</tt> 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).
|
|
<p>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 <tt>/</tt> (ie. slash). To get the list of
|
|
rooms (or channels) in the host type <tt>/list</tt> . You will see all
|
|
the rooms, choose the one which suits you and then type <tt>/join #<roomname></tt>
|
|
and then click <tt>`Enter'</tt>. Please note that you have to always give
|
|
the number sign (<tt>#</tt>) before any room name.
|
|
<p>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.
|
|
<p>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.
|
|
<tt>/join #linux</tt>).
|
|
<p>
|
|
<a NAME="SEC8"></a>
|
|
<h2>
|
|
1.4 Instant Messaging</h2>
|
|
<!--docid::SEC8::-->
|
|
<a NAME="SEC9"></a>
|
|
<h3>
|
|
1.4.1 ICQ</h3>
|
|
<!--docid::SEC9::-->There are several <a href="http://www.icq.com/">ICQ</a>
|
|
chat clients in GNU/Linux, and <i>Licq</i> 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 <tt>`Main Menu > Internet/Networking > Instant
|
|
messenger'</tt>) or just type <tt>licq</tt> 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.
|
|
<p>
|
|
<a NAME="SEC10"></a>
|
|
<h3>
|
|
1.4.2 Yahoo!</h3>
|
|
<!--docid::SEC10::-->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 <a href="http://www.yahoo.com">yahoo</a>.
|
|
<p>Since it is similar to the windows version you will find <tt>`Add Friends,
|
|
Your Status, Ban'</tt> 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.
|
|
<p>
|
|
<a NAME="SEC11"></a>
|
|
<h3>
|
|
1.4.3 AIM</h3>
|
|
<!--docid::SEC11::--><a href="http://kitclient.sourceforge.net">Kit</a>
|
|
is the AIM client for Linux (KDE). You will find it in the main menu under
|
|
network / internet or just type <tt>`kit'</tt> 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.
|
|
<p>
|
|
<a NAME="SEC12"></a>
|
|
<h2>
|
|
1.5 All-In-One IM Clients</h2>
|
|
<!--docid::SEC12::-->
|
|
<a NAME="SEC13"></a>
|
|
<h3>
|
|
1.5.1 Everybuddy</h3>
|
|
<!--docid::SEC13::-->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 <a href="http://freshmeat.net/projects/everybuddy/">Everybuddy
|
|
homepage</a>.
|
|
<p>
|
|
<a NAME="SEC14"></a>
|
|
<h3>
|
|
1.5.2 GAIM</h3>
|
|
<!--docid::SEC14::-->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
|
|
<a href="http://sourceforge.net/projects/gaim/">GAIM
|
|
website</a>.
|
|
<p><a NAME="Printing"></a>
|
|
<a NAME="SEC15"></a>
|
|
<h1>
|
|
2. Printing</h1>
|
|
<!--docid::SEC15::-->
|
|
<a NAME="SEC16"></a>
|
|
<h2>
|
|
2.1 Which Printer to Use</h2>
|
|
<!--docid::SEC16::-->First check to see if your printer is supported by
|
|
Linux. Most Epson, HP, and Canon printers will be supported, though there
|
|
are some cheap printers which have less hardware hence need special software
|
|
to simulate the hardware. This special software isn't generally available
|
|
for Linux, so you cannot use these printers. But I would not recommend
|
|
you buy these types of printer anyway since their performance is less than
|
|
normal printers.
|
|
<p>You can find the list of printers that are supported by GNU/linux at
|
|
<a href="http://www.linuxprinting.org/database.html">linuxprinting.org</a>.
|
|
I have used RH 7.3 and a HP 810c Printer here as an example.
|
|
<p>
|
|
<a NAME="SEC17"></a>
|
|
<h2>
|
|
2.2 Connecting the Printer to the Computer</h2>
|
|
<!--docid::SEC17::-->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.
|
|
<p>
|
|
<a NAME="SEC18"></a>
|
|
<h2>
|
|
2.3 Installing the Printer</h2>
|
|
<!--docid::SEC18::-->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.
|
|
<p>
|
|
<a NAME="SEC19"></a>
|
|
<h3>
|
|
2.3.1 Configuration Program</h3>
|
|
<!--docid::SEC19::-->Now to install printer do the following:
|
|
<ol>
|
|
<li>
|
|
In KDE click the <tt>`kontrol panel'</tt> on the desktop and then click
|
|
<tt>`Printer
|
|
Configuration'</tt>.</li>
|
|
|
|
<li>
|
|
Click <tt>`New'</tt> 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).</li>
|
|
|
|
<li>
|
|
Next you have to specify the kind of printer that you want to add, that
|
|
is
|
|
<tt>`Network Printer'</tt> or <tt>`local Printer'</tt>. 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 <tt>`New'</tt>.</li>
|
|
|
|
<li>
|
|
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 <tt>/dev/lp0</tt>, if it is in the second parallel port it will
|
|
be <tt>/dev/lp1</tt> and so on. Now click <tt>`Next'</tt>.</li>
|
|
|
|
<li>
|
|
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
|
|
<tt>`arrow'</tt> at the left side of the brand name
|
|
or double clicking the brand name.</li>
|
|
|
|
<li>
|
|
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.</li>
|
|
|
|
<li>
|
|
Next click <tt>`Finish'</tt> and you will be back to the main window. Now
|
|
click <tt>`Apply'</tt> and then choose <tt>`Save Changes'</tt> from File
|
|
in the main menu. ( i.e <tt>`File > Save Changes'</tt>).</li>
|
|
|
|
<li>
|
|
Now choose <tt>`Restart lpd'</tt> from File in the main menu (i.e <tt>`File
|
|
> Restart lpd'</tt>). It will restart the printer daemon or process and
|
|
your system will be ready for printing.</li>
|
|
|
|
<li>
|
|
You can test if the installation of printer was successful by selecting
|
|
<tt>`test'</tt>
|
|
in the main menu.</li>
|
|
</ol>
|
|
If you have trouble setting up the printer, you can use
|
|
<a href="http://www.linuxprinting.org/">The
|
|
Linux Printing HOWTO</a> for help in troubleshooting.
|
|
<p><a NAME="Installing and Managing Software with RPM"></a>
|
|
<a NAME="SEC20"></a>
|
|
<h1>
|
|
3. Installing and Managing Software with RPM</h1>
|
|
<!--docid::SEC20::-->
|
|
<a NAME="SEC21"></a>
|
|
<h2>
|
|
3.1 What is RPM?</h2>
|
|
<!--docid::SEC21::-->RPM stands for <b>R</b>ed Hat <b>P</b>ackage <b>M</b>anager,
|
|
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.
|
|
<p>
|
|
<a NAME="SEC22"></a>
|
|
<h2>
|
|
3.2 What is a Software Package?</h2>
|
|
<!--docid::SEC22::-->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 (<i>dependencies</i>), 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.
|
|
<p>
|
|
<a NAME="SEC23"></a>
|
|
<h2>
|
|
3.3 Using RPM</h2>
|
|
<!--docid::SEC23::-->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 <i>kpackage</i>; 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
|
|
<tt>rpm -ivh mysql*</tt>
|
|
<p>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.
|
|
<p>
|
|
<a NAME="SEC24"></a>
|
|
<h2>
|
|
3.4 Installing Packages</h2>
|
|
<!--docid::SEC24::-->In all the examples below, we'll use the Mozilla web
|
|
browser package as a sample. To install it, first navigate into the directory
|
|
holding the package, either from the command line or a graphical file manager.
|
|
This directory might be one of your Linux installation CDs, or your home
|
|
folder if you've downloaded the package. Using the command line, you would
|
|
type:
|
|
<br><tt>rpm -ivh mozilla-0.9.8-10mdk.i586.rpm</tt> (your version of Mozilla
|
|
might be different..)
|
|
<br>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 <tt>`Install'</tt>
|
|
button.
|
|
<p>
|
|
<a NAME="SEC25"></a>
|
|
<h2>
|
|
3.5 Updating Packages</h2>
|
|
<!--docid::SEC25::-->Updating an existing program with a later version
|
|
is done in almost exactly the same way as installing. From the command
|
|
line:
|
|
<br><tt>rpm-Uvh mozilla-0.9.8-10mdk.i586.rpm</tt><i> (note the uppercase
|
|
"U")</i>
|
|
<br>Or click the <tt>`Update'</tt> button from kpackage or similar tools.
|
|
<p>
|
|
<a NAME="SEC26"></a>
|
|
<h2>
|
|
3.6 Downgrading Packages</h2>
|
|
<!--docid::SEC26::-->What if you upgrade, and then find that you preferred
|
|
the older version? You can use the <tt>`"--oldpackage"'</tt> option from
|
|
the command line like this:
|
|
<br><tt>rpm -Uvh --oldpackage mozilla-0.9.8-10mdk.i586.rpm</tt>.
|
|
<p>
|
|
<a NAME="SEC27"></a>
|
|
<h2>
|
|
3.7 Uninstalling Packages</h2>
|
|
<!--docid::SEC27::-->To uninstall from the command line:
|
|
<br><tt>rpm -e mozilla</tt>(the complete package name isn't required)
|
|
<p>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 <tt>`Uninstall'</tt> 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
|
|
<br><tt>rpm -e --nodeps mozilla</tt> (command line),
|
|
<br>or selecting "Ignore Dependencies" (GUI tool), but be aware that this
|
|
will break the other programs.
|
|
<p>
|
|
<a NAME="SEC28"></a>
|
|
<h2>
|
|
3.8 Querying packages</h2>
|
|
<!--docid::SEC28::-->Listing all installed packages is easy. From the command
|
|
line type:
|
|
<br><tt>rpm -qa</tt>
|
|
<br>If the list is too big to view you can pipe it through less like this:
|
|
<br><tt>rpm -qa | less</tt>
|
|
<br>Graphical tools will usually show the list of installed packages on
|
|
start up.
|
|
<p>
|
|
<a NAME="SEC29"></a>
|
|
<h3>
|
|
3.8.1 Listing all of the files installed by a package</h3>
|
|
<!--docid::SEC29::-->This is done with the <tt>rpm -ql</tt> command. Using
|
|
mozilla again as an example we would type:
|
|
<br><tt>rpm -ql mozilla</tt>
|
|
<br>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 <tt>rpm -qpl</tt> command. Requires
|
|
the complete file name.
|
|
<br>Eg.<tt> rpm -qpl mozilla-0.9.8-10mdk.i586.rpm</tt>.
|
|
<p>
|
|
<a NAME="SEC30"></a>
|
|
<h3>
|
|
3.8.2 Listing a description of an installed package</h3>
|
|
<!--docid::SEC30::-->can be performed with the <tt>rpm -qi</tt> command.
|
|
For example:
|
|
<br><tt>rpm -qi mozilla</tt>.
|
|
<br>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 <tt>rpm
|
|
-qpi</tt> command. You'll need to use the complete file name for this one.
|
|
For example:
|
|
<br><tt>rpm -qpi mozilla-0.9.8-10mdk.i586.rpm</tt>.
|
|
<br>With a GUI, select the package, or just click on the file from within
|
|
your file manager (eg. Konqueror)
|
|
<p>
|
|
<a NAME="SEC31"></a>
|
|
<h3>
|
|
3.8.3 To find the package to which a file belongs</h3>
|
|
<!--docid::SEC31::-->To find the package to which a file belongs is done
|
|
with the <tt>rpm -q --whatprovides</tt> command. Example:
|
|
<br><tt>rpm -q --whatprovides/usr/lib/mozilla/xpicleanup</tt>
|
|
<p>
|
|
<a NAME="SEC32"></a>
|
|
<h3>
|
|
3.8.4 To list all the packages a package depends on</h3>
|
|
<!--docid::SEC32::-->Use <tt>rpm -qR</tt> like this:
|
|
<br><tt>rpm -qR -mozilla</tt>
|
|
<br>(For a package not yet installed use <tt>rpm -qpR</tt>, with the full
|
|
file name )
|
|
<p>
|
|
<a NAME="SEC33"></a>
|
|
<h2>
|
|
3.9 Resolving Dependency Problems</h2>
|
|
<!--docid::SEC33::-->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.
|
|
<p>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.
|
|
<p>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 <tt>rpm-qpl</tt> 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.
|
|
<p>
|
|
<a NAME="SEC34"></a>
|
|
<h2>
|
|
3.10 Using RPMFind and RPMBone</h2>
|
|
<!--docid::SEC34::-->There is another extremely useful tool for finding
|
|
files and packages, and that's the <a href="http://rpmfind.net/linux/">RPMFind
|
|
website</a>. 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. <a href="http://rpm.pbone.net/">RPMBone</a>
|
|
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.
|
|
<p>
|
|
<a NAME="SEC35"></a>
|
|
<h2>
|
|
3.11 Circular Dependencies</h2>
|
|
<!--docid::SEC35::-->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 <tt>`--nodeps'</tt> option. For example:
|
|
<br><tt>rpm -ivh --nodeps mozilla-0.9.8-10mdk.i586.rpm</tt>.
|
|
<br>If you are using a GUI tool, click on the "Ignore Dependencies" button.
|
|
<p>
|
|
<a NAME="SEC36"></a>
|
|
<h2>
|
|
3.12 Library Version Problems</h2>
|
|
<!--docid::SEC36::-->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 <i>foo.so.3</i>, and you already have <i>foo.so.4</i> installed
|
|
in
|
|
<tt>/usr/lib</tt>, do this (as root): <tt>ln -s /usr/lib/foo.so.3 /usr/lib/foo.so.4</tt>
|
|
<p>
|
|
<a NAME="SEC37"></a>
|
|
<h2>
|
|
3.13 Automatic Dependency Resolution Tools</h2>
|
|
<!--docid::SEC37::-->Automatic Dependency Resolution Tools are available
|
|
with some distributions. Mandrake for example has <tt>`urpmi'</tt>, RedHat
|
|
has <tt>`up2date'</tt>,while Ximian has
|
|
<a href="http://www.ximian.com/products/redcarpet/">RedCarpet</a>.
|
|
There are also tools like <a href="http://apt4rpm.sourceforge.net/faq.html">apt4rpm</a>.
|
|
These can automatically download and install required packages for you.
|
|
See your distributions documentation or the relevant website for details.
|
|
<p>
|
|
<a NAME="SEC38"></a>
|
|
<h2>
|
|
3.14 Miscellaneous</h2>
|
|
<!--docid::SEC38::-->
|
|
<a NAME="SEC39"></a>
|
|
<h3>
|
|
3.14.1 RPM Version Incompatibilities</h3>
|
|
<!--docid::SEC39::-->You probably won't have to worry about this unless
|
|
your Linux installation is fairly old. Earlier Linux distributions were
|
|
packaged with version 3.x of RPM, and are unable to handle the later 4.x
|
|
series of packages. The exception to this seems to be version 3.05, you
|
|
could update RPM to this version, or just replace your distribution with
|
|
something newer. The RPM 4.x series is backwards compatible with the older
|
|
series.
|
|
<p>
|
|
<a NAME="SEC40"></a>
|
|
<h3>
|
|
3.14.2 Midnight Commander</h3>
|
|
<!--docid::SEC40::-->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 <i>mc</i> (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 <tt>mc</tt>. You can then navigate around the package
|
|
as if it was a normal folder, and copy individual files from it.
|
|
<p>
|
|
<a NAME="SEC41"></a>
|
|
<h3>
|
|
3.14.3 Learning More</h3>
|
|
<!--docid::SEC41::-->This article only covers the bare basics of RPM, if
|
|
you'd like to learn more you could read the RPM manual page (type <tt>man
|
|
rpm</tt>), or follow the links below:
|
|
<br><a href="http://www.linuxlaboratory.org/modules.php?op=modloadandname=Sectionsandfile=indexandreq=viewarticleandartid=14">RPM
|
|
One Liners</a> - A concise guide by Brian Jones, worth downloading and
|
|
printing for reference.
|
|
<br><a href="http://www.tldp.org/HOWTO/RPM-HOWTO/index.html">The RPM HOWTO</a>
|
|
- The "official" HOWTO at the Linux Documentation Project.
|
|
<br><a href="http://www.rpm.org/max-rpm/">Maximum RPM</a> - 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)
|
|
<p><a NAME="Playing and Recording Music"></a>
|
|
<a NAME="SEC42"></a>
|
|
<h1>
|
|
4. Playing and Recording Music</h1>
|
|
<!--docid::SEC42::-->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.
|
|
<p><b>*Warning*</b>
|
|
<br>Breach of copyright is taken very seriously in most parts of the world
|
|
- this article in no way encourages users to break the law.
|
|
<p>
|
|
<a NAME="SEC43"></a>
|
|
<h2>
|
|
4.1 The Basics</h2>
|
|
<!--docid::SEC43::-->Since much of this story involves CDs, perhaps we
|
|
should start with a brief look at both audio and data CDs.
|
|
<p>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.
|
|
<p>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.
|
|
<p>
|
|
<a NAME="SEC44"></a>
|
|
<h2>
|
|
4.2 Playing Audio Cds</h2>
|
|
<!--docid::SEC44::-->There are several GUI tools available for playing
|
|
audio CDs. For example Gnome has <tt>gtcd</tt>, KDE has <tt>kscd</tt>,
|
|
and <tt>xmms</tt> 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 <tt>cdplay</tt> program, though it's not
|
|
very intuitive. Read the manual page (<tt>man cdplay</tt>) to find out
|
|
more. Or you can simply use the <tt>`play/skip/stop'</tt> buttons on your
|
|
CD drive to play audio CDs.
|
|
<p>
|
|
<a NAME="SEC45"></a>
|
|
<h2>
|
|
4.3 Playing MP3 Files</h2>
|
|
<!--docid::SEC45::-->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
|
|
<tt>xmms</tt>, an excellent clone of the Windows Winamp player.
|
|
<p>
|
|
<a NAME="SEC46"></a>
|
|
<h2>
|
|
4.4 Using XMMS</h2>
|
|
<!--docid::SEC46::-->Xmms (<b>X</b> <b>M</b>ulti<b>M</b>edia <b>S</b>ystem)
|
|
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,
|
|
<i>ogg-vorbis</i> 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 <tt>xmms</tt>. 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 <tt>`eq'</tt> button) and allows
|
|
you to set up play lists. To choose a track to play, hit the <tt>L</tt>
|
|
key or press the eject <tt>("^")</tt> 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 <tt>O</tt> on the left hand side of the
|
|
display.
|
|
<p>
|
|
<a NAME="SEC47"></a>
|
|
<h2>
|
|
4.5 Recording (or ripping) Tracks from Audio CDs</h2>
|
|
<!--docid::SEC47::-->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 <tt>cdparanoia</tt>. 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:
|
|
<br>To record a single track type:
|
|
<p><tt>cdparanoia n</tt>
|
|
<p>`n` specifies the track number to record. By default the track will
|
|
be recorded to a file named <i>cdda.wav</i>. 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:
|
|
<p><tt>cdparanoia n filename.wav</tt>
|
|
<br>To record the entire CD type: <tt>cdparanoia -B</tt>
|
|
<p>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 <tt>man cdparanoia</tt>
|
|
to read it.
|
|
<p>
|
|
<a NAME="SEC48"></a>
|
|
<h2>
|
|
4.6 Converting .wav files to mp3</h2>
|
|
<!--docid::SEC48::-->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 <i>bladeenc</i>. To convert a .wav
|
|
file into a .mp3 use this command:
|
|
<p><tt>bladeenc filename.wav</tt>
|
|
<p>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:
|
|
<p><tt>bladeenc filename.wav filename.mp3</tt>
|
|
<p>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:
|
|
<p><tt>bladeenc -160 filename.wav</tt>
|
|
<p>
|
|
<a NAME="SEC49"></a>
|
|
<h2>
|
|
4.7 The Ogg-Vorbis Format</h2>
|
|
<!--docid::SEC49::--><i>Ogg -Vorbis</i> 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 <a href="http://www.vorbis.com/download_unix.psp">vorbis-toolspackage</a>
|
|
(check your distributions installation CDs) to convert .wav files to .ogg.
|
|
Converting is easy:
|
|
<p><tt>oggenc filename.wav</tt>
|
|
<p>As with bladeenc, the sampling rate (and sound quality) can be specified.
|
|
This is done by using the following command:
|
|
<p><tt>oggenc -q n filename.wav</tt> (where n is the quality level)
|
|
<p>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.
|
|
<p>
|
|
<a NAME="SEC50"></a>
|
|
<h2>
|
|
4.8 Converting .mp3 files into .wav format</h2>
|
|
<!--docid::SEC50::-->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 <i>mpg123</i> program can
|
|
do this for you and is often installed by default with many distributions.
|
|
To convert an .mp3 to a .wav, type:
|
|
<p><tt>mpg123 -w filename.wav filename.mp3</tt> (note - the destination
|
|
filename comes first)
|
|
<p>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.
|
|
<p>
|
|
<a NAME="SEC51"></a>
|
|
<h2>
|
|
4.9 To Normalize a group of .wav files</h2>
|
|
<!--docid::SEC51::-->Creating an audio CD using tracks from different sources
|
|
can lead to variations in volume amongst the tracks. By using a program
|
|
named
|
|
<i>normalize</i>, 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:
|
|
<p><tt>normalize -m /path/to/files/*.wav</tt>
|
|
<p>
|
|
<a NAME="SEC52"></a>
|
|
<h2>
|
|
4.10 Recording (or burning) an Audio CD</h2>
|
|
<!--docid::SEC52::-->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 <i>cdrecord</i> to burn your disks - it's the most
|
|
popular tool for this and is also what's used by most graphical front-ends
|
|
like
|
|
<i>XCDRoast</i> 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 <tt>du</tt> command). Now it's just a matter of typing this command:
|
|
<br><tt>cdrecord -v speed=4 dev=0,0,0 -audio -pad *.wav</tt>
|
|
<p>Of course, your speed and device numbers might be different - you can
|
|
use <tt>cdrecord -scanbus</tt> 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.
|
|
<p>
|
|
<a NAME="SEC53"></a>
|
|
<h2>
|
|
4.11 Recording a Data CD (mp3 or ogg)</h2>
|
|
<!--docid::SEC53::-->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
|
|
<tt>mkisofs</tt> (to create the file system) and <tt>cdrecord</tt>
|
|
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:
|
|
<p><tt>mkisofs -R /path/to/folder_to_record/ | cdrecord -v speed=4 dev=0,0,0
|
|
-</tt>
|
|
<p>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:
|
|
<p><tt>mkisofs -R -o cdimage.raw /path/to/folder_to_record/</tt>
|
|
<p>This creates an image named cdimage.raw. Then burn the disk:
|
|
<p><tt>cdrecord -v speed=4 dev=0,0,0 cdimage.raw</tt> (using suitable speed
|
|
and device settings..)
|
|
<p>
|
|
<a NAME="SEC54"></a>
|
|
<h2>
|
|
4.12 Some detailed information on related topics:</h2>
|
|
<!--docid::SEC54::--><a href="http://www.tldp.org/HOWTO/MP3-HOWTO.html">The
|
|
Linux MP3 HOWTO</a>
|
|
<br><a href="http://www.tldp.org/HOWTO/mini/MP3-CD-Burning/index.html">The
|
|
Linux MP3 CD Burning HOWTO</a>
|
|
<br><a href="http://sox.sourceforge.net">The SOX Homepage</a>- The swiss
|
|
army knife of Linux sound tools.
|
|
<br><a href="http://www.cs.columbia.edu/~cvaill/normalize">The Normalize
|
|
Homepage</a>
|
|
<br><a href="http://www.linuxgazette.com/issue57/feenberg.html">Installing
|
|
and Setting Up a CDR/CDRW</a> - <b>*Note*</b> 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.
|
|
<br><a href="http://www.vorbis.com/">The OggVorbis Homepage</a>
|
|
<br><a href="http://bladeenc.mp3.no/">The Bladeenc Homepage</a>
|
|
<br><a href="http://www.fokus.gmd.de/research/cc/glone/employees/joerg.scchilling/private/cdrecord.html">The
|
|
CDRecord Homepage</a>
|
|
<br><a href="http://www.xiph.org/paranoia">The CDParanoia Homepage</a>
|
|
<br><a href="http://www.mpg123.org/">The mpg123 Homepage</a>
|
|
<p><a NAME="Linux in the Office"></a>
|
|
<a NAME="SEC55"></a>
|
|
<h1>
|
|
5. Linux in the Office</h1>
|
|
<!--docid::SEC55::-->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.
|
|
<p>
|
|
<a NAME="SEC56"></a>
|
|
<h2>
|
|
5.1 Word Processing</h2>
|
|
<!--docid::SEC56::-->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.
|
|
<p>
|
|
<a NAME="SEC57"></a>
|
|
<h3>
|
|
5.1.1 StarOffice Star Writer</h3>
|
|
<!--docid::SEC57::-->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 <a href="http://www.staroffice.com">http://www.staroffice.com</a>.
|
|
<p>
|
|
<a NAME="SEC58"></a>
|
|
<h3>
|
|
5.1.2 OpenOffice Writer</h3>
|
|
<!--docid::SEC58::-->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
|
|
<tt>`>'</tt> 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 <a href="http://www.openoffice.org">http://www.openoffice.org</a>.
|
|
<p>
|
|
<a NAME="SEC59"></a>
|
|
<h3>
|
|
5.1.3 AbiWord</h3>
|
|
<!--docid::SEC59::-->The only complaint I can really make concerning AbiWord
|
|
can be summed up in one word - tables. While AbiWord does support tables
|
|
the interface and handling of tables has a long way to go. Otherwise AbiWord
|
|
is much like StarOffice and OpenOffice. Reads and writes simple MS Word
|
|
documents, very MS-like interface, etc. Another nice feature of AbiWord
|
|
is its support of Gnome themes; a feature that neither OpenOffice or StarOffice
|
|
provide.
|
|
<p>
|
|
<a NAME="SEC60"></a>
|
|
<h2>
|
|
5.2 Others Word Processors</h2>
|
|
<!--docid::SEC60::-->
|
|
<a NAME="SEC61"></a>
|
|
<h3>
|
|
5.2.1 Kword</h3>
|
|
<!--docid::SEC61::-->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
|
|
<br><a href="http://www.koffice.org">http://www.koffice.org</a>
|
|
<a NAME="SEC62"></a>
|
|
<h3>
|
|
5.2.2 Corel WordPerfect</h3>
|
|
<!--docid::SEC62::-->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:
|
|
<br><a href="http://linux.corel.com/products/wpo2000_linux/index.htm">http://linux.corel.com/products/wpo2000_linux/index.htm</a>
|
|
<p><a NAME="IDX1"></a>
|
|
<a NAME="SEC63"></a>
|
|
<h2>
|
|
5.3 Spreadsheets</h2>
|
|
<!--docid::SEC63::-->Spreadsheets are possibly the most widely used Office
|
|
program, and as with word processors, Linux users have several quality
|
|
offerings to choose from.
|
|
<p>
|
|
<a NAME="SEC64"></a>
|
|
<h3>
|
|
5.3.1 Gnumeric</h3>
|
|
<!--docid::SEC64::-->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.
|
|
<p>
|
|
<a NAME="SEC65"></a>
|
|
<h3>
|
|
5.3.2 StarOffice/OpenOffice Calc</h3>
|
|
<!--docid::SEC65::-->The Calc spreadsheet is another very competent office
|
|
tool, with very good Excel compatability. Possibly the best choice for
|
|
heavy duty spreadsheet users.
|
|
<p>
|
|
<a NAME="SEC66"></a>
|
|
<h3>
|
|
5.3.3 kspread</h3>
|
|
<!--docid::SEC66::-->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.
|
|
<p>
|
|
<a NAME="SEC67"></a>
|
|
<h2>
|
|
5.4 Other Office Applications</h2>
|
|
<!--docid::SEC67::-->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
|
|
<a href="http://www.codeweavers.com/products/office/">Codeweavers
|
|
Crossover Office</a> 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
|
|
<a href="http://www.koffice.org/">koffice</a>
|
|
package, while the GNOME programs are usually separate packages.
|
|
<p>
|
|
<a NAME="SEC68"></a>
|
|
<h3>
|
|
5.4.1 Address Books</h3>
|
|
<!--docid::SEC68::-->GNOME has <tt>`gnomecard'</tt> (part of the gnome-pim
|
|
package), KDE uses <tt>`kaddressbook'</tt>.
|
|
<p>
|
|
<a NAME="SEC69"></a>
|
|
<h3>
|
|
5.4.2 Fax Apps</h3>
|
|
<!--docid::SEC69::-->There is <tt>`kfax'</tt> with KDE, <a href="http://www.gnome.org/gnome-office/gfax.shtml">gfax</a>
|
|
for GNOME. Programs like hylafax and mgetty+sendfax are also popular.
|
|
<p>
|
|
<a NAME="SEC70"></a>
|
|
<h3>
|
|
5.4.3 Email/PIM</h3>
|
|
<!--docid::SEC70::-->Outlook users will probably be most interested in
|
|
Ximians'
|
|
<a href="http://www.gnome.org/gnome-office/evolution.shtml">Evolution</a>,
|
|
a fully featured email/PIM program.
|
|
<br>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.
|
|
<p>
|
|
<a NAME="SEC71"></a>
|
|
<h3>
|
|
5.4.4 Drawing/Graphics</h3>
|
|
<!--docid::SEC71::--><a href="http://www.gnome.org/gnome-office/dia.shtml">Dia</a>
|
|
is a structured diagrams program similar to Visio, while
|
|
<a href="http://www.gnome.org/gnome-office/sketch.shtml">Sketch</a>
|
|
is a vector drawing package.
|
|
<br>KDE has
|
|
<a href="http://www.koffice.org/kontour/">Kontour </a>(another
|
|
vector drawing tool), <a href="http://www.thekompany.com/projects/kivio/">Kivio
|
|
</a>for flowcharts, and <a href="http://www.koffice.org/kchart/">KChart</a>
|
|
kchart for drawing charts/graphs.
|
|
<p>
|
|
<a NAME="SEC72"></a>
|
|
<h3>
|
|
5.4.5 Financial</h3>
|
|
<!--docid::SEC72::--><a href="http://www.gnome.org/gnome-office/gnucash.shtml">Gnucash</a>
|
|
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.
|
|
<p>
|
|
<a NAME="SEC73"></a>
|
|
<h3>
|
|
5.4.6 Database</h3>
|
|
<!--docid::SEC73::--><a href="http://www.postgresql.org">postgreSQL</a>
|
|
is included with distros such as Mandrake and RedHat, also there is
|
|
<a href="http://www.MySQL.com/">MySQL</a>,
|
|
a somewhat simpler database.
|
|
<br>As well, there are databases such as
|
|
<a href="http://www.borland.com/interbase/">Interbase</a>,
|
|
and
|
|
<a href="http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_development">Firebird</a>
|
|
a free, open source version of Interbase.
|
|
<br>The big names like
|
|
<a href="http://www.oracle.com/ip/deploy/database/oracle9i/index.html?db_linux.html">Oracle</a>
|
|
and <a href="http://www-3.ibm.com/software/data/db2/linux/">IBM</a> (DB2
|
|
for Linux) support Linux too.
|
|
<p>
|
|
<a NAME="SEC74"></a>
|
|
<h3>
|
|
5.4.7 Presentation Apps.</h3>
|
|
<!--docid::SEC74::-->The major office suites (StarOffice, OpenOffice, Applix,
|
|
KOffice) all have functional presentation programs. The StarOffice and
|
|
OpenOffice versions can handle MS PowerPoint format files.
|
|
<p>
|
|
<a NAME="SEC75"></a>
|
|
<h3>
|
|
5.4.8 Organizers</h3>
|
|
<!--docid::SEC75::-->If you are looking for something a little lighter
|
|
than Evolution, KDE has
|
|
<tt>`korganizer'</tt>, and GNOME uses <tt>`gnomecal'</tt>
|
|
(part of the gnome-pim package).
|
|
<p>
|
|
<a NAME="SEC76"></a>
|
|
<h3>
|
|
5.4.9 Calculators</h3>
|
|
<!--docid::SEC76::-->RedHat distribution installs three calculators by
|
|
default. <i>Xcalc,GNOME Calculator,KCalc</i>.
|
|
<p><i>Xcalc</i> 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 <tt>xcalc</tt>. It takes the following
|
|
command line argument (among others)
|
|
<dl COMPACT>
|
|
<dt>
|
|
<tt>-rpn</tt></dt>
|
|
|
|
<dd>
|
|
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.</dd>
|
|
</dl>
|
|
<i>GNOME Calculator</i> is a double precision calculator application. GNOME
|
|
Calculator is included in the <tt>gnome-utils</tt> 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
|
|
<tt>gcalc</tt> on the command line in
|
|
a terminal emulator or Run Program dialog box.
|
|
<p><i>KCalc</i> can be started by typing <tt>kcalc</tt> on the command
|
|
prompt or in the Run Program Dialog box.
|
|
<p>
|
|
<a NAME="SEC77"></a>
|
|
<h3>
|
|
5.4.10 PDF Files Viewer</h3>
|
|
<!--docid::SEC77::-->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.
|
|
<p>
|
|
<a NAME="SEC78"></a>
|
|
<h4>
|
|
5.4.10.1 XPdf</h4>
|
|
<!--docid::SEC78::--><tt>`xpdf'</tt> supports most of PDFs features, including
|
|
LZW-compressed images URLs and encryption. It can be started from command
|
|
prompt by typing <tt>xpdf</tt>. xpdf's home is at
|
|
<a href="http://www.foolabs.com/xpdf/">http://www.foolabs.com/xpdf/</a>
|
|
. It also comes with a number of distros, including RedHat, Mandrake and
|
|
SuSE.
|
|
<p>
|
|
<a NAME="SEC79"></a>
|
|
<h4>
|
|
5.4.10.2 Adobe Acrobat Reader</h4>
|
|
<!--docid::SEC79::-->This is not free software (although it can be used
|
|
free of charge for non-commercial use). Free software gives you permission
|
|
to use, copy, study and improve the software. You can learn more about
|
|
Free Software
|
|
<a href="http://www.gnu.org/philosophy/free-sw.html">here</a>.
|
|
<p>You can get Adobe Acrobat Reader from:
|
|
<a href="http://www.adobe.com/products/acrobat/readstep2.html">http://www.adobe.com/products/acrobat/readstep2.html</a>
|
|
<p>
|
|
<a NAME="SEC80"></a>
|
|
<h2>
|
|
5.5 Links</h2>
|
|
<!--docid::SEC80::-->It's impossible to cover all the available office
|
|
type programs in just a few paragraphs; if you need to know more try the
|
|
links below:
|
|
<p><a href="http://www.Linux-Office.net/">The Linux-Office Site</a> is
|
|
a very useful resource for Linux office apps.
|
|
<br><a href="http://www.koffice.org/">The KOffice website</a>
|
|
<br><a href="http://www.gnome.org/gnome-office/index.shtml">The Gnome-Office
|
|
website</a>
|
|
<br><a href="http://www.codeweavers.com/products/office/">Codeweavers Crossover
|
|
Office</a> can run Windows apps like MS Office, Lotus Notes and others
|
|
under Linux.
|
|
<p><a NAME="Gaming With Linux"></a>
|
|
<a NAME="SEC81"></a>
|
|
<h1>
|
|
6. Gaming With Linux</h1>
|
|
<!--docid::SEC81::-->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? <i>Where are the games?</i>
|
|
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.
|
|
<p>
|
|
<a NAME="SEC82"></a>
|
|
<h2>
|
|
6.1 Where to Get Them</h2>
|
|
<!--docid::SEC82::-->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.
|
|
<p>
|
|
<a NAME="SEC83"></a>
|
|
<h2>
|
|
6.2 Commercial Games</h2>
|
|
<!--docid::SEC83::-->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
|
|
<a href="http://www.tuxgames.com/">TuxGames</a>.
|
|
<p>
|
|
<a NAME="SEC84"></a>
|
|
<h2>
|
|
6.3 Hardware and Software Requirements</h2>
|
|
<!--docid::SEC84::-->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
|
|
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.
|
|
<p>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
|
|
<a href="http://linuxgamers.net/lsd/hardwaretalk/x42.html">this
|
|
site</a> 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.
|
|
<p>
|
|
<a NAME="SEC85"></a>
|
|
<h2>
|
|
6.4 Setting up NVidia Based Graphics Cards</h2>
|
|
<!--docid::SEC85::-->As 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.
|
|
<p>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:
|
|
<br><tt>Driver "nv" (or Driver "vesa")</tt>
|
|
<br>with
|
|
<br><tt>Driver "nvidia"</tt>.
|
|
<br>In the Module section, make sure you have:
|
|
<br><tt>Load "glx"</tt>
|
|
<br>You should also remove the following lines:
|
|
<br><tt>Load "dri"</tt>
|
|
<br><tt>Load "GLcore"</tt>
|
|
<br>if they exist. Now restart X to use the new drivers. If you have any
|
|
problems, check the <tt>`XF86'</tt> log file (named <tt>` /var/log/XFree86.0.log'</tt>
|
|
or similar) for clues. Also read the documentation on the nVidia website
|
|
and in the README file included in the NVIDIA_GLX package.
|
|
<p>
|
|
<a NAME="SEC86"></a>
|
|
<h2>
|
|
6.5 Playing Windows Games With Linux</h2>
|
|
<!--docid::SEC86::-->Some 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.
|
|
<p>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 <a href="http://www.transgaming.com/">TransGaming</a>
|
|
website, however I have found that there are some games not listed that
|
|
will still play under WineX. Try searching
|
|
<a href="http://google.com">Google</a>
|
|
for <i>name of game + winex</i> 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.
|
|
<p>
|
|
<a NAME="SEC87"></a>
|
|
<h2>
|
|
6.6 Links</h2>
|
|
<!--docid::SEC87::-->Obviously this has been no more than a very brief
|
|
overview of Linux gaming; see the sites listed below for more info.
|
|
<p><a href="http://www.tldp.org/HOWTO/Linux-Gamers-HOWTO/index.html">The
|
|
Linux Gamers HOWTO</a> - I can't recommend this one highly enough; if you
|
|
are serious about gaming with Linux, read this doc!
|
|
<br><a href="http://www.linuxforkids.com/">Linux for Kids</a> - This site
|
|
has lots of links and info about games and educational apps. You don't
|
|
have to be a kid to enjoy this stuff - adults will probably find some good
|
|
stuff here too.
|
|
<br><a href="http://www.icculus.org/lgfaq/">The Linux Game FAQ</a> - A
|
|
comprehensive list of Frequently Asked Questions about Linux gaming.
|
|
<br><a href="http://www.happypenguin.org/news">The Linux Game Tome</a>
|
|
- Definitely worth a look!
|
|
<br><a href="http://www.newbreedsoftware.com/linux/">New Breed Software</a>
|
|
- Bill Kendrick and co. have written some good games, mainly for kids.
|
|
<br><a href="http://www.racer.nl/">Racer</a> - is a promising race car
|
|
game with extremely good graphics and physics. Not finished yet, but still
|
|
playable, and makes a nice change from the shooters.
|
|
<br><a href="http://www.transgaming.com/">Transgamings Winex Homepage</a>
|
|
<br><a href="http://linuxgamers.net/">LinuxGamers</a> is another interesting
|
|
game site.
|
|
<p><a NAME="The Post-Install Tune-up"></a>
|
|
<a NAME="SEC88"></a>
|
|
<h1>
|
|
7. The Post-Install Tune-up</h1>
|
|
<!--docid::SEC88::-->Many 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:
|
|
<ul>
|
|
<li>
|
|
Tidying up the boot-up process</li>
|
|
|
|
<li>
|
|
Freeing resources by removing un-needed services/daemons from boot scripts</li>
|
|
|
|
<li>
|
|
Freeing hard disk space</li>
|
|
|
|
<li>
|
|
Speeding up hard disk performance with <tt>hdparm</tt></li>
|
|
|
|
<li>
|
|
Recompiling the kernel for better system performance</li>
|
|
</ul>
|
|
You don't need to do <b>all</b> these things by the way, only those that
|
|
you need or want to, the rest are optional. Be aware that if your box is
|
|
reasonably configured to begin with (and most distributions are, out of
|
|
the box), you are unlikely to get a dramatic improvement from any one of
|
|
these things.
|
|
<p>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.
|
|
<p>
|
|
<a NAME="SEC89"></a>
|
|
<h2>
|
|
7.1 Disclaimer</h2>
|
|
<!--docid::SEC89::-->I 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.
|
|
<p>
|
|
<a NAME="SEC90"></a>
|
|
<h2>
|
|
7.2 Before You Start</h2>
|
|
<!--docid::SEC90::-->
|
|
<p>I'll assume you'll be running a <i>SysV type system</i>, 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.
|
|
<p>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
|
|
<font size=-1>....</font>
|
|
<p>
|
|
<a NAME="SEC91"></a>
|
|
<h2>
|
|
7.3 The Boot-Up</h2>
|
|
<!--docid::SEC91::-->We 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 <font size=-1>....</font>
|
|
<p>After the kernel is kicked into life by GRUB or LILO or whatever, the
|
|
following steps occur (with possible minor variations):
|
|
<ol>
|
|
<li>
|
|
The kernel gets it's own internal systems set up.</li>
|
|
|
|
<li>
|
|
The <tt>init</tt> program is started.</li>
|
|
|
|
<li>
|
|
init reads the <tt>`/etc/inittab'</tt> file. This file provides init with
|
|
the default run level for the system (eg console, graphical, single-user
|
|
etc.) Take a look at <tt>`/etc/initab'</tt> yourself so you understand
|
|
what the various run levels do.</li>
|
|
|
|
<li>
|
|
<tt>init</tt> then runs a script (usually <tt>`/etc/rc.d/rc.modules'</tt>)
|
|
to load auto loaded kernel modules.</li>
|
|
|
|
<li>
|
|
Depending on the default run level (from <tt>`/etc/inittab'</tt>),
|
|
<tt>init</tt>
|
|
then starts or stops all the services in that particular run level directory.
|
|
For example, if <b>runlevel 5</b> is the default according to <tt>`/etc/inittab'</tt>,
|
|
then all the scripts in <tt>`/etc/rc.d/rc5.d/'</tt> are run.</li>
|
|
|
|
<li>
|
|
<tt>init</tt> then runs another script (usually <tt>`/etc/rc.d/rc.local'</tt>)
|
|
. This is where the user can put stuff that he/she wants to be started
|
|
automatically at boot-up. You might want to start your OSS sound driver
|
|
from here for example. Users of older versions of Mandrake can edit this
|
|
file to get rid of that damn ugly penguin <font size=-1>....</font></li>
|
|
</ol>
|
|
This is a bit over-simplified, but I hope you get the idea. If you take
|
|
a look at the scripts in <tt>`/etc/rc.d/rc5.d'</tt> (or whatever your default
|
|
runlevel is), you'll see that the names of the scripts all start with an
|
|
<b>S</b>(for Start) or a <b>K</b>(for Kill or stop) followed by a number.
|
|
The number determines the order in which the scripts are run. Most distributions
|
|
start a diverse range of services or daemons at boot time, and while this
|
|
automatically covers the needs of the majority of users, it also means
|
|
that there will probably be several processes started that aren't required.
|
|
This results in longer boot-up times, increased memory usage, and more
|
|
potential security holes. Stripping un-needed stuff from the start-up scripts
|
|
is easy; the hard part is determining what does what, and what you do and
|
|
don't need. Hopefully the listing below will be of some help, it notes
|
|
some of the most commonly found services and gives a brief description
|
|
of what they do. And don't forget to make backups or notes of your changes,
|
|
just in case you find you really did need to have that daemon started after
|
|
all
|
|
<font size=-1>....</font> (this list is courtesy of Stan and Peter
|
|
Klimas' Linux Newbie Administrators Guide)
|
|
<dl COMPACT>
|
|
<dt>
|
|
<tt>anacron</tt></dt>
|
|
|
|
<dd>
|
|
checks <tt>cron</tt> jobs that were left out due to down time and executes
|
|
them. Useful if you have <tt>cron</tt> jobs scheduled but don't run your
|
|
machine all the time--anacron will detect that during bootup.</dd>
|
|
|
|
<dt>
|
|
<tt>amd</tt></dt>
|
|
|
|
<dd>
|
|
automount daemon (automatically mounts removable media).</dd>
|
|
|
|
<dt>
|
|
<tt>apmd</tt></dt>
|
|
|
|
<dd>
|
|
Advanced Power Management BIOS daemon. For use on machines, especially
|
|
laptops, thatsupport apm.</dd>
|
|
|
|
<dt>
|
|
<tt>arpwatch</tt></dt>
|
|
|
|
<dd>
|
|
keeps watch for ethernet/ip address pairings.</dd>
|
|
|
|
<dt>
|
|
<tt>atd</tt></dt>
|
|
|
|
<dd>
|
|
runs jobs queued by the "at" command.</dd>
|
|
|
|
<dt>
|
|
<tt>autofs</tt></dt>
|
|
|
|
<dd>
|
|
control the operation of automount daemons (competition to <tt>amd</tt>).</dd>
|
|
|
|
<dt>
|
|
<tt>bootparamd</tt></dt>
|
|
|
|
<dd>
|
|
server process that provides information to diskless clients necessary
|
|
for booting.</dd>
|
|
|
|
<dt>
|
|
<tt>crond</tt></dt>
|
|
|
|
<dd>
|
|
automatic task scheduler. Manages the execution of tasks that are executed
|
|
at regular but infrequent intervals, such as rotating log files, cleaning
|
|
up <tt>/tmp</tt> directories, etc.</dd>
|
|
|
|
<dt>
|
|
<tt>cupsd</tt></dt>
|
|
|
|
<dd>
|
|
the <i>Common UNIX Printing System (CUPS)</i> daemon. CUPS is an advanced
|
|
printer spooling system which allows setting of printer options and automatic
|
|
availability of a printer configured on one server in the whole network.
|
|
The default printing system of Linux Mandrake.</dd>
|
|
|
|
<dt>
|
|
<tt>dhcpd</tt></dt>
|
|
|
|
<dd>
|
|
implements the Dynamic Host Configuration Protocol (DHCP) and the Internet
|
|
Bootstrap Protocol (BOOTP).</dd>
|
|
|
|
<dt>
|
|
<tt>gated</tt></dt>
|
|
|
|
<dd>
|
|
routing daemon that handles multiple routing protocols and replaces
|
|
<tt>routed</tt>
|
|
and <tt>egpup</tt>.</dd>
|
|
|
|
<dt>
|
|
<tt>gpm</tt></dt>
|
|
|
|
<dd>
|
|
useful mouse server for applications running on the Linux text console.</dd>
|
|
|
|
<dt>
|
|
<tt>httpd</tt></dt>
|
|
|
|
<dd>
|
|
daemon for the Apache webserver.</dd>
|
|
|
|
<dt>
|
|
<tt>inetd</tt></dt>
|
|
|
|
<dd>
|
|
listens for service requests on network connections, particularly dial-in
|
|
services. This daemon can automatically load and unload other daemons (ftpd,
|
|
telnetd, etc.), thereby economizing on system resources. Newer systems
|
|
use <tt>xinetd</tt> instead.</dd>
|
|
|
|
<dt>
|
|
<tt>isdn4linux</tt></dt>
|
|
|
|
<dd>
|
|
for users of ISDN cards.</dd>
|
|
|
|
<dt>
|
|
<tt>kerneld</tt></dt>
|
|
|
|
<dd>
|
|
automatically loads and unloads kernel modules.</dd>
|
|
|
|
<dt>
|
|
<tt>klogd</tt></dt>
|
|
|
|
<dd>
|
|
the daemon that intercepts and displays/logs the kernel messages depending
|
|
on the priority level of the messages. The messages typically go to the
|
|
appropriately named files in the directory
|
|
<tt>/var/log/kernel</tt>.</dd>
|
|
|
|
<dt>
|
|
<tt>kudzu</tt></dt>
|
|
|
|
<dd>
|
|
detects and configures new or changed hardware during boot.</dd>
|
|
|
|
<dt>
|
|
<tt>keytable</tt></dt>
|
|
|
|
<dd>
|
|
loads selected keyboard map.</dd>
|
|
|
|
<dt>
|
|
<tt>linuxconf</tt></dt>
|
|
|
|
<dd>
|
|
the linuxconf configuration tool. The automated part is run if you want
|
|
linuxconf to perform various tasks at boottime to maintain the system configuration.</dd>
|
|
|
|
<dt>
|
|
<tt>lpd</tt></dt>
|
|
|
|
<dd>
|
|
printing daemon.</dd>
|
|
|
|
<dt>
|
|
<tt>mcserv</tt></dt>
|
|
|
|
<dd>
|
|
server program for the Midnight Commander networking file system. It provides
|
|
access to the host file system to clients running the Midnight file system
|
|
(currently, only the Midnight Commander file manager). If the program is
|
|
run as root the program will try to get a reserved port otherwise it will
|
|
use 9876 as the port. If the system has a portmapper running, then the
|
|
port will be registered with the portmapper and thus clients will automatically
|
|
connect to the right port. If the system does not have a portmapper, then
|
|
a port should be manually specified with the -p option (see below).</dd>
|
|
|
|
<dt>
|
|
<tt>named</tt></dt>
|
|
|
|
<dd>
|
|
the Internet Domain Name Server (DNS) daemon.</dd>
|
|
|
|
<dt>
|
|
<tt>netfs</tt></dt>
|
|
|
|
<dd>
|
|
network filesystem mounter. Used for mounting nfs, smb and ncp shares on
|
|
boot.</dd>
|
|
|
|
<dt>
|
|
<tt>network</tt></dt>
|
|
|
|
<dd>
|
|
activates all network interfaces at boot time by calling scripts in
|
|
<tt>`/etc/sysconfig/network-scripts'</tt>.</dd>
|
|
|
|
<dt>
|
|
<tt>nfsd</tt></dt>
|
|
|
|
<dd>
|
|
used for exporting nfs shares when requested by remote systems.</dd>
|
|
|
|
<dt>
|
|
<tt>nfslock</tt></dt>
|
|
|
|
<dd>
|
|
starts and stops nfs file locking service.</dd>
|
|
|
|
<dt>
|
|
<tt>numlock</tt></dt>
|
|
|
|
<dd>
|
|
locks numlock key at init runlevel change.</dd>
|
|
|
|
<dt>
|
|
<tt>pcmcia</tt></dt>
|
|
|
|
<dd>
|
|
generic services for pcmcia cards in laptops.</dd>
|
|
|
|
<dt>
|
|
<tt>portmap</tt></dt>
|
|
|
|
<dd>
|
|
needed for Remote Procedure Calls. Most likely, you need it for running
|
|
network.</dd>
|
|
|
|
<dt>
|
|
<tt>postfix</tt></dt>
|
|
|
|
<dd>
|
|
mail transport agent which is a replacement for sendmail. Now the default
|
|
on desktop installations of Mandrake (RedHat uses sendmail instead).</dd>
|
|
|
|
<dt>
|
|
<tt>random</tt></dt>
|
|
|
|
<dd>
|
|
saves and restores the "entropy" pool for higher quality random number
|
|
generation.</dd>
|
|
|
|
<dt>
|
|
<tt>routed</tt></dt>
|
|
|
|
<dd>
|
|
daemon that manages routing tables.</dd>
|
|
|
|
<dt>
|
|
<tt>rstatd</tt></dt>
|
|
|
|
<dd>
|
|
kernel statistics server.</dd>
|
|
|
|
<dt>
|
|
<tt>rusersd, rwalld</tt></dt>
|
|
|
|
<dd>
|
|
identification of users and "wall" messaging services for remote users.</dd>
|
|
|
|
<dt>
|
|
<tt>rwhod</tt></dt>
|
|
|
|
<dd>
|
|
server which maintains the database used by the <tt>rwho(1)</tt> and
|
|
<tt>ruptime(1)</tt>
|
|
programs. Its operation depends on the ability to broadcast messages on
|
|
a network.</dd>
|
|
|
|
<dt>
|
|
<tt>sendmail</tt></dt>
|
|
|
|
<dd>
|
|
mail transfer agent. This is the agent that comes with Red Hat.</dd>
|
|
|
|
<dt>
|
|
<tt>smbd</tt></dt>
|
|
|
|
<dd>
|
|
the SAMBA (or smb) daemon, a network connectivity services to MS Windows
|
|
computers on your network (hard drive sharing, printers, etc).</dd>
|
|
|
|
<dt>
|
|
<tt>squid</tt></dt>
|
|
|
|
<dd>
|
|
An http proxy with caching. Proxies relay requests from clients to the
|
|
outside world, and return the results. You would use this particular proxy
|
|
if you wanted to use your linux computer as a gateway to the Internet for
|
|
other computer on your network. Another (and probably safer at home) way
|
|
to do it, is to set up masquarading.</dd>
|
|
|
|
<dt>
|
|
<tt>syslogd</tt></dt>
|
|
|
|
<dd>
|
|
manages system activity logging. The configuration file is
|
|
<tt>`/etc/syslog.conf'</tt>
|
|
.</dd>
|
|
|
|
<dt>
|
|
<tt>smtpd</tt></dt>
|
|
|
|
<dd>
|
|
Simple Mail Transfer Protocol, designed for the exchange of electronic
|
|
mail messages. Several daemons that support SMTP are available, including
|
|
sendmail, smtpd, rsmtpd, qmail, zmail, etc.</dd>
|
|
|
|
<dt>
|
|
<tt>usb</tt></dt>
|
|
|
|
<dd>
|
|
daemon for devices on Universal Serial Bus.</dd>
|
|
|
|
<dt>
|
|
<tt>xfs</tt></dt>
|
|
|
|
<dd>
|
|
X font server.</dd>
|
|
|
|
<dt>
|
|
<tt>xntpd</tt></dt>
|
|
|
|
<dd>
|
|
finds the server for a NIS domain and stores the information about it in
|
|
a binding file.</dd>
|
|
|
|
<dt>
|
|
<tt>ypbind</tt></dt>
|
|
|
|
<dd>
|
|
NIS binder. Needed if computer is part of Network Information Service domain.</dd>
|
|
</dl>
|
|
Many users will find they have a lot of unnecessary stuff in their
|
|
<tt>/etc/rc.d/rc*.d/</tt>
|
|
folders. If you aren't sure if you need something or not, just move it
|
|
somewhere else temporarily (but <b>don't delete</b> it), re-boot and see
|
|
how things go. If you find that you do need it, just move it back and re-boot.
|
|
<p>
|
|
<a NAME="SEC92"></a>
|
|
<h2>
|
|
7.4 How To Make The Changes</h2>
|
|
<!--docid::SEC92::-->I usually just fire up a file manager and make a new
|
|
folder in
|
|
<tt>/etc/rc.d</tt> called <tt>JunkFromRc5</tt> or something similar.
|
|
Then I just drag the unneeded scripts from <tt>/etc/rc.d/rc5.d/</tt> 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
|
|
<tt>tksysv</tt>, or perhaps your distribution has it's own tool. You might
|
|
also want to edit <tt>`/etc/rc.d/rc/local'</tt>. Apart from user's entries,
|
|
this often has a few lines that overwrite <tt>`/etc/issue'</tt> with some
|
|
system specs (and/or that hideous penguin), and the contents of the
|
|
<tt>`/etc/issue'</tt>
|
|
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.
|
|
<tt>/usr/games/fortune > /etc/issue</tt>. As usual, if you aren't sure
|
|
what you are doing, make a backup copy of the file first.
|
|
<p>
|
|
<a NAME="SEC93"></a>
|
|
<h2>
|
|
7.5 Re-Claiming Hard Disk Space</h2>
|
|
<!--docid::SEC93::-->This 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 <tt>kpackage</tt>) 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.
|
|
<p>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.
|
|
<p>Many distributions also install lots of documentation (check out
|
|
<tt>/usr/doc</tt>
|
|
or <tt>/usr/share/doc</tt> ). 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 <tt>du</tt> 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.
|
|
<p>
|
|
<a NAME="SEC94"></a>
|
|
<h2>
|
|
7.6 Hard Disk Tuning</h2>
|
|
<!--docid::SEC94::-->I've seen a few articles claiming huge performance
|
|
gains from using
|
|
<tt>hdparm</tt>, 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 <tt>man
|
|
hdparm</tt>), 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:
|
|
<br><tt>hdparm [-flag] device</tt>
|
|
<p>Running hdparm without any flags (or with the <tt>-v</tt> flag) will
|
|
display the current settings. To see the current settings for my first
|
|
hard disk (/dev/hda) for example, I would use: <tt>hdparm /dev/hda</tt>.
|
|
To do a basic check of the speed of the first hard disk I would use: <tt>hdparm
|
|
-Tt /dev/hda</tt>. Some more commonly used flags:
|
|
<dl COMPACT>
|
|
<dt>
|
|
<tt>-c3</tt></dt>
|
|
|
|
<dd>
|
|
Enables IDE 32 bit I/O support</dd>
|
|
|
|
<dt>
|
|
<tt>-a [sectcount]</tt></dt>
|
|
|
|
<dd>
|
|
Get/set sector count for read ahead</dd>
|
|
|
|
<dt>
|
|
<tt>-m16</tt></dt>
|
|
|
|
<dd>
|
|
Sets multi-sector I/O (in this example 16 sectors, you may need to experiment
|
|
to find the optimal number for your disk)</dd>
|
|
|
|
<dt>
|
|
<tt>-u1</tt></dt>
|
|
|
|
<dd>
|
|
Unmasks interupts</dd>
|
|
|
|
<dt>
|
|
<tt>-d1 -X34</tt></dt>
|
|
|
|
<dd>
|
|
Unable DMA mode2 transfers</dd>
|
|
|
|
<dt>
|
|
<tt>-d1 -X66</tt></dt>
|
|
|
|
<dd>
|
|
Enable UltraDMA mode2 transfers</dd>
|
|
</dl>
|
|
Read the man page for more options.
|
|
<p>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 <i>bonnie</i>. 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 <tt>`/etc/rc.d/rc.local'</tt>.
|
|
<p>
|
|
<a NAME="SEC95"></a>
|
|
<h2>
|
|
7.7 Filesystem</h2>
|
|
<!--docid::SEC95::-->Linux updates a <i>last access time</i> 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 <tt>noatime</tt>
|
|
to the mount options listed in <tt>`/etc/fstab'</tt>. For example:
|
|
<br>In the <tt>`/etc/fstab'</tt> file add the line <tt>/dev/hda5/ ext2
|
|
defaults,noatime 11</tt> if you do not wish to update last access time
|
|
on the files in <tt>/dev/hda5</tt><b>partition</b>.
|
|
<p>
|
|
<a NAME="SEC96"></a>
|
|
<h3>
|
|
7.7.1 Alternative Filesystems</h3>
|
|
<!--docid::SEC96::-->You 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.
|
|
<p>
|
|
<a NAME="SEC97"></a>
|
|
<h2>
|
|
7.8 Kernel Recompilation</h2>
|
|
<!--docid::SEC97::-->This 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
|
|
<a href="http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html">Kernel HOWTO</a> for
|
|
details.
|
|
<p>
|
|
<a NAME="SEC98"></a>
|
|
<h2>
|
|
7.9 Miscellaneous Tips</h2>
|
|
<!--docid::SEC98::-->This article has only covered the very basic stuff
|
|
- if you are interested in reading some much more detailed info about configuring
|
|
Linux read the
|
|
<a href="http://www.linuxdoc.org/HOWTO/Config-HOWTO/index.html">Configuration
|
|
HOWTO</a>.
|
|
<P>
|
|
If you are serious about tuning your Linux box, you'll need some benchmarking
|
|
tools. To get started, take a look at this site:
|
|
<a href="http://www.tux.org/bench/">The Linux Benchmarking Project</a>.
|
|
<p>Obviously you'll be aiming to conserve memory as much as possible. Use
|
|
the <tt>free</tt> 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.
|
|
<p>You can save some memory by using a plain background on your desktop,
|
|
rather than an image file.
|
|
<p>Other useful tools are <tt>ps -aux</tt> (shows details of running processes),
|
|
and <tt>top</tt> (similar to ps but continually updates).
|
|
<p>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.
|
|
<p><a NAME="End Note"></a>
|
|
<a NAME="SEC99"></a>
|
|
<h1>
|
|
8. End Note</h1>
|
|
<!--docid::SEC99::-->These 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 <a
|
|
href="http://geocities.com/lunatech3007/doing-things-howto.html">here</a>,
|
|
or <a href="http://users.netwit.net.au/~pursang/dtil/">here</a>. If
|
|
you find any mistakes, please mail mail your suggestions to <tt>
|
|
lunatech3007 at yahoo dot com </tt>. 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN author bio *** -->
|
|
<P>
|
|
<P>
|
|
<H4>Raj Shekhar</H4>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
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.
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
<H4>Anirban Biswas</H4>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
I am Anirban Biswas from Calcutta, India. I have been using Linux for 4 years
|
|
(from RH 6.1 to RH 8.0, then to MDK 9.0). Currently I'm in the
|
|
final year of computer enginnering.
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
<H4>Jason P Barto</H4>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
I am from Pittsburgh, Pennsylvania and have been using Linux for 7 years. My
|
|
first distro was Redhat 3 or something like that. back when configuring the X
|
|
server was a real adventure. I'm currently an avid Slackware fan, and have been
|
|
working in software development for Lockheed Martin Corporation for three
|
|
years.
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
<H4>John Murray</H4>
|
|
<!-- *** BEGIN bio *** -->
|
|
<P>
|
|
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
|
<em>
|
|
John is a part-time geek from Orange, Australia. He has been using
|
|
Linux for four years and has written several <a
|
|
href="http://users.netwit.net.au/~pursang/">Linux related
|
|
articles</a>.
|
|
</em>
|
|
<br CLEAR="all">
|
|
<!-- *** END bio *** -->
|
|
|
|
|
|
<!-- *** END author bio *** -->
|
|
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<hr>
|
|
<CENTER><SMALL><STRONG>
|
|
Copyright © 2003, Raj Shekhar, Anirban Biswas, Jason P Barto and John Murray.
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 88 of <i>Linux Gazette</i>, March 2003
|
|
</STRONG></SMALL></CENTER>
|
|
<!-- *** END copyright *** -->
|
|
<HR>
|
|
|
|
<!--startcut ==========================================================-->
|
|
<CENTER>
|
|
<!-- *** BEGIN navbar *** -->
|
|
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="puryear.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue88/shekhar.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../lg_faq.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
|
|
<!-- *** END navbar *** -->
|
|
</CENTER>
|
|
</BODY></HTML>
|
|
<!--endcut ============================================================-->
|