8173 lines
316 KiB
HTML
8173 lines
316 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||
<HTML><HEAD><TITLE> Linux Gazette Table of Contents LG #88</TITLE></HEAD>
|
||
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
|
||
ALINK="#FF0000" >
|
||
<center>
|
||
<!-- A HREF="http://www.linuxgazette.com/">
|
||
<H1><IMG SRC="../gx/newlogo.jpg" ALT="LINUX GAZETTE" border="0"></H1></A> -->
|
||
<A HREF="http://www.linuxgazette.com/">
|
||
<H1><IMG ALT="LINUX GAZETTE" SRC="../gx/lglogo.png"
|
||
WIDTH="600" HEIGHT="124" border="0"></H1></A>
|
||
<H2>March 2003, Issue 88
|
||
Published by <I>Linux Journal</I></H2>
|
||
|
||
<A HREF="../index.html">Front Page</A> |
|
||
<A HREF="../index.html">Back Issues</A> |
|
||
<A HREF="../lg_faq.html">FAQ</A> |
|
||
<A HREF="../mirrors.html">Mirrors</A> <!-- | --><BR>
|
||
<A HREF="../tag-kb.html">The Answer Gang knowledge base</A> (your Linux questions here!) <!-- | --><BR>
|
||
<A HREF="http://www.linuxgazette.com/search.html">Search (www.linuxgazette.com)</A>
|
||
<!-- *** BEGIN mirror site search link *** -->
|
||
<!-- <A HREF="http://www.linuxgazette.com/search.html">(SITE.COM
|
||
mirror)</A> -->
|
||
<!-- *** END mirror site search link *** -->
|
||
|
||
</CENTER>
|
||
|
||
<HR NOSHADE>
|
||
<!--=================================================================-->
|
||
|
||
<!-- H1><font color="#BB0000">Table of Contents:</font></H1 -->
|
||
|
||
|
||
|
||
|
||
<!-- *** BEGIN toc *** -->
|
||
<UL>
|
||
<LI> <A HREF="lg_mail.html">The MailBag</A>
|
||
<LI> <A HREF="lg_tips.html">More 2-Cent Tips</A>
|
||
<LI> <A HREF="lg_answer.html">The Answer Gang</A>
|
||
<LI> <A HREF="lg_bytes.html">News Bytes</A>, <EM>by Michael Conry</EM>
|
||
<LI> <A HREF="collinge.html">HelpDex</A>, <EM>by Shane Collinge</EM>
|
||
<LI> <A HREF="ecol.html">Ecol</A>, <EM>by Javier Malonda</EM>
|
||
<LI> <A HREF="jenkins.html">Fonts for the Common Desktop Environment (or: How To Alias Your Fonts)</A>, <EM>by Graham Jenkins</EM>
|
||
<LI> <A HREF="lodato.html">Linux-Based Telecom</A>, <EM>by Janine M Lodato</EM>
|
||
<LI> <A HREF="lodato2.html">The Sushi Pub at the World Internet Center</A>, <EM>by Janine M Lodato</EM>
|
||
<LI> <A HREF="okopnik.html">Perl One-Liner of the Month: Good Enough For Government Work</A>, <EM>by Ben Okopnik</EM>
|
||
<LI> <A HREF="piszcz.html">Optimizing GCC</A>, <EM>by Justin Piszcz</EM>
|
||
<LI> <A HREF="pramode.html">Programming the SA1110 Watchdog timer on the Simputer</A>, <EM>by Pramode C.E</EM>
|
||
<LI> <A HREF="puryear.html">Book Review: Unix Storage Management</A>, <EM>by Dustin Puryear</EM>
|
||
<LI> <A HREF="shekhar.html">Doing Things in GNU/Linux</A>, <EM>by Raj Shekhar, Anirban Biswas, Jason P Barto and John Murray</EM>
|
||
</UL>
|
||
|
||
<!-- *** END toc *** -->
|
||
|
||
|
||
|
||
|
||
<HR NOSHADE>
|
||
<!--=================================================================-->
|
||
|
||
<H3 ALIGN="center"><EM>Linux Gazette</EM> Staff and The Answer Gang</H3>
|
||
<BLOCKQUOTE>
|
||
<STRONG>Editor:</STRONG> Michael Orr<BR>
|
||
<STRONG>Technical Editor:</STRONG> Heather Stern<BR>
|
||
<STRONG>Senior Contributing Editor:</STRONG> Jim Dennis<BR>
|
||
<STRONG>Contributing Editors:</STRONG>
|
||
Ben Okopnik, Dan Wilder, Don Marti
|
||
</BLOCKQUOTE>
|
||
|
||
<HR NOSHADE>
|
||
<!--=================================================================-->
|
||
|
||
<A HREF="TWDT.txt.gz">TWDT 1 (gzipped text file)</A><BR>
|
||
<A HREF="TWDT.html">TWDT 2 (HTML file)</A><BR>
|
||
are files containing the entire issue: one in text format, one in HTML.
|
||
They are provided
|
||
strictly as a way to save the contents as one file for later printing in
|
||
the format of your choice;
|
||
there is no guarantee of working links in the HTML version.
|
||
<HR NOSHADE>
|
||
<!--=================================================================-->
|
||
|
||
<center>
|
||
<I>Linux Gazette</I><img alt="[tm]" src="../gx/tm.gif">,
|
||
<A HREF="http://www.linuxgazette.com/">http://www.linuxgazette.com/</A><BR>
|
||
This page maintained by the Editor of <I>Linux Gazette</I>,
|
||
<A HREF="mailto: gazette@ssc.com"> gazette@ssc.com</A>
|
||
<P>
|
||
<H5>Copyright © 1996-2003 Specialized Systems Consultants, Inc.</H5>
|
||
</center>
|
||
|
||
<HR NOSHADE>
|
||
<!--=================================================================-->
|
||
|
||
|
||
<!-- *** BEGIN navbar *** -->
|
||
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><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/lg_mail.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><A HREF="lg_tips.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" 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>
|
||
|
||
|
||
<center>
|
||
<BIG><BIG><STRONG><FONT COLOR="maroon">The Mailbag</FONT></STRONG></BIG></BIG><BR>
|
||
<!-- BEGIN wanted -->
|
||
|
||
<STRONG>From <A HREF="mailto:gazette@ssc.com">The Readers of <i>Linux Gazette</I></A></STRONG></BIG>
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
<HR>
|
||
<center>
|
||
<BIG><STRONG><FONT COLOR="maroon">HELP WANTED : Article Ideas</FONT></STRONG></BIG>
|
||
<BR>
|
||
<STRONG>Submit comments about articles, or articles themselves (after reading <a href="../faq/author.html">our guidelines</a>) to <A HREF="mailto:gazette@ssc.com">The Editors of <i>Linux Gazette</I></A>, and technical answers and tips about Linux to <A HREF="mailto:linux-questions-only@ssc.com">The Answer Gang</A>.
|
||
</STRONG>
|
||
</center><HR>
|
||
<UL>
|
||
<!-- index_text begins -->
|
||
<li><A HREF="#wanted.1"
|
||
><strong>devfs problem</strong></a>
|
||
<li><A HREF="#wanted.2"
|
||
><strong>traffic shaping for the internal network; tc filter for source addresses?</strong></a>
|
||
<li><A HREF="#wanted.3"
|
||
><strong>PS/2 port still live after shutdown</strong></a>
|
||
<li><A HREF="#wanted.4"
|
||
><strong>Only USB mouse/keyboard recognized by KDE.</strong></a>
|
||
<li><A HREF="#wanted.5"
|
||
><strong>linux statistics</strong></a>
|
||
<!-- index_text ends -->
|
||
</UL>
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="wanted.1"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">devfs problem</FONT></H3>
|
||
30 Jan 2003 08:22:53 +0200
|
||
<BR>Stelian Iancu (<a href="mailto:linux-questions-only@ssc.com?cc=stelian.iancu@gmx.net&subject=%20Re%3A%20%5BLG%2088%5D%20help%20wanted%20%231%20devfs">stelian.iancu from gmx.net</a>)
|
||
|
||
|
||
<P>
|
||
Hello!
|
||
</P>
|
||
<P>
|
||
I just switched from Gnome 2.0 to <A HREF="http://www.kde.org/">KDE</A> 3.1 and I notice that the settings
|
||
for the devices created by devfsd aren't save between reboots. So I read
|
||
through the docs and I saw that I have to create some dev-state dir.
|
||
Well, I already have that dir in <TT>/lib</TT> and devfsd is set to save the
|
||
settings (in <TT>/etc/devfsd.conf</TT>). And if I change the permissions on some
|
||
devices (<TT>/dev/dsp</TT> for example), the change is also visible in
|
||
<TT>/lib/dev-state</TT> directory. However, after I reboot, the same problem. I
|
||
don't have permissions. And this is really annoying me.
|
||
</P>
|
||
<P>
|
||
So any suggestions are greatly appreciated!
|
||
</P>
|
||
<P>
|
||
P.S. I am using Mandrake 9.0 with the default kernel.
|
||
</P>
|
||
<P>
|
||
Thanks!
|
||
</P>
|
||
<P>
|
||
Regards,
|
||
<br>Stelian I.
|
||
</P>
|
||
<!-- sig -->
|
||
|
||
<!-- end 1 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="wanted.2"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">traffic shaping for the internal network; tc filter for source addresses?</FONT></H3>
|
||
Sun, 2 Feb 2003 07:55:01 -0800 (PST)
|
||
<BR>Radu Negut (<a href="mailto:linux-questions-only@ssc.com?cc=rnegut@yahoo.com&subject=%20Re%3A%20%5BLG%2088%5D%20help%20wanted%20%232%20traffic%20shaping">rnegut from yahoo.com</a>)
|
||
|
||
|
||
<P>
|
||
Hi!
|
||
</P>
|
||
<P>
|
||
I've got my home LAN behind a cable modem, masqueraded
|
||
to the outside world. The masquerading machine runs
|
||
RedHat 7.3. What I'm trying to achieve is equally
|
||
share the bandwidth between the machines (about 7)
|
||
following this algorithm: if only one host is making a
|
||
connection at a given time, it gets the whole
|
||
bandwidth; when a second connection from a second
|
||
masqueraded machine arrives at the gateway, the
|
||
bandwidth is equally divided between the two machines;
|
||
if a third machine makes a connection, the bandwidth
|
||
is split in three equal shares and so on. Now if one
|
||
of the machines that has already opened a connection,
|
||
makes a second one, I would want this connection to be
|
||
allocated inside the machine's share, not as a
|
||
separate member participating in the bandwidth
|
||
division. Following this idea, if someone has 4 open
|
||
downloads, someone else 7 and a third machine only 1,
|
||
then bandwidth should be divided only by three and not
|
||
12.
|
||
</P>
|
||
<P>
|
||
I've already read about SFQ, qdiscs and tc filter from
|
||
the 'Advanced routing HOW-TO' but I couldn't find any
|
||
info on how to shape/police traffic dynamically and
|
||
based on ip source addresses. I do not want to split
|
||
the bandwidth into seven slices from the beginning
|
||
since not everybody is online all the time and this
|
||
would waste available bandwidth for the others. I'd
|
||
rather have the traffic shaped depending on how many
|
||
internal hosts wish to access the internet at a given
|
||
time.
|
||
</P>
|
||
<P>
|
||
I'm not really interested in providing differentiated
|
||
traffic based on content (interactive, bulk, etc.)
|
||
just a fair sharing of bandwidth, ignorant of how many
|
||
download managers/ftp's each and everyone is running,
|
||
and not allowing anyone to suffocate the shared
|
||
internet connection with his/her requests.
|
||
</P>
|
||
<P>
|
||
Thank you very much in advance for the time taken to
|
||
<BR>answer this,
|
||
</P>
|
||
<P>
|
||
Radu Negut
|
||
</P>
|
||
<!-- sig -->
|
||
<!-- sig -->
|
||
|
||
<!-- end 2 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="wanted.3"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">PS/2 port still live after shutdown</FONT></H3>
|
||
Wed, 26 Feb 2003 21:43:00 +1300
|
||
<BR>D & E Radel (<a href="mailto:linux-questions-only@ssc.com?cc=radel@inet.net.nz&subject=%20Re%3A%20%5BLG%2088%5D%20help%20wanted%20%233%20ps2%20shutdown">radel from inet.net.nz</a>)
|
||
|
||
|
||
<P>
|
||
Hi everyone.
|
||
</P>
|
||
<P>
|
||
When Linux shutsdown with halt -p, my pc will turn off,
|
||
but Linux won't switch off the power to my PS/2 port. It is
|
||
turned on when X starts, but when X shuts down, or the PC
|
||
is shut down, the port remains on - and my Optical Mouse
|
||
stays on. Light remains glowing, etc.
|
||
</P>
|
||
<P>
|
||
.... However, Windows 98SE will shut this down properly
|
||
every time. I have kernel 2.4.20 and have tried enabling ACPI
|
||
and APM. And of course I have an ATX PSU, and nothing weird
|
||
enabled either in cmos or jumpered.
|
||
</P>
|
||
<P>
|
||
I know that some boards just have power going through PS/2
|
||
ports after soft shutdown as a feature/bug, but Win98SE manages
|
||
to shut down this one ok.
|
||
</P>
|
||
<P>
|
||
If someone knows how to fix this, I would really appreciate your
|
||
help.
|
||
</P>
|
||
<P>
|
||
Thanks in advance.
|
||
<BR>D.Radel.
|
||
</P>
|
||
<P>
|
||
PS. Sorry for mentioning that <EM>other</EM> OS in this email.
|
||
</P>
|
||
<!-- sig -->
|
||
|
||
<!-- end 3 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="wanted.4"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">Only USB mouse/keyboard recognized by KDE.</FONT></H3>
|
||
Thu, 30 Jan 2003 04:14:27 -0800 (PST)
|
||
<BR>Stephen (<a href="mailto:linux-questions-only@ssc.com?cc=&subject=%20Re%3A%20%5BLG%2088%5D%20help%20wanted%20%234%20usb%20only"><em>anonymous</em></a>)
|
||
|
||
|
||
<P>
|
||
Greetings.I installed <A HREF="http://www.redhat.com/">Red Hat</A> Linux 8.0 on my desktop
|
||
computer. I used my PS/2 keboard and mouse to install
|
||
the software from CD images downloaded from Red Hat.
|
||
After software installation completed my computer
|
||
rebooted to the <A HREF="http://www.kde.org/">KDE</A> login screen. My PS/2 keyboard
|
||
and mouse does not work. Only a USB keyboard and
|
||
mouse work. When I boot my system into run level 3 my
|
||
PS/2 keyboard works. How do I configure my system so
|
||
that I can use my PS/2 mouse and keyboard with KDE?
|
||
</P>
|
||
<P>
|
||
Any information is appreciated. Thanks.
|
||
</P>
|
||
<!-- sig -->
|
||
<!-- sig -->
|
||
|
||
<!-- end 4 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="wanted.5"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">linux statistics</FONT></H3>
|
||
Tue, 25 Feb 2003 13:48:32 +0600
|
||
<BR>Sanjaya Singharage (<a href="mailto:linux-questions-only@ssc.com?cc=SanjayaS@jkcs.slt.lk&subject=%20Re%3A%20%5BLG%2088%5D%20help%20wanted%20%235%20statistics">SanjayaS from jkcs.slt.lk</a>)
|
||
|
||
|
||
<P>
|
||
Hi all,
|
||
<br>are there any reputable statistics available on the web comparing linux,
|
||
*nixes and <EM>windows</EM> on the enterprise server market? Can somebody give
|
||
some pointers or links? Any reputable articles would also be welcome. I've
|
||
been rummaging the web the whole day but couldn't find anything useful.
|
||
<br>Thanks.
|
||
</P>
|
||
|
||
<!-- end 5 -->
|
||
<HR>
|
||
<center>
|
||
<BIG><STRONG><FONT COLOR="maroon">GENERAL MAIL</FONT></STRONG></BIG>
|
||
<BR>
|
||
</center><HR>
|
||
<UL>
|
||
<!-- index_text begins -->
|
||
<li><A HREF="#mailbag.1"
|
||
><strong>What a great service you have done me</strong></a>
|
||
<li><A HREF="#mailbag.2"
|
||
><strong>The Ultimate Editor</strong></a>
|
||
<li><A HREF="#mailbag.3"
|
||
><strong>editor's comment...</strong></a>
|
||
<li><A HREF="#mailbag.4"
|
||
><strong>wordsmithing in Gibberish</strong></a>
|
||
<li><A HREF="#mailbag.5"
|
||
><strong>Point of Sale</strong></a>
|
||
<!-- index_text ends -->
|
||
</UL>
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="mailbag.1"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">What a great service you have done me</FONT></H3>
|
||
Tue, 04 Feb 2003 13:05:37 +0100
|
||
<BR>Joe Programmer (<a href="mailto:gazette@ssc.com?subject=%20Re%3A%20%5BLG%2088%5D%20mailbag%20%231%20%20interface%20library">ctio from lycos.co.uk</a>)
|
||
|
||
|
||
<P><STRONG>
|
||
Dear Mike,
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
After my
|
||
<A HREF="../issue87/bint.html">first article</A> was published, about thirty
|
||
people downloaded my console interface library. In the few days since you
|
||
published my second, over ninety people have come for it. If only ten percent
|
||
of those try to write an editor like I described, you will have turned my dream
|
||
into a reality.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
When I cycled into the city to log on at the daycentre this morning, I had
|
||
been in the countryside for a week. I had no idea I had been published
|
||
because I expected it would be in the March edition. I agreed with your
|
||
comments about C++ not being the universal language I made it out to be
|
||
and was going to rewrite it with your suggestions in mind.
|
||
</STRONG></P>
|
||
<P>
|
||
Unless the author says he plans to do a revision, I assume the article is
|
||
finished when I receive it. -- Mike
|
||
</P>
|
||
<P><STRONG>
|
||
Now I realise it's gone out and I've seen the response, I don't care how
|
||
bigotted people think I am
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
||
height="24" width="20" align="middle">
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I cannot thank you enough.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Your faithfully,
|
||
Stephen Bint
|
||
</STRONG></P>
|
||
|
||
<blockquote><font color="#000066">We have encouraged Stephen to write or be involved in more articles; you'll
|
||
see some of the results when they're ready for publication.
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
Thanks for the encouragement. It was good to hear what the article is doing
|
||
for you. -- Mike
|
||
</P>
|
||
<HR width="10%" align="center"><P><STRONG>
|
||
Mike,
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Thank you for pointing out that I gave the misleading
|
||
impression, that C++ is the first language of all Linux
|
||
users in my article, The Ultimate Editor (LG#87). Obviously
|
||
Linux users vary widely in their choice of first language.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
It would be a boon to the users of any language, especially
|
||
beginners, to have an editor which is extensible in their
|
||
own language. C++ users seem to be the only group who do not
|
||
have one yet.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Stephen Bint
|
||
</STRONG></P>
|
||
|
||
<!-- end 1 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="mailbag.2"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">The Ultimate Editor</FONT></H3>
|
||
Sun, 23 Feb 2003 18:25:46 +0800
|
||
<BR>Jim Dennis (<a href="mailto:gazette@ssc.com?subject=%20Re%3A%20%5BLG%2088%5D%20mailbag%20%232%20ultimate%20editor%20disagreement"><em>Linux Gazette</em> Sr. Contributing Editor</a>)
|
||
<BR>Question by Peter (pfheiss from philonline.com)
|
||
|
||
<P><STRONG>
|
||
Dear Editor,
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I can not fully understand the article "The Ultimate Editor" in Feb. LG.
|
||
Having migrated from DOS to Linux without passing MSWindooze I have to ask
|
||
what is wrong with the Linux text editors such as joe, xedit, gedit, gxedit,
|
||
xeditplus, kedit, kwrite, kate, vim, gvim, cooledit, any more?, yes I am
|
||
sure.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I have seen the text editor in Windooze and thought it a joke compared with
|
||
some of the Linux text editors mentioned.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
May be Stephen Bint should try them all first before picking up more
|
||
cigarette butts in the gutter thus damaging his lungs and consequently
|
||
his brain.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Regards
|
||
<BR>Peter Heiss
|
||
</STRONG></P>
|
||
<P>
|
||
Well, I can understand the article. I can also disagree with it, but
|
||
first I have to understand it. The title seems destined to invite
|
||
flames (perhaps he's asking for a light for those soggy gutter butts).
|
||
</P>
|
||
<P>
|
||
He doesn't like the Linux text/console editors he's tried. He doesn't
|
||
bother to lay out the criteria against which he's rating them. Other
|
||
than that it's simply an announcement of a library which is built over
|
||
the top of SLang which, of course is built over the top of ncurses.
|
||
</P>
|
||
<P>
|
||
It would be easy to cast aspersions, even to question my fellow editors
|
||
on the merits of including this article. However, I'll just let the
|
||
article speak for itself. I'll ask, why doesn't xemacs support mouse
|
||
on the console or within some form of xterm (xemacs does support ncurses
|
||
color, and menus)? How about vim?
|
||
</P>
|
||
<P>
|
||
Personally I mostly use vim or xemacs in viper (vi emulation) mode.
|
||
There are about 100 other text editors for Linux and UNIX text mode
|
||
(and more for X --- nedit being the one I suggest for new users who
|
||
don't want to learn vi --- or who decide they hate it even after they
|
||
learn it).
|
||
</P>
|
||
<P>
|
||
-- Jim Dennis
|
||
</P>
|
||
|
||
<blockquote><font color="#000066">I hope that Stephen's comment in the previous portion clarifies what he
|
||
was really thinking. On the cigarette analogy, he has roll-your-own
|
||
papers in his pocket, of a C++ variety, but needs someone to share loose
|
||
tobacco. Then everyone sharing this particular vice can enjoy having a
|
||
smoke together... downwind of folk who already like their text-editors :D
|
||
Yes, folk who are used to seeing their brand down at the liquor store
|
||
are likely to think making your own cigarettes is either quaint or
|
||
nutty. But it's a big world out here, and the open source world is
|
||
built by folk who like to roll their own...
|
||
-- Heather</font></blockquote>
|
||
|
||
<blockquote><font color="green">Let's remember that when Stephen complains,
|
||
he doesn't just whine and expect others to do things his way. Rather, he takes
|
||
it upon himself to
|
||
contribute code that does whatever it is he's complaining about. See
|
||
<A HREF="../issue86/bint.html">I Broke the Console Barrier</A> in issue 86.
|
||
That was the main reason I published
|
||
<A HREF="../issue87/bint.html">The Ultimate Editor</A>, even though I strongly
|
||
objected to his assumptions that (1) C/C++ are the only worthwhile
|
||
languages and (2) emacs should be flogged over the head for not using menus
|
||
and keystrokes à la DOS <TT>edit</TT>. The second bothered me enough to insert
|
||
an Editor's note saying there are other issues involved. The first didn't bother me quite
|
||
as much, so I sent the author a private e-mail listing the C/C++ objections and
|
||
asked him to consider a follow-up article or Mailbag letter that took them into
|
||
account. And it worked: we had a great discussion between Stephen and the
|
||
Editors' list about C/C++ vs scripting languages, and that led to some excellent
|
||
article ideas.
|
||
|
||
<P> Also remember that Stephen is homeless, and his Internet access
|
||
is limited to an hour here, an hour there on public-access terminals. A far cry
|
||
from simply sitting in front of your computer that happens to be already on.
|
||
So he is putting a high level of commitment into writing these articles and
|
||
programs, higher than many people would be willing to do. It's unfortunate
|
||
that his limited Internet access prevented me from knowing at press time that
|
||
he had decided on a last-minute revision to tone down the article and make it
|
||
more balanced, but c'est la vie.
|
||
|
||
-- Iron</font></blockquote>
|
||
|
||
<!-- end 2 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="mailbag.3"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">editor's comment...</FONT></H3>
|
||
Tue, 4 Feb 2003 11:16:59 +0100
|
||
<BR>james (<a href="mailto:gazette@ssc.com?subject=%20Re%3A%20%5BLG%2088%5D%20mailbag%20%233%20editot%20to%20editor">jamiergroberts from mailsnare.net</a>)
|
||
|
||
|
||
<P>
|
||
In Linux Gazette ( a most excellent ongoing effort, btw):
|
||
</P>
|
||
|
||
<blockquote><font color="#000066">On behalf of the staff and the Gang, thanks!
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
<A HREF="../issue87/bint.html"
|
||
>http://www.linuxgazette.com/issue87/bint.html</A>
|
||
</P>
|
||
<P>
|
||
there's an editorial aside:
|
||
</P>
|
||
<P><STRONG><FONT COLOR="#006633"><EM><BLOCKQuote>
|
||
The Ultimate Editor would be what emacs should have been: an extensible
|
||
editor with an intuitive mouse-and-menu interface. [Editor's note: emacs
|
||
was born before mice and pulldown menus were invented.]
|
||
</BLOCKQuote></EM></FONT></STRONG></P>
|
||
<P>
|
||
AFAIK, nope
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
||
height="24" width="20" align="middle"> Or at least, not exactly! This would be better:
|
||
</P>
|
||
|
||
<TABLE WIDTH="95%" BORDER="1" BGCOLOR="#FFFFCC"><TR><TD>
|
||
<p align="center">...............</p>
|
||
<P><BLOCKQuote>
|
||
[Editor's note: emacs was born before mice and pulldown menus were *widely
|
||
known outside research institutes*.]
|
||
</BLOCKQuote></P><p align="center">...............</p>
|
||
</TD></TR></TABLE>
|
||
<P>
|
||
Though of course, RMS was <EM>at</EM> a research institute, so may have known of
|
||
mice by then
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
||
height="24" width="20" align="middle">
|
||
</P>
|
||
<P>
|
||
For mouse references, see (amongst many other possibilities):
|
||
</P>
|
||
<P><BLOCKQuote>
|
||
<A HREF="http://www.digibarn.com/friends/butler-lampson/index.html"
|
||
>http://www.digibarn.com/friends/butler-lampson/index.html</A>
|
||
</BLOCKQuote></P>
|
||
<P>
|
||
or any of the Engelbart stuff. Mice were pretty well known by '72, Emacs
|
||
dates from '76: TECO (Emacs' predecessor) does however date back almost to
|
||
the invention of the mouse - I haven't found out exactly when TECO was
|
||
initiated, around '64 I guess (but see
|
||
</P>
|
||
<P>
|
||
<A HREF="http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/teco/doc/tecolore.txt"
|
||
>http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/teco/doc/tecolore.txt</A>
|
||
</P>
|
||
<P>
|
||
if the question is really of interest).
|
||
</P>
|
||
|
||
<blockquote><font color="#000066">I think, strictly speaking, that the editor macros were by their nature
|
||
trapped in the environment of the editor they were macros <EM>for</EM> : TECO.
|
||
So it isn't precisely right to say that TECO was emacs' predecessor;
|
||
"parent" or "original environment" maybe, but I don't believe TECO was
|
||
intended to be a general purpose editor ... much less the incredible
|
||
power beyond that, that the emacs environment grew into after taking off
|
||
on its own.
|
||
</font></blockquote>
|
||
<blockquote><font color="#000066">Not all menus are pull-down, nor should a mouse be required to reach
|
||
pull-down menus... a matter of style and usability. For my own opinion,
|
||
I feel that emacs does have menus; they just don't always look the part.
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
This is all, I agree, excessively pedantic - I've also offered my services
|
||
as occasional proofreader
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
||
height="24" width="20" align="middle">
|
||
</P>
|
||
<P>
|
||
JR
|
||
</P>
|
||
<BLOCKQUOTE><FONT COLOR="green">Thanks to everybody who offered to proofread.
|
||
We now have some twenty voluteers.
|
||
-- Iron</FONT></BLOCKQUOTE>
|
||
|
||
<!-- end 3 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="mailbag.4"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">wordsmithing in Gibberish</FONT></H3>
|
||
Mon, 24 Feb 2003 08:10:15 -0800 (PST)
|
||
<BR>Raj Shekhar (<a href="mailto:gazette@ssc.com?subject=%20Re%3A%20%5BLG%2088%5D%20mailbag%20%234%20gibberish">lunatech3007 from yahoo.com</a>)
|
||
|
||
|
||
<P>
|
||
Dear Ben,
|
||
</P>
|
||
<P>
|
||
This is with reference to "Perl One-Liner of the Month: The Case of
|
||
the Evil Spambots" which was published in th LG#86. I especially
|
||
enjoyed you defination of Gibberish.
|
||
</P>
|
||
<P>
|
||
Here is something I found in my fortune files. I am pretty sure
|
||
wordsmithing in the Marketroid language is done using this
|
||
procedure. Please keep up the good work of giving underhand blows to
|
||
the Marketroid.
|
||
</P>
|
||
|
||
<TABLE WIDTH="95%" BORDER="1" BGCOLOR="#FFFFCC"><TR><TD>
|
||
<p align="center">...............</p>
|
||
|
||
<blockquote><pre>Column 1 Column 2 Column 3
|
||
|
||
0. integrated 0. management 0. options
|
||
1. total 1. organizational 1. flexibility
|
||
2. systematized 2. monitored 2. capability
|
||
3. parallel 3. reciprocal 3. mobility
|
||
4. functional 4. digital 4. programming
|
||
5. responsive 5. logistical 5. concept
|
||
6. optional 6. transitional 6. time-phase
|
||
7. synchronized 7. incremental 7. projection
|
||
8. compatible 8. third-generation 8. hardware
|
||
9. balanced 9. policy 9. contingency
|
||
</pre></blockquote>
|
||
<P>
|
||
The procedure is simple. Think of any three-digit number, then
|
||
select the corresponding buzzword from each column. For instance,
|
||
number 257 produces "systematized logistical projection," a phrase
|
||
that can be dropped into virtually any report with that ring of
|
||
decisive, knowledgeable authority. "No one will have the remotest
|
||
idea of what you're talking about," says Broughton, "but the important
|
||
thing is that they're not about to admit it."
|
||
</P>
|
||
<P>
|
||
- Philip Broughton, "How to Win at Wordsmanship"
|
||
</P><p align="center">...............</p>
|
||
</TD></TR></TABLE>
|
||
<P>
|
||
Cheers
|
||
Raj Shekhar
|
||
</P>
|
||
<!-- sig -->
|
||
<!-- sig -->
|
||
|
||
<!-- end 4 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="mailbag.5"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">Point of Sale</FONT></H3>
|
||
Tue, 11 Feb 2003 14:44:29 -0800
|
||
<BR>Gene Mosher (<a href="mailto:gazette@ssc.com?subject=%20Re%3A%20%5BLG%2088%5D%20mailbag%20%235%20point%20of%20sale">gene from viewtouch.com</a>)
|
||
|
||
|
||
|
||
<blockquote><font color="#000066">Gene's HTML-only email barely escaped the spam trap, when Mike recognized
|
||
that it was a followup to
|
||
<a href="../issue87/lg_mail.html#mailbag.2">Issue 87, Mailbag #2</a>
|
||
</font></blockquote>
|
||
<blockquote><font color="#000066">Folks, while our main publication form is HTML, we have our own style
|
||
guidelines and pre-processing to do; if you're not submitting a full
|
||
article, we greatly prefer plain text.
|
||
-- Heather</font></blockquote>
|
||
<P><STRONG>
|
||
There's always the real thing.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
ViewTouch is genuine killer app. My life's work resulted in the sales
|
||
of millions of computers in the 26 years since I first started writing
|
||
and using POS software. I invented many of the concepts in use today
|
||
worldwide in retail software, including virtual touchscreen graphics
|
||
to represent the universe of retail business operations. Much of what
|
||
we are doing today will become standard in the future. ViewTouch is
|
||
the original and longest-lived. Thanks for your comments.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Gene Mosher
|
||
</STRONG></P>
|
||
<P>
|
||
Hello, Gene - I remember talking to you when I wanted to install VT for
|
||
a client in Florida a few years back (they backed out of the deal by
|
||
trying to rip me off, but, erm, I had the root password. We parted ways,
|
||
and they're still without a POS last I heard.
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
||
height="24" width="20" align="middle"> As I'd mentioned, I
|
||
really like the look and feel of your app; however, good as it is, not
|
||
being Open Source limits its applicability in the Linux world. If I
|
||
remember correctly, that was the upshot of our discussion here.
|
||
</P>
|
||
<P>
|
||
Just for the record, folks - Gene was very friendly and very helpful
|
||
despite the fact that the client had not yet bought a license from him;
|
||
given his help, the setup (at least the part that I got done before the
|
||
blow-up) was nicely painless.
|
||
</P>
|
||
<P>
|
||
Ben Okopnik
|
||
</P>
|
||
|
||
<blockquote><font color="#000066">We also got a request for aid finding a POS from a fellow with a pizza
|
||
parlor; luckily, Linux folk have already dealt with Pizza, although
|
||
it's worth following the old articles over at <EM>LJ</EM> and seeing how that
|
||
project moved along. We're still looking for news or articles from
|
||
people using or developing open source Point of Sale, and I re-emphasize,
|
||
we mean physical cash registers, not just e-commerce. E-commerce apps
|
||
we've got by the boatload, on sale and in "AS IS" condition.
|
||
-- Heather</font></blockquote>
|
||
|
||
<!-- end 5 -->
|
||
<HR>
|
||
<center>
|
||
<BIG><STRONG><FONT COLOR="maroon">GAZETTE MATTERS</FONT></STRONG></BIG>
|
||
<BR>
|
||
</center><HR>
|
||
<UL>
|
||
<!-- index_text begins -->
|
||
<li><A HREF="#gaz.1"
|
||
><strong>April/May/June schedule</strong></a>
|
||
<!-- index_text ends -->
|
||
</UL>
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="gaz.1"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/envelope.gif">
|
||
<FONT COLOR="navy">April/May/June schedule</FONT></H3>
|
||
Thu, 27 Feb 2003 13:08:57 -0800
|
||
<BR>Mike ("Iron") Orr (<a href="mailto:gazette@ssc.com?subject=%20Re%3A%20%5BLG%2088%5D%20gazette%20matters%20%231%20schedule"><em>Linux Gazette</em> Editor</a>)
|
||
|
||
<P>
|
||
I will be out of town March 18 - April 3 at the
|
||
<A HREF="http://www.python.org/pycon/">Python conference</A>
|
||
and <A HREF="http://www.python.org/cgi-bin/moinmoin/WebwareSprint">Webware
|
||
sprint</A> (and visiting New York, Chicago, and Columbus [Ohio]), Heather will
|
||
be busy the week before Memorial Day (May 26), and I'll be gone Memorial Day
|
||
weekend.
|
||
</P>
|
||
<P>
|
||
This means I'll need to finalize the April issue by March 14, so the
|
||
article deadline is March 10. I've let the recent authors know.
|
||
</P>
|
||
<P>
|
||
May's issue will be normal.
|
||
</P>
|
||
<P>
|
||
For June, the article deadline will be May 19 (a week early).
|
||
</P>
|
||
|
||
<!-- end 1 -->
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
<h5>This page edited and maintained by the Editors of <I>Linux Gazette</I><br>HTML script maintained by <A HREF="mailto:star@starshine.org">Heather Stern</a> of Starshine Technical Services, <A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
|
||
<br>Copyright © 2003
|
||
<br>Copying license <A HREF="http://www.linuxgazette.com/copying.html">http://www.linuxgazette.com/copying.html</A>
|
||
<BR>Published in Issue 88 of <i>Linux Gazette</i>, March 2003</H5>
|
||
</STRONG></SMALL></CENTER>
|
||
<!-- *** END copyright *** -->
|
||
<HR>
|
||
|
||
|
||
|
||
|
||
<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>
|
||
|
||
|
||
<center>
|
||
<BIG><BIG><STRONG><FONT COLOR="maroon">More 2¢ Tips!</FONT></STRONG></BIG></BIG><BR>
|
||
<!-- BEGIN tips -->
|
||
|
||
<STRONG>By <A HREF="mailto:linux-questions-only@ssc.com">The Readers of <i>Linux Gazette</I></A></STRONG></BIG>
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
<center><STRONG>See also: The Answer Gang's
|
||
<a href="../tag/kb.html">Knowledge Base</a>
|
||
and the <i>LG</i>
|
||
<a href="http://www.linuxgazette.com/search.html">Search Engine</a></STRONG>
|
||
</center><HR>
|
||
<UL>
|
||
<!-- index_text begins -->
|
||
<li><A HREF="#tips.1"
|
||
><strong>make in future? I'm confused *now*</strong></a>
|
||
<li><A HREF="#tips.2"
|
||
><strong>H/W detection in Debian ?</strong></a>
|
||
<li><A HREF="#tips.3"
|
||
><strong>ppp over nullmodem cable - Linux client, win2k RAS server</strong></a>
|
||
<li><A HREF="#tips.4"
|
||
><strong>kernels? make your own!</strong></a>
|
||
<li><A HREF="#tips.5"
|
||
><strong>Ipchains vs. Iptables</strong></a>
|
||
<li><A HREF="#tips.6"
|
||
><strong>a new language</strong></a>
|
||
<li><A HREF="#tips.7"
|
||
><strong>Key Remapping....</strong></a>
|
||
<li><A HREF="#tips.8"
|
||
><strong>Palm magic</strong></a>
|
||
<li><A HREF="#tips.9"
|
||
><strong>Initial thoughts on ratpoison</strong></a>
|
||
<li><A HREF="#tips.10"
|
||
><strong>rc.local in debian</strong></a>
|
||
<li><A HREF="#tips.11"
|
||
><strong>recording sounds on linux for windows</strong></a>
|
||
<li><A HREF="#tips.12"
|
||
><strong>Secure Password Authorization - NTCR ?</strong></a>
|
||
<li><A HREF="#tips.13"
|
||
><strong>Fwd: Terminating Misbehaving Programs</strong></a>
|
||
<li><A HREF="#tips.14"
|
||
><strong>Two sound cards</strong></a>
|
||
<!-- index_text ends -->
|
||
</UL>
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.1"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">make in future? I'm confused *now*</FONT></H3>
|
||
Tue, 28 Jan 2003 00:35:59 -0600
|
||
<BR>Mike Orr (<a href="mailto:linux-questions-only@ssc.com?cc=hi_subri@hotmail.com&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%231"><em>Linux Gazette</em> Editor</a>)
|
||
<BR>Question by Subramanian Varadarajan (hi_subri from hotmail.com)
|
||
|
||
<P><STRONG>
|
||
hai,
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I am subbu and I encounterd this problem when i ran
|
||
</STRONG></P>
|
||
|
||
<pre><strong>make - filename.
|
||
</strong></pre>
|
||
<P><STRONG>
|
||
How to fix this problem?Can you help me.
|
||
</STRONG></P>
|
||
|
||
<pre><strong>make: *** Warning: File `makefile.machine' has modification time in
|
||
the future (2003-01-28 07:07:00 > 2003-01-28 00:09:19)
|
||
make: Nothing to be done for `all'.
|
||
make: warning: Clock skew detected. Your build may be incomplete.
|
||
</strong></pre>
|
||
<P><STRONG>
|
||
I guess that my real-time clock has set incorrectly. how to correct
|
||
it.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I appreciate your time.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
thanks,
|
||
<BR>subbu
|
||
</STRONG></P>
|
||
|
||
<blockquote><font color="#000066">Ugly HTML had to be beaten up and reformatted.
|
||
Please send messages to The Answer Gang in text format.
|
||
-- Heather</font></blockquote>
|
||
<BLOCKQUOTE>
|
||
[Mike]
|
||
The message means what it says: 'make' found a file that "was"
|
||
modified in the future. That may or may not be a problem, and if
|
||
it is, it may or may not be significant. Do you know by other
|
||
means whether 'makefile.machine' should have been updated? I.e., did you
|
||
modify any file related to it?
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
How did that file get on your machine in the first place? Did you
|
||
copy or untar it from another computer in a way that would have
|
||
preserved the foreign timestamp? If so, then the clock on the
|
||
other computer may be wrong.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
To check your own computer's clock, see the 'date' and 'hwclock'
|
||
commands. 'date' shows and sets Linux's time; 'hwclock' shows and
|
||
sets the real-time clock. First set Linux's time correctly, then
|
||
use 'hwclock --utc --systohc' to reset the hardware clock.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
If your hardware clock is pretty unreliable (as many are), you can
|
||
use 'hwclock --adjust' periodically (see "man hwclock"), run ntp
|
||
or chrony to synchronize your time with an Internet time server,
|
||
or put the kernel in "eleven-minute mode" where it resets the
|
||
hardware clock every eleven minutes. (Answer Gang, how do you
|
||
activate eleven-minute mode anyway?)
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
[Ben]
|
||
In the "hwclock" man page:
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE><BLOCKQuote>
|
||
This mode (we'll call it "11 minute mode") is off until something turns it
|
||
on. The ntp daemon xntpd is one thing that turns it on. You can turn
|
||
it off by running anything, including hwclock --hctosys, that sets the
|
||
System Time the oldfashioned way.
|
||
</BLOCKQuote></BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
Also, see the "kernel" option under "man ntpd".
|
||
</BLOCKQUOTE>
|
||
|
||
<!-- end 1 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.2"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">H/W detection in Debian ?</FONT></H3>
|
||
Sun, 02 Feb 2003 02:49:05 +0000
|
||
<BR>Jimmy O'Regan (<a href="mailto:linux-questions-only@ssc.com?cc=jimregan@dol.ie&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%232">jimregan from dol.ie</a>)
|
||
|
||
|
||
|
||
<blockquote><font color="#000066">In reference to:
|
||
<a href="http://www.linuxgazette.com/issue87/lg_mail.html#wanted.1">Issue87, help wanted #1</a>
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
You could try installing libdetect, and then running <TT>/usr/sbin/detect</TT>
|
||
(detect is also used by Mandrake). Aside from that, the only thing I can
|
||
suggest is filing bugs with <A HREF="http://www.debian.org/">Debian</A>.
|
||
</P>
|
||
|
||
<!-- end 2 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.3"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">ppp over nullmodem cable - Linux client, win2k RAS server</FONT></H3>
|
||
Sun, 02 Feb 2003 03:13:36 +0000
|
||
<BR>Jimmy O'Regan (<a href="mailto:linux-questions-only@ssc.com?cc=jimregan@dol.ie&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%233">jimregan from dol.ie</a>)
|
||
|
||
|
||
|
||
<blockquote><font color="#000066">In reference to:
|
||
<a href="http://www.linuxgazette.com/issue87/lg_mail.html#wanted.1">Issue87, help wanted #2</a>
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
The problem is the authentication on the Win2K side. Check out
|
||
<A HREF="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/apcguide/htm/appdevisv_8.asp"
|
||
>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/apcguide/htm/appdevisv_8.asp</A>
|
||
Basically, since I assume the RAS server is running etc, you just need
|
||
to enter this command on NT:
|
||
</P>
|
||
|
||
<blockquote><pre>netsh ras set authmode NODCC
|
||
</pre></blockquote>
|
||
<P>
|
||
Last month Linux Magazine (UK -
|
||
<A HREF="http://www.linux-magazine.com/issue/26/index_html"
|
||
>http://www.linux-magazine.com/issue/26/index_html</A>) ran an article on
|
||
setting up Direct Cable Connections with NT. I'll send on the details
|
||
when I find where I left the magazine. You may try searching
|
||
<A HREF="http://linux-magazin.de"
|
||
>http://linux-magazin.de</A> since Linux Magazine is a translated version of
|
||
that.
|
||
</P>
|
||
<P>
|
||
<A HREF="http://www.tldp.org/HOWTO/Modem-Dialup-NT-HOWTO-9.html"
|
||
>http://www.tldp.org/HOWTO/Modem-Dialup-NT-HOWTO-9.html</A>
|
||
</P>
|
||
<P>
|
||
This page may also be of use.
|
||
</P>
|
||
<!-- sig -->
|
||
|
||
<!-- end 3 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.4"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">kernels? make your own!</FONT></H3>
|
||
Thu, 6 Feb 2003 02:08:18 -0800 (PST)
|
||
<BR>j l (<a href="mailto:linux-questions-only@ssc.com?cc=cs25x@yahoo.com&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%234">cs25x from yahoo.com</a>)
|
||
|
||
|
||
|
||
<blockquote><font color="#000066">In reference to:
|
||
<a href="http://www.linuxgazette.com/issue87/lg_mail.html#wanted.1">Issue87, help wanted #1</a>
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
Solution: stop using redhat, debian, mandrake kernels,
|
||
download a fresh kernel from kernel.org and build with
|
||
that.
|
||
</P>
|
||
<P>
|
||
The other answer, is to look in you Makefile, and
|
||
check the line beginning with "EXTRAVERSION=" If you
|
||
add your own name to that line, and run make, you
|
||
brand the kernel and modules with that name.
|
||
Hope that fixes your problem.
|
||
</P>
|
||
<HR width="10%" align="center">
|
||
<blockquote><code><font color="#000033"><br>"Sean Shannon" <sean@dolphins.org>
|
||
<br>Tue, 4 Feb 2003 10:48:20 -0500
|
||
</font></code></blockquote>
|
||
<P><STRONG>
|
||
The hardest part in compiling a kernel is making the ".config" file. Some
|
||
things to check:
|
||
</STRONG></P>
|
||
|
||
<p><Strong><ol>
|
||
<LI>modify the Makefile changing EXTRA VERSION variable (looks like you did
|
||
this since the 2.4.18custom directory is made)
|
||
|
||
|
||
<LI>make sure when you configure ( I use make menuconfig) that you select
|
||
"enable module support"
|
||
|
||
|
||
<LI>make sure to run "make dep" after "make menuconfig"
|
||
</ol></Strong></p>
|
||
<BLOCKQUOTE>
|
||
[Thomas Adams]
|
||
Yep -- good idea.
|
||
</BLOCKQUOTE>
|
||
|
||
<p><Strong><ol>
|
||
<LI>Are you sure that "make modules" and "make bzImage" completed
|
||
successfully?
|
||
</ol></Strong></p>
|
||
<BLOCKQUOTE>
|
||
[Thomas Adams]
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
Well, I usually do something like:
|
||
</BLOCKQUOTE>
|
||
|
||
<blockquote><pre>alias beep='echo -e "\a"'
|
||
|
||
make modules && for i in $(seq 10); do beep; done &&
|
||
make bzImage && for i in $(seq 10); do beep; done
|
||
</pre></blockquote>
|
||
|
||
<p><Strong><ol>
|
||
<LI>here is the install procedure I use (System.map is a symbolic link,
|
||
RedHat 7.0, I use raid 1 disk device /dev/md0, you'll probably use
|
||
/dev/hda )
|
||
</ol></Strong></p>
|
||
<BLOCKQUOTE>
|
||
[Thomas Adams]
|
||
or <TT>/dev/sda</TT> if s/he has a SCSI
|
||
</BLOCKQUOTE>
|
||
<P><STRONG>
|
||
To install the new kernel:
|
||
</STRONG></P>
|
||
<P><STRONG><BLOCKQuote>
|
||
Copy the new kernel and system map to the <20>boot<6F> directory
|
||
</BLOCKQuote></STRONG></P>
|
||
|
||
<pre><strong>cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.16-22-custom
|
||
cp /usr/src/linux/System.map /boot/System.map-2.2.16-22-custom
|
||
</strong></pre>
|
||
<P><STRONG>
|
||
Edit file: <20>/etc/lilo.conf<6E>. Add a new <20>image<67> section (add everything below
|
||
)
|
||
</STRONG></P>
|
||
<p align="center">See attached <tt><a href="misc/tips/customkernel.lilo.conf.txt">customkernel.lilo.conf.txt</a></tt></p>
|
||
<BLOCKQUOTE>
|
||
[Thomas Adams]
|
||
Often called a "stanza". Be careful though. I'd be
|
||
more inclined to "label" this as "linux-test" so that
|
||
it doesn't infringe on the "old" version of the
|
||
kernel. Remember that up until this point, you're
|
||
still testing (a trial run) the new kernel.
|
||
</BLOCKQUOTE>
|
||
<P><STRONG>
|
||
Activate the change as of next re-boot
|
||
</STRONG></P>
|
||
|
||
<pre><strong>/sbin/lilo
|
||
</strong></pre>
|
||
<P><STRONG>
|
||
Install new System.map
|
||
</STRONG></P>
|
||
|
||
<pre><strong>rm /boot/System.map
|
||
ln -s /boot/System.map-2.2.16-22-custom /boot/System.map
|
||
</strong></pre>
|
||
<P><STRONG>
|
||
Reboot the system to build module.dep file
|
||
</STRONG></P>
|
||
|
||
<pre><strong>shutdown -r now
|
||
</strong></pre>
|
||
<BLOCKQUOTE>
|
||
[Thomas Adams]
|
||
Hmmm, deprecated. "Init 6" is a better way.
|
||
</BLOCKQUOTE>
|
||
<P><STRONG>
|
||
Reboot the system after the login prompt appears
|
||
Enter <20>alt-ctrl-del<65> key combination
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Reboot performed because modules.dep is created on first boot (if not, try
|
||
running the "depmod" command manually then reboot)
|
||
</STRONG></P>
|
||
<BLOCKQUOTE>
|
||
[Thomas Adam]
|
||
Not necessary. "depmod" is ran through all of the init
|
||
levels on a modern Linux system......
|
||
</BLOCKQUOTE>
|
||
<P><STRONG>
|
||
Good luck.
|
||
Sean Shannon
|
||
</STRONG></P>
|
||
<BLOCKQUOTE>
|
||
[Jim Dennis]
|
||
Most of this can be automated down to just two lines:
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE><BLOCKQUOTE><CODE>
|
||
make menuconfig
|
||
<BR>make clean dep bzImage modules modules_install install
|
||
</CODE></BLOCKQUOTE></BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
... note the list of multiple targets all on one line.
|
||
Make install will look for an executable (usually a shell script)
|
||
named <TT>/sbin/installkernel</TT> (or even ~/bin/installkernel) and call
|
||
that with a set of arguments as documented in ... (<TT>/usr/src/linux</TT>)
|
||
arch/i386/boot/install.sh
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
Here's a relevant excerpt:
|
||
</BLOCKQUOTE>
|
||
|
||
<blockquote><pre># Copyright (C) 1995 by Linus Torvalds
|
||
# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin
|
||
# "make install" script for i386 architecture
|
||
# Arguments:
|
||
# $1 - kernel version
|
||
# $2 - kernel image file
|
||
# $3 - kernel map file
|
||
# $4 - default install path (blank if root directory)
|
||
#
|
||
# User may have a custom install script
|
||
|
||
if [ -x ~/bin/installkernel ]; then exec ~/bin/installkernel "$@"; fi
|
||
if [ -x /sbin/installkernel ]; then exec /sbin/installkernel "$@"; fi
|
||
</pre></blockquote>
|
||
<BLOCKQUOTE>
|
||
So this can put the approprite files into the appropriate places
|
||
and run <TT>/sbin/lilo</TT> or whatever is necessary on your system.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
I like to copy .config into <TT>/boot/config-$KERNELVERSION</TT>
|
||
Also, in my case the script as to mount -o remount,rw <TT>/boot</TT>
|
||
since I normally keep <TT>/boot</TT> mounted in read-only mode.
|
||
The script remounts it back to ro mode after running <TT>/sbin/lilo.</TT>
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
For new kernels you can save some time in menuconfig by preceding
|
||
that make with:
|
||
</BLOCKQUOTE>
|
||
|
||
<blockquote><pre> cp /boot/config-$RECENTKERNELVERSION ./.config.old
|
||
make oldconfig
|
||
</pre></blockquote>
|
||
<BLOCKQUOTE>
|
||
... which will set all the new config options to match any
|
||
corresponding settings in the old config. Then you can focus
|
||
on the new stuff in menuconfig.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
Another useful tweak for some people is to edit ... (<TT>/usr/src/linux</TT>)
|
||
<TT>.../scripts/Menuconfig</TT> and find the single_menu_mode variable:
|
||
</BLOCKQUOTE>
|
||
|
||
<blockquote><pre># Change this to TRUE if you prefer all kernel options listed
|
||
# in a single menu rather than the standard menu hierarchy.
|
||
#
|
||
single_menu_mode=
|
||
</pre></blockquote>
|
||
<BLOCKQUOTE>
|
||
... for those that don't like to have to expend extra keystrokes
|
||
popping in and out of subsections of the menuconfig dialogs.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
Sadly this particular featuer as changed (at least by 2.5.59)
|
||
with the inclusion of a new kconfig system (instead of menuconfig).
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
You can get a collapsible try of menu options in the new system
|
||
using: make menuconfig MENUCONFIG=single_menu
|
||
(However, it it starts with all branches collapsed. <grump!>
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=";)"
|
||
height="24" width="20" align="middle">
|
||
</BLOCKQUOTE>
|
||
|
||
<!-- end 4 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.5"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Ipchains vs. Iptables</FONT></H3>
|
||
Fri, 14 Feb 2003 11:06:01 +0100
|
||
<BR>De Groote, Patrick (<a href="mailto:linux-questions-only@ssc.com?cc=Patrick.DeGroote@NETnet.be&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%235">Patrick.DeGroote from NETnet.be</a>)
|
||
|
||
|
||
|
||
<blockquote><font color="#000066">In reference to:
|
||
<a href="http://www.linuxgazette.com/issue87/lg_mail.html#wanted.1">Issue87, help wanted #6</a>
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
if you use ipchains, then you should look at masquerading and
|
||
port-forwarding.
|
||
</P>
|
||
<P>
|
||
following command
|
||
</P>
|
||
|
||
<blockquote><pre>ipmasqadm portfw -a -P tcp -L $4 4662 -R 192.168.1.100 4662
|
||
</pre></blockquote>
|
||
<P>
|
||
should do the trick.
|
||
</P>
|
||
<P>
|
||
rgds
|
||
Patrick De Groote
|
||
</P>
|
||
<HR width="10%" align="center">
|
||
<blockquote><code><font color="#000033"><br>Bruce Ferrell <bferrell@baywinds.org>
|
||
<br>Sat, 22 Feb 2003 17:30:34 -0800
|
||
</font></code></blockquote>
|
||
<P>
|
||
if you're using ipchains you need something like this:
|
||
</P>
|
||
|
||
<blockquote><pre>/usr/sbin/ipmasqadm portfw -a -P tcp -L <EXTERNAL ADDRESS> 11900 -R <INTERNAL ADDRESS> 11900
|
||
</pre></blockquote>
|
||
|
||
<blockquote><font color="#000066">The point is, whether you use a variable or hardwire in an address, you
|
||
need to specify both sides of the forwarding connection. Also note that
|
||
the two examples selected a different port to play on, but the principle
|
||
is the same. I hope that leaving both examples in makes it all clearer
|
||
to readers.
|
||
-- Heather</font></blockquote>
|
||
<HR width="10%" align="center">
|
||
<blockquote><code><font color="#000033"><br>Jim Kielman <jimk@midbc.com>
|
||
<br>05 Feb 2003 23:30:27 -0800
|
||
</font></code></blockquote>
|
||
<P>
|
||
I ran into a similar problem with a client that had to have PCAnywhere
|
||
access to one of the computers on his network. My solution was to use
|
||
"ipmasqadm portfw" to forward the ports PCAnywhere needed to access. The
|
||
server is running <A HREF="http://www.debian.org/">Debian</A> potato with a stock 2.2.20 kernel. Here is what
|
||
I use:
|
||
</P>
|
||
|
||
<blockquote><pre>ipmasqadm portfw -a -P tcp -L <internet IP> 4162 -R <mldonkey IP> 4162
|
||
ipmasqadm portfw -a -P udp -L <internet IP> 4162 -R <mldonkey IP> 4162
|
||
ipmasqadm portfw -a -P tcp -L <internet IP> 4161 -R <mldonkey IP> 4161
|
||
ipmasqadm portfw -a -P udp -L <internet IP> 4161 -R <mldonkey IP> 4161
|
||
</pre></blockquote>
|
||
<P>
|
||
internet IP = the IP address of the computer connected to the internet.
|
||
</P>
|
||
<P>
|
||
mldonkey IP = the IP address of the computer running mldonkey.
|
||
</P>
|
||
<P>
|
||
I don't know if you need both udp and tcp, but it works for me. Hope
|
||
this helps.
|
||
</P>
|
||
<P>
|
||
Regards
|
||
<BR>Jim Kielman
|
||
</P>
|
||
|
||
<!-- end 5 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.6"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">a new language</FONT></H3>
|
||
Mon, 10 Feb 2003 00:16:49 -0800
|
||
<BR>Rick Moen (<a href="mailto:linux-questions-only@ssc.com?cc=rick@linuxmafia.com&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%236">the <em>LG</em> Answer Gang</a>)
|
||
|
||
|
||
|
||
<blockquote><font color="#000066">In reference to:
|
||
<a href="http://www.linuxgazette.com/issue86/lg_tips.html#tips.3">Issue 86, 2c Tips #3</a>
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
John Karns:
|
||
</P>
|
||
<P><STRONG><BLOCKQuote>
|
||
Cool - thnks for the pointer. I think I'll check it out. I knew that
|
||
some IDE's exist for Linux, but never really took the time to look at one.
|
||
</BLOCKQuote></STRONG></P>
|
||
<P><DL><DT>
|
||
Why look at only one when you can look at over a hundred?
|
||
<DD><A HREF="http://linuxmafia.com/~rick/linux-info/applications-ides.html"
|
||
>http://linuxmafia.com/~rick/linux-info/applications-ides.html</A>
|
||
</DL></P>
|
||
|
||
<blockquote><font color="#000066">Note we're pointing to his gathered list of numerous "integrated
|
||
development ennvironments" - the previous entry pointed to his
|
||
description answering that (1) yes we have them, lots and lots; and
|
||
(2) that if you think you're seeking one, you should make sure you
|
||
are solving the right problem first.
|
||
-- Heather</font></blockquote>
|
||
|
||
<!-- end 6 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.7"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Key Remapping....</FONT></H3>
|
||
Thu, 30 Jan 2003 13:37:20 -0800
|
||
<BR>Mike Orr (<a href="mailto:linux-questions-only@ssc.com?cc=jscott@sangoma.com&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%237"><em>Linux Gazette</em> Editor</a>)
|
||
<BR>Question by James Scott (jscott from sangoma.com)
|
||
|
||
<P><STRONG>
|
||
Is it possible to remap the <tab> key to another key on the keyboard?? One
|
||
of my co-workers has a broken left pinky and is going insane not being able
|
||
to use the tab key to complete commands.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I done a fair amount of searching to no avail... any help would be greatly
|
||
appreciated.
|
||
</STRONG></P>
|
||
<BLOCKQUOTE>
|
||
[Mike]
|
||
Grr, I just read yesterday about somebody turning Scroll Lock into another
|
||
Escape key, now where was it...?
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
You can remap any key using the "loadkeys", "showkey" (singular) and "dumpkeys"
|
||
commands. That's on the console. You have to do additional steps for X. See
|
||
the Keyboard and Console HOWTO
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
<A HREF="http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO.html"
|
||
>http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO.html</A>
|
||
</BLOCKQUOTE>
|
||
<P><STRONG>
|
||
Thanks for the quick reply. Helps a lot.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
James
|
||
</STRONG></P>
|
||
|
||
<!-- end 7 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.8"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Palm magic</FONT></H3>
|
||
Sun, 2 Feb 2003 10:21:46 +0100
|
||
<BR>Ben Okopnik (<a href="mailto:linux-questions-only@ssc.com?cc=huibert_alblas@web.de&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%238">the <em>LG</em> Answer Gang</a>)
|
||
<BR>Question by Huibert Alblas (huibert_alblas from web.de)
|
||
|
||
<P>
|
||
I was desperatly trying to use my palm with the evolution mailer, recompiled everything but the kitchen sink to get Gnome2 and Gnome1.4 capplets and applets totlaly mixed up in the end, it was working, but gnome was broken, so now I'm repairing Gnome2, and then try to write the apropriate spells for my Paml connetion
|
||
</P>
|
||
|
||
<blockquote><font color="#000066">Halb uses the Sorceror distro, which refers to compiling its scripts and
|
||
packages as "casting spells".
|
||
-- Heather</font></blockquote>
|
||
<BLOCKQUOTE>
|
||
[Ben]
|
||
I've found the "appropriate spells" for the Palm - for my M-125 with the
|
||
USB cable, at least - to be "jpilot" and "coldsync". "jpilot" is really
|
||
well done, except for the selection interface in the "Install" menu
|
||
(select a file, click "Add". Select next file, click "Add". And so on
|
||
for, say, 50 files.) "coldsync" works at a lower level - it's great for
|
||
reinitializing user info, a quick install with <EM>or</EM> without synching,
|
||
and generally tweaking Palm comms. As an example, among the files that I
|
||
carry on the Palm, I have The Moby Shakespeare collection (all of The
|
||
Bard in one file) and Gibbon's "Decline and Fall of the Roman Empire",
|
||
volumes 1-6; both rather large (~5MB). "jpilot" refused to load them
|
||
(segfaulted). So did my brother's Wind*ws Palm desktop. "coldsync",
|
||
however, when used with the "slow sync" option, managed it just fine.
|
||
<A HREF="http://www.kde.org/">KDE</A>'s palm app, though, is severely broken (to its credit, it mentions
|
||
that in the initial screens); it hosed my Palm so hard that I had to do
|
||
a hard reset, and re-init the user (another thing that "jpilot" couldn't
|
||
handle.)
|
||
</BLOCKQUOTE>
|
||
<P><STRONG>
|
||
Yes, well thanks for the info, Jpilot and stuff works like a charm (Palm M105 the small one), but I wanted to Sync my mailadresses in evolution........ wich is based upon gnome 1.4 (c)applets, which are horible to get to play nice with the Gonme2.0 install.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Good to know about the big files though...
|
||
</STRONG></P>
|
||
|
||
<!-- end 8 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.9"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Initial thoughts on ratpoison</FONT></H3>
|
||
Mon, 24 Feb 2003 09:40:55 -0700
|
||
<BR>Jason Creighton (<a href="mailto:linux-questions-only@ssc.com?cc=androflux@softhome.net&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%239">androflux from softhome.net</a>)
|
||
|
||
|
||
<P>
|
||
For those of you who don't know, ratpoison is a light (<EM>very</EM> light) window
|
||
manager. (<A HREF="http://ratpoison.sourceforge.net"
|
||
>http://ratpoison.sourceforge.net</A>). The basic scheme is to have all
|
||
apps fullscreen, using screen-like key bindings to switch between windows.
|
||
I've been using it for about an hour or so now (Hint: Look at the
|
||
sample.ratpoisonrc in the doc directory. Don't end up hacking the source code
|
||
to change the prefix key like I did.), and I'm liking it. The best thing, of
|
||
course, is the tons of screen real estate you get without any window title
|
||
bars, borders, etc.
|
||
</P>
|
||
<P>
|
||
If you like doing everything with the keyboard or you want tons of screen real
|
||
estates, give ratpoison a whirl.
|
||
</P>
|
||
<P>
|
||
Also see this article on freshmeat: <A HREF="http://freshmeat.net/articles/view/581"
|
||
>http://freshmeat.net/articles/view/581</A>
|
||
</P>
|
||
|
||
<!-- end 9 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.10"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">rc.local in debian</FONT></H3>
|
||
Sun, 9 Feb 2003 15:42:07 +0530
|
||
<BR>Rick Moen (<a href="mailto:linux-questions-only@ssc.com?cc=joy12@vsnl.net&cc=rick@linuxmafia.com&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%2310">the <em>LG</em> Answer Gang</a>)
|
||
<BR>Question by Joydeep Bakshi (joy12 from vsnl.net)
|
||
|
||
<P><STRONG>
|
||
If you aren't using RHL, simply edit <TT>/etc/rc.d/rc.local</TT>
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Atul
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
but there is no such file in debian . what file should I edit in <EM>debian</EM> ?
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
thanks in advanced.
|
||
</STRONG></P>
|
||
<BLOCKQUOTE>
|
||
The Linux Oracle has pondered your question deeply.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
And in response, thus spake the Oracle:
|
||
</BLOCKQUOTE>
|
||
|
||
<blockquote><pre>echo '#!/bin/sh' > /etc/rc.local
|
||
chmod 744 /etc/rc.local
|
||
RL=`grep ':initdefault:' /etc/inittab | cut -d: -f2`
|
||
echo "LO:$RL:once:/etc/rc.local" >> /etc/inittab
|
||
killall -HUP init
|
||
</pre></blockquote>
|
||
<BLOCKQUOTE>
|
||
You owe the Oracle a better understanding of why subverting the SysVInit
|
||
architecture is fundamentally a bad idea in the first place.
|
||
</BLOCKQUOTE>
|
||
|
||
<!-- end 10 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.11"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">recording sounds on linux for windows</FONT></H3>
|
||
Wed, 19 Feb 2003 02:19:49 +0800
|
||
<BR>Huibert Alblas (<a href="mailto:linux-questions-only@ssc.com?cc=50258246@student.cityu.edu.hk&cc=huibert_alblas@web.de&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%2311">huibert_alblas from web.de</a>)
|
||
<BR>Question by 50258246 (50258246 from student.cityu.edu.hk)
|
||
|
||
<P><STRONG>
|
||
Hi!i'm rayho, i would like to ask how to receive sound from the microphone and
|
||
then transmit the sound from the linux os to the window os system.Also,I'm not
|
||
understand where the sound source is stored in which file in the linux os and
|
||
what hardware and software do i need to do this transmition.Thankyou for your
|
||
help!!
|
||
</STRONG></P>
|
||
<BLOCKQUOTE>
|
||
[Halb]
|
||
Hi there,
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
This may sound a bit simple but I would do it like this:
|
||
</BLOCKQUOTE>
|
||
|
||
<blockQuote><ul>
|
||
<LI>record your sound with anything that works (grecord or something)
|
||
|
||
<LI>save as any file format you like (wav, mp3, ogg)
|
||
|
||
<LI>copy this file over to the windoze box (samba)
|
||
|
||
<LI>play file on windows (media-player, realplayer,..)
|
||
</ul></blockQuote>
|
||
<BLOCKQUOTE>
|
||
needed Hardware:
|
||
</BLOCKQUOTE>
|
||
|
||
<blockQuote><ul>
|
||
<LI>2 pc with networking cards (rj45, Wlan,..)
|
||
|
||
<LI>microphone
|
||
|
||
<LI>loudspeakers (? I looked this one up in dict.leo.org)
|
||
</ul></blockQuote>
|
||
<BLOCKQUOTE>
|
||
needed software:
|
||
</BLOCKQUOTE>
|
||
|
||
<blockQuote><ul>
|
||
<LI>Linux (any flavour you like)
|
||
|
||
<LI>Windoze
|
||
</ul></blockQuote>
|
||
<BLOCKQUOTE>
|
||
On the other hand, you might not want to transport single files, but want to do some kind of Internet audio broadcasting or something. You might want to look into
|
||
</BLOCKQUOTE>
|
||
|
||
<blockQuote><ul>
|
||
<LI><A HREF="http://www.shoutcast.com"
|
||
>http://www.shoutcast.com</A>
|
||
|
||
<LI><A HREF="http://www.peercast.org"
|
||
>http://www.peercast.org</A> ( p2p radio based on the gnutella protokol, I don't know about the license, but source is available)
|
||
|
||
<LI><A HREF="http://streamerp2p.com/streamer.htm"
|
||
>http://streamerp2p.com/streamer.htm</A> ( p2p radio GPLed)
|
||
</ul></blockQuote>
|
||
<BLOCKQUOTE>
|
||
What did you have in mind?
|
||
</BLOCKQUOTE>
|
||
|
||
<!-- end 11 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.12"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Secure Password Authorization - NTCR ?</FONT></H3>
|
||
Fri, 14 Feb 2003 01:18:41 +0000
|
||
<BR>Jimmy O'Regan (<a href="mailto:linux-questions-only@ssc.com?cc=ursine90@msn.com&cc=jimregan@dol.ie&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%2312">jimregan from dol.ie</a>)
|
||
<BR>Question by Neil Belsky (ursine90 from msn.com)
|
||
|
||
<P>
|
||
Neil Belsky wrote:
|
||
</P>
|
||
<P><STRONG><DL><DT>
|
||
Were you ever able to solve this problem?
|
||
<DD><A HREF="../issue64/lg_mail64.html#wanted/1"
|
||
>http://www.linuxgazette.com/issue64/lg_mail64.html#wanted/1</A>
|
||
</DL></STRONG></P>
|
||
<P>
|
||
NTCR is another name for NTLM, which is supported by fetchmail.
|
||
</P>
|
||
|
||
<!-- end 12 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.13"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Fwd: Terminating Misbehaving Programs</FONT></H3>
|
||
Wed, 12 Feb 2003 22:48:50 -0800 (PST)
|
||
<BR>Raj Shekhar (<a href="mailto:linux-questions-only@ssc.com?cc=lunatech3007@yahoo.com&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%2313">lunatech3007 from yahoo.com</a>)
|
||
|
||
|
||
<P><STRONG>
|
||
I receieved this tip for inclusion in my HOWTO
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
<A HREF="http://geocities.com/lunatech3007/doing-things-howto.html"
|
||
>http://geocities.com/lunatech3007/doing-things-howto.html</A>
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
However as it a bit advanced for a newbie's howto I did
|
||
not include it. i am forwarding it to you.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Regards
|
||
<BR>Raj
|
||
</STRONG></P>
|
||
<BLOCKQUOTE>
|
||
[C.R. Bryan III]
|
||
Subject: Doing Things in GNU/Linux
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
Good stuff
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
||
height="24" width="20" align="middle"> Something I can put on a firewall
|
||
machine when I put it onsite (since I leave <A HREF="http://www.apache.org/">Apache</A>
|
||
in for a status.cgi page anyway)
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
In the section "Terminating Misbehaving Programs":
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE><BLOCKQuote>
|
||
If the afflicted machine is on a network with
|
||
another Linux machine, or a Windows machine with
|
||
PuTTY, there are additional steps that can be taken
|
||
before hitting the Big Red Two-by-Four switch. (My
|
||
network runs RHL 6.2 on older boxes, old as in P133,
|
||
so I get practice in this every time Netscape walks
|
||
into a Java site and freezes.)
|
||
</BLOCKQuote></BLOCKQUOTE>
|
||
|
||
<blockQuote><ol>
|
||
<LI>Shell into the afflicted machine.
|
||
|
||
Use ssh if you've got it, telnet otherwise. If VNC
|
||
is installed at both ends, maybe you can use that.
|
||
Just because the local desktop is frozen doesn't
|
||
always mean that all desktop functioning is frozen.
|
||
|
||
If the machine won't log you in, obviously it's
|
||
game-over, so at that point you have to reset the
|
||
box. Often, though, especially on older boxen, it's
|
||
just X that's either frozen or in a really deep
|
||
thrashing session, and you can get a shell prompt.
|
||
Root-to-root ssh is most convenient.
|
||
|
||
|
||
<LI>Get root on the afflicted box with su.
|
||
|
||
|
||
<LI>Try to kill off just the program that's freezing
|
||
things, and try to do it nicely.
|
||
|
||
<br> <br>
|
||
a. If you can get X apps to forward, or you can get
|
||
a VNC window open, you can bring up kpm (the KDE
|
||
process manager), which, with all the information
|
||
presented, allows you to pinpoint just the app to
|
||
kill with a right-click. Try several times to get it
|
||
to go away, starting with Hangup, then Terminate,
|
||
then Kill. The more of a chance you give the program
|
||
to clean up its exit, the less garbage you'll leave
|
||
lying around in the system.
|
||
|
||
<br> <br>
|
||
b. If you know the name of the program that has
|
||
gotten hung, and only one instance of it is running,
|
||
use killall. Let's assume for example that it's
|
||
netscape:
|
||
|
||
<br> <br>
|
||
<tt># killall -HUP netscape
|
||
<br># killall -TERM netscape
|
||
<br># killall -KILL netscape</tt>
|
||
|
||
<br> <br>
|
||
Killall does just that, kills off every instance of
|
||
a program that it finds. That's appropriate for
|
||
netscape, since it has a session-manager core which
|
||
is usually the part that's locked up. If you've got
|
||
a dozen xterms open, and ytree running in half of
|
||
them, though, killing off every ytree might not be
|
||
what you want; often, it's the helper-app that ytree
|
||
launched that's frozen up (lynx, for instance) and
|
||
you can killall that.
|
||
|
||
<br> <br>
|
||
c. Use top and other shell tools to zero in on which
|
||
process to kill, then use kill.
|
||
(Here I don't have that much experience: when I need
|
||
to use top and kill, it's on a firewall without X,
|
||
where all the running processes fit in an xterm/ssh
|
||
window, so it's simple to fish out the pid to kill.)
|
||
|
||
|
||
<LI>If it won't kill, or you can't figure out who to
|
||
kill, or things just seem hosed at the X level, as
|
||
long as you can get root on a shell command-line,
|
||
you can tell it:
|
||
|
||
<br> <br>
|
||
|
||
<tt># init 3;init 5</tt>
|
||
|
||
<br> <br>
|
||
|
||
...and that'll do what ctrl-alt-bs would do, restart
|
||
X to a graphic login. Your underlying filesystem
|
||
will have cores and DEADJOEs left lying around from
|
||
the X-level programs that had to abort, but you
|
||
won't have to fsck everything on a dirty boot.
|
||
|
||
|
||
<LI>If you think you might have stuck ports and locks from
|
||
the killed X-level processes, and the machine
|
||
doesn't have duties that would prevent it, or if X
|
||
won't come back up, you can do a clean reboot to put
|
||
things back in order, probably in less time than
|
||
it'd take to find and free the stuck resources...
|
||
|
||
<br> <br>
|
||
<tt># shutdown -r now</tt>
|
||
|
||
<br> <br>
|
||
|
||
That'll take down the X level, giving the X programs
|
||
a chance to clean up after themselves, then the rest
|
||
of the machine, and your filesystem will be
|
||
unmounted and rebooted cleanly.
|
||
</ol></blockQuote>
|
||
<BLOCKQUOTE>
|
||
Bottom line: if you can shell or VNC into the frozen
|
||
machine, there are things you can do to avoid losing
|
||
data in the innocent processes you're running in X
|
||
or corrupting your filesystem. You can even do some
|
||
of these things from Windows if you have the right
|
||
tools (telnet, ssh, PuTTY, VNC), as long as you have
|
||
two or more machines on the same network.
|
||
</BLOCKQUOTE>
|
||
<BLOCKQUOTE>
|
||
How much of this you think might be appropriate to a
|
||
newbie-help, I don't know, but that's my experience,
|
||
anyway
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
||
height="24" width="20" align="middle">
|
||
</BLOCKQUOTE>
|
||
|
||
<!-- end 13 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<P> <A NAME="tips.14"><HR WIDTH="75%" ALIGN="center"></A> <P>
|
||
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
|
||
<FONT COLOR="navy">Two sound cards</FONT></H3>
|
||
Wed, 5 Feb 2003 11:52:43 +0100
|
||
<BR>Dean Buhrmann (<a href="mailto:linux-questions-only@ssc.com?cc=d.buhrmann@chello.nl&subject=%20Re%3A%20%5BLG%2088%5D%202c%20Tips%20%2314">d.buhrmann from chello.nl</a>)
|
||
|
||
|
||
|
||
<blockquote><font color="#000066">In reference to:
|
||
<a href="http://www.linuxgazette.com/issue87/lg_tips.html#tips.1">Issue 87, 2c Tips #1</a>
|
||
-- Heather</font></blockquote>
|
||
<P>
|
||
Hello,
|
||
</P>
|
||
<P>
|
||
Great how you tackled this problem. I have a simple Sounblaster 16 card.
|
||
This card (with this chipset) appeared to be multichannel.
|
||
</P>
|
||
<P>
|
||
I play online games on the internet (Tribes2) and we use for communication a
|
||
voice communication program (Teamspeak2). I also want to hear the sound of
|
||
the game. Teamspeak2 is able to use a different channel (dsp0/dsp1).
|
||
</P>
|
||
<P>
|
||
So i adress the gamesound to dev/dsp1 and the voice communication to
|
||
<TT>/dev/dsp0.</TT> I couldn't get it working with alsa drivers, but others with
|
||
different soundcards can. So i used the OSS driver. It works great with only
|
||
one soundcard.
|
||
</P>
|
||
<P>
|
||
If a program only wants to adress the default <TT>/dev/dsp</TT> (dsp0) and you want to
|
||
let it use <TT>/dev/dsp1</TT> you can change the link <TT>/dev/dsp</TT> --> <TT>/dev/dsp1</TT>
|
||
</P>
|
||
<P>
|
||
More information on <A HREF="http://www.teamspeak.org"
|
||
>http://www.teamspeak.org</A>
|
||
</P>
|
||
<P>
|
||
Linux is a very stable platform for games and there is now a (free)
|
||
voicecommunication program too.
|
||
</P>
|
||
|
||
<!-- end 14 -->
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
<h5>This page edited and maintained by the Editors of <I>Linux Gazette</I><br>HTML script maintained by <A HREF="mailto:star@starshine.org">Heather Stern</a> of Starshine Technical Services, <A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
|
||
<br>Copyright © 2003
|
||
<br>Copying license <A HREF="http://www.linuxgazette.com/copying.html">http://www.linuxgazette.com/copying.html</A>
|
||
<BR>Published in Issue 88 of <i>Linux Gazette</i>, March 2003</H5>
|
||
</STRONG></SMALL></CENTER>
|
||
<!-- *** END copyright *** -->
|
||
<HR>
|
||
|
||
|
||
<H3>Contents:</H3>
|
||
<dl>
|
||
<dt><a href="#tag/greeting"
|
||
><strong>¶: Greetings From Heather Stern</strong></A></dl>
|
||
|
||
<DL>
|
||
<!-- index_text begins -->
|
||
<dt><A HREF="#tag.1"
|
||
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
||
alt="(?)" border="0"
|
||
><strong>How can I turn on pc into two (effecively)?</strong></a>
|
||
<dt><A HREF="#tag.2"
|
||
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
||
alt="(?)" border="0"
|
||
></a>H/W detection in Debian ? --or--
|
||
<dd><A HREF="#tag.2"
|
||
><strong>There's More Than One Way To Detect It</strong></a>
|
||
<br>TMT1WTDI: not just for perl hackers anymore
|
||
<dt><A HREF="#tag.3"
|
||
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
||
alt="(?)" border="0"
|
||
></a>Regarding the paper entitled "Maintainability of the Linux Kernel" --or--
|
||
<dd><A HREF="#tag.3"
|
||
><strong>Linux Kernel Maintainability: Bees Can't Fly</strong></a>
|
||
<br>but a Hurd of them might go Mach speed...
|
||
<dt><A HREF="#tag.4"
|
||
><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
||
alt="(?)" border="0"
|
||
><strong>routing to internet from home . Kernel 2.4</strong></a>
|
||
<!-- index_text ends -->
|
||
</DL>
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<A NAME="tag/greeting"><HR WIDTH="75%" ALIGN="center"></A>
|
||
<H3 align="left"><img src="../gx/dennis/hbubble.gif"
|
||
height="50" width="60" alt="(¶) " border="0"
|
||
>Greetings from Heather Stern</H3>
|
||
<!-- begin hgreeting -->
|
||
<p><em>Whew</em>! One thing I can say, there was a lot of good stuff this month. There's so many good things to say and I just can't edit them all.
|
||
|
||
<p>But don't you worry. We've got something for everyone this month. Newbies can enjoy a list of a bunch of apps designed to help setup be a little more fun (or at minimum, a little less headache). The intelligencia can see what the Gang thinks of some academic notions for the future of kernels. And everyone hungering for more about routing has something keen to get their teeth into. Experimenters... nice trick with two monitors, here.
|
||
|
||
<p>In the world of Linux there's more to politicking than just the DMCA guys trying to get us to stop ever looking at "their" precious copyrighted works ever again. Among the Linux kernel folk there's snatches here and there of an ongoing debate about source code control systems. You see, BitKeeper has the power to do grand things... but for people who have <em>not</em> decided that they hate CVS, it's a bit of a pain to pull out small patches. For people who don't qualify to use BitKeeper under their only-almost-free license (you can't use it if you work for someone who produces a competing sourcecode control system, if I read things right ... thus anyone who works for RH shouldn't, et al.) this is a bad thing.
|
||
|
||
<p>For that matter I'm a bit of a programmer myself, but if I'm going to even
|
||
glance in the kernel's direction, I need much smaller peices to chew on, and I really didn't want to spend the better part of a month learning yet another source system. (Not being paid for doing so, being a guiding factor in this case.)
|
||
I had to thrash around the net quite a bit to get a look at the much smaller portion of the whole.
|
||
|
||
<p>So some of the kernel gang wrote some scripts to help them with using the somewhat friendly web interface (folks, these definitions of "friendly" still need a lot of work) and Larry threatened to close down bkweb if that bandwidth hit got too high. In my opinion, just about the worst thing he could have said at that moment - it highlights why people are trying to escape proprietary protocols - they want features, but Linux folk, having tasted the clean air of freedom, don't want to be locked indoors just because a roof over their code's head is good to have at times.
|
||
|
||
<p>Don't get me wrong. Giant public mirrors of giant public projects are great things, and as far as I can tell BitKeeper is still committed to a friendly hosting of the 2.5.x kernel source tree, among a huge number of other projects. Likewise SourceForge. But we also need ways to be sure that the projects themselves can outlast the birth and death of companies, friendships, or the interest of any given individual to be a part of the project. The immortality of software depends on the right to copy it as much as you need to and store it anywhere or in any form you like. If the software you are using isn't immortal in this sense then neither are the documents, plans, hopes, or dreams that you store in it. More than the "viral freedom" clauses in the GPL or the "use it anywhere, just indemnify us for your dumb mistakes" nature of the MIT and BSDish licenses, this is the nature of the current free software movement. And you can quote me on that.
|
||
|
||
<p>Readers, if you have any tales of your own escapes from proprietary environments into Linux native software, especially any where it has made your life a little more fun, then by all means, we'd love to see your articles and comments. Thank you, and have a great springtime.
|
||
<!-- end hgreeting -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<A NAME="tag.1"><HR WIDTH="75%" ALIGN="center"></A>
|
||
<!-- begin 1 -->
|
||
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
||
height="50" width="60" alt="(?) " border="0"
|
||
>How can I turn on pc into two (effecively)?</H3>
|
||
|
||
|
||
<p><strong>From Chris Gibbs
|
||
</strong></p>
|
||
<p></strong></p>
|
||
|
||
<p align="right"><strong>Answered By Jimmy O'Regan, Jim Dennis
|
||
</strong></p>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
Hi ya,
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I have a dual headed system. I am not really happy with xinerama cause
|
||
having a different resolution on each monitor does not make sense for
|
||
me, and having two seperate Desktops for a single X session seems
|
||
limiting. Neither solution works well for apps like kwintv.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
But this is linux! I don't just want to have cake and eat it I want the
|
||
factory that makes it! What I really want is to have a ps2 mouse and
|
||
keyboard associated with one monitor and associate a usb mouse and
|
||
keyboard with the other monitor and have ability not just to run X from
|
||
each, but to have text mode available also.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Idea also being I could have text mode session and X session at the same
|
||
time, that way I can have kwintv fullscreen and play advmame in svga
|
||
mode full screen at the same time
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=";-)"
|
||
height="24" width="20" align="middle">
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
So how do I initialise the second video card (one pci, one agp) so I can
|
||
make it tty2 monitor or similar?
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jimmy]
|
||
Google
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<A HREF="http://www.google.com/linux?hl=en&lr=&ie=UTF-8&oe=utf-8&q=two+keyboards+two+mice+two+keyboards&btnG=Google+Search"
|
||
>http://www.google.com/linux?hl=en&lr=&ie=UTF-8&oe=utf-8&q=two+keyboards+two+mice+two+keyboards&btnG=Google+Search</A>
|
||
</blockQuote>
|
||
<blockQuote>
|
||
came up with these links:
|
||
<A HREF="http://www.ssc.com/pipermail/linux-list/1999-November/028191.html"
|
||
>http://www.ssc.com/pipermail/linux-list/1999-November/028191.html</A>
|
||
<A HREF="http://www.linuxplanet.com/linuxplanet/tutorials/3100/1"
|
||
>http://www.linuxplanet.com/linuxplanet/tutorials/3100/1</A>
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
Am I greedy or wot?
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jimmy]
|
||
Nah, cost effective. "Able to maximise the potential of sparse
|
||
resources". Some good CV-grade B.S.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
These links are to articles about X, I already know I can have X however
|
||
I want it accross the monitors. Thats easy...
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
What I want is seperate text mode consoles, so at risk of repeating
|
||
myself how do I initialise the second video card for text mode (not for
|
||
X) and how do I associate it with specific tty's
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jimmy]
|
||
Well, you could set up the first set for the console and use the second
|
||
for X Okay, not what you asked
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
||
height="24" width="20" align="middle">. So, to your <EM>actual</EM> question.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
The device should be <TT>/dev/fb1</TT>, or <TT>/dev/vcs1</TT> and <TT>/dev/vcsa1</TT> on older
|
||
kernels. You should have better luck with a kernel with Framebuffer
|
||
support - according to the Linux Console Project
|
||
(<A HREF="http://linuxconsole.sourceforge.net"
|
||
>http://linuxconsole.sourceforge.net</A>) there's hotplug support &
|
||
multiple monitor support. The Framebuffer HOWTO has a section on setting
|
||
up two consoles (<A HREF="http://www.tldp.org/HOWTO/Framebuffer-HOWTO-14.html"
|
||
>http://www.tldp.org/HOWTO/Framebuffer-HOWTO-14.html</A>).
|
||
The example focuses on setting up dual headed X again, but it should
|
||
contain what you need - "an example command would be "con2fb <TT>/dev/fb1</TT>
|
||
<TT>/dev/tty6</TT>" to move virtual console number six over to the second
|
||
monitor. Use Ctrl-Alt-F6 to move over to that console and see that it
|
||
does indeed show up on the second monitor."
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
It's serendipitous that yhou should ask this question since I just came
|
||
across a slightly dated article on how to do this:
|
||
</blockQuote>
|
||
<blockQuote><BLOCKQuote>
|
||
<A HREF="http://www.linuxplanet.com/linuxplanet/tutorials/3100/1"
|
||
>http://www.linuxplanet.com/linuxplanet/tutorials/3100/1</A>
|
||
</BLOCKQuote></blockQuote>
|
||
<blockQuote>
|
||
Some of the steps in this process might be unnecessary in newer
|
||
versions of XFree86 and the kernel. I can't tell you for sure as I
|
||
haven't tried this. Heck, I haven't even gotten around to configuring
|
||
a dual headed Xinerama system, yet.
|
||
</blockQuote>
|
||
|
||
<!-- end 1 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<A NAME="tag.2"><HR WIDTH="75%" ALIGN="center"></A>
|
||
<!-- begin 2 -->
|
||
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
||
height="50" width="60" alt="(?) " border="0"
|
||
>There's More Than One Way To Detect It</H3>
|
||
<H4 ALIGN="center">TMT1WTDI: not just for perl hackers anymore</H4>
|
||
|
||
|
||
<p><strong>From Joydeep Bakshi
|
||
</strong></p>
|
||
<p></strong></p>
|
||
<!-- ::
|
||
There's More Than One Way To Detect It
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
TMT1WTDI: not just for perl hackers anymore
|
||
:: -->
|
||
|
||
<p align="right"><strong>Answered By Rick Moen, Dave Bechtel, Heather Stern
|
||
</strong></p>
|
||
|
||
<blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Heather] All this is in response to last month's
|
||
<a href="../issue87/lg_mail.html#wanted.1">Help Wanted #1</a>
|
||
</blockquote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
1) kudzu is the DEFAULT H/W detection tool in RH & harddrake in MDK.
|
||
is there anything in debian?
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Rick]
|
||
As usual, the <A HREF="http://www.debian.org/">Debian</A> answer is "Sure, which ones do you want?"
|
||
</blockQuote>
|
||
<blockQuote><dl><dt>
|
||
discover
|
||
<dd>
|
||
Hardware identification system (thank you, Progeny Systems, Inc.),
|
||
for various PCI, PCMCIA, and USB devices.
|
||
</dl></blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Dave]
|
||
</blockQuote>
|
||
|
||
<blockquote><pre>apt-get update; apt-get install discover
|
||
|
||
(' apt-cache search discover ': )
|
||
discover - hardware identification system
|
||
discover-data - hardware lists for libdiscover1
|
||
libdiscover-dev - hardware identification library development files
|
||
libdiscover1 - hardware identification library
|
||
</pre></blockquote>
|
||
|
||
<blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Heather] Worthwhile to also search on the words "detect" and "config" and "cfg"
|
||
since many of the configurators or their helper apps have those words
|
||
in their package names.
|
||
</blockquote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
discover only detects the h/w, but kudzu does one task extra that is it also
|
||
configure the h/w. do u have any info. whether the latest version of discover
|
||
do this auto-config. ? ( I am in debian 3.0).
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Rick]
|
||
I'm unclear on what you mean by "configure the hardware". Discover
|
||
scans the PCI, USB, IDE, PCMCIA, and SCSI buses. (Optionally, it scans
|
||
ISA devices, and the parallel and serial ports.) It looks (by default)
|
||
for all of these hardware types at boot time: bridge cdrom disk
|
||
ethernet ide scsi sound usb video. Based on those probes, it does
|
||
appropriate insmods and resetting of some device symlinks.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
What problem are you trying to solve?
|
||
</blockQuote>
|
||
|
||
<blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Heather] For many people there's a bit of a difference between "the machine
|
||
notices the hardware" and "my apps which want to use a given piece of
|
||
hardware work without me having to touch them." In fact, finishing up
|
||
the magic that makes the second part happen is the province of various
|
||
apps that help configure XFree86 (SaX2/SuSE, Xconfigurator/RedHat,
|
||
XF86Setup and their kindred) - some of which are better at having that
|
||
magical "just works" feeling than others. Others are surely called on
|
||
by the fancier installation systems too. Thus Rick has a considerable
|
||
list below.
|
||
</blockquote>
|
||
<blockquote>For ide, scsi, cdrom it all seems rather simple; either the drives work,
|
||
or they don't. I haven't seen any distros auto-detect that I have a cd
|
||
burner and do any extra work for that, though.
|
||
</blockquote>
|
||
<blockquote>PCMCIA and USB are both environments that are well aware of the hot
|
||
swapping uses they're put to - generally once your cardbus bridge and
|
||
usb hub types are detected everything else goes well. or your device is
|
||
too new to have a driver for its part of the puzzle. You must load up
|
||
(or have automatically loaded by runlevels) the userland half of the
|
||
sypport, though. (package names: pcmcia-cs, usbmgr)
|
||
</blockquote>
|
||
<blockquote>There are apps to configure X and one can hope that svgalib "just works"
|
||
on its own since it has some effort to video detection built-in. If you
|
||
don't like what you get, try using a framebuffer enabled kernel, then
|
||
tell X to use the framebuffer device - slower, but darn near guaranteed
|
||
to work. svgalib will spot your framebuffer and use it. My favorite
|
||
svgalib app is zgv, and there are some games that use it too.
|
||
</blockquote>
|
||
<blockquote>I know of no app which is sufficiently telepathic to decide what your
|
||
network addresses should be, the first time through. However, if you're
|
||
a mobile user, there are a number of apps that you can train to look for
|
||
your few favorite hosting gateways and configure the rest magically from
|
||
there, using data you gave them ahead of time. PCMCIA schemes can also
|
||
be used to handle this.
|
||
</blockquote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Rick]
|
||
<dl><dt>
|
||
kudzu, kudzu-vesa
|
||
<dd>
|
||
Hardware-probing tool (thank you, <A HREF="http://www.redhat.com/">Red Hat</A> Software, Inc.) intended to
|
||
be run at boot time. Requires hwdata package. kudzu-vesa is the
|
||
VBE/DDC stuff for autodetecting monitor characteristics.
|
||
</dl></blockQuote>
|
||
<blockQuote><dl><dt>
|
||
mdetect
|
||
<dd>
|
||
Mouse device autodetection tool. If present, it will be used to aid
|
||
XFree86 configuration tools.
|
||
</dl></blockQuote>
|
||
<blockQuote><dl><dt>
|
||
printtool
|
||
<dd>
|
||
Autodetection of printers and PPD support, via an enhanced version of
|
||
Red Hat Software's Tk-based printtool. Requires the pconf-detect
|
||
command-line utility for detecting parallel-port, USB, and
|
||
network-connected printers (which can be installed separately as
|
||
package pconf-detect).
|
||
</dl></blockQuote>
|
||
<blockQuote><dl><dt>
|
||
read-edid
|
||
<dd>
|
||
Hardware information-gathering tool for VESA PnP monitors. If
|
||
present, it will be used to aid XFree86 configuration tools.
|
||
</dl></blockQuote>
|
||
|
||
<blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Heather] Used alone, it's an extremely weird way to ask the monitor what its
|
||
preferred modelines are. Provided your monitor is bright enough to
|
||
respond with an EDID block, the results can then be used to prepare
|
||
an optimum X configuration. I say "be used" for this purpose because
|
||
the results are very raw and you really want one of the apps that
|
||
configure X to deal with this headache for you. Trust me - I've used
|
||
it directly a few times.
|
||
</blockquote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Rick]
|
||
<dl><dt>
|
||
sndconfig
|
||
<dd>
|
||
Sound configuration (thank you, Red Hat Software, Inc.), using isapnp
|
||
detection. Requires kernel with OSS sound modules. Uses kudzu,
|
||
aumix, and sox.
|
||
</dl></blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Dave]
|
||
BTW, Knoppix also has excellent detection, and is also free and
|
||
Debian-based:
|
||
<A HREF="ftp://ftp.uni-kl.de/pub/linux/knoppix"
|
||
>ftp://ftp.uni-kl.de/pub/linux/knoppix</A>
|
||
</blockQuote>
|
||
|
||
<blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Heather] Personally I found his sound configuration to be the best I've
|
||
encountered; SuSE does a pretty good job <EM>if</EM> your card is supported
|
||
under ALSA.
|
||
</blockquote>
|
||
<blockquote>When you decide to roll your own kernel, it's critical to doublecheck
|
||
which of the three available methods for sound setup you're using, so
|
||
that you can compile the right modules in - ALSA, OSS, or kernel-native
|
||
drivers. Debian's make-kpkg facility makes keeping extra packages that
|
||
depend directly on kernel parts - like pcmcia and alsa - able to keep in
|
||
sync with your customizations, by making it easy for you to prepare the
|
||
modules .deb file to go with your new kernel.
|
||
</blockquote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Rick]
|
||
<dl><dt>
|
||
hotplug
|
||
<dd>
|
||
USB/PCI device hotplugging support, and network autoconfig.
|
||
</dl></blockQuote>
|
||
<blockQuote><dl><dt>
|
||
nictools-nopci
|
||
<dd>
|
||
Diagnostic and setup tools for many non-PCI ethernet cards
|
||
</dl></blockQuote>
|
||
<blockQuote><dl><dt>
|
||
nictools-pci
|
||
<dd>
|
||
Diagnostic and setup tools for many PCI ethernet cards.
|
||
</dl></blockQuote>
|
||
<blockQuote><dl><dt>
|
||
mii-diag
|
||
<dd>
|
||
"A little tool to manipulate network cards" (examines and sets the MII
|
||
registers of network cards).
|
||
</dl></blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
2) I have installed <EM>kudzu</EM> in debian 3.0 , but it is not running as a
|
||
service. it needs to execute the command <EM>kudzu</EM> manually.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Rick]
|
||
No, pretty much the same thing in both cases. You're just used to
|
||
seeing it run automatically via a System V init script in Red Hat. If
|
||
you'd like it to be done likewise in Debian, copy <TT>/etc/init.d/skeleton</TT>
|
||
to <TT>/etc/init.d/kudzu</TT> and modify it to do kudzu stuff. Then, use
|
||
update-rc.d to populate the <TT>/etc/rc?.d/</TT> runlevel directories.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
Finally the exact solution. I was searching 4 this looong.
|
||
Rick, can't understand howto give u thanks.
|
||
take care.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
moreover it couldn't detect my epson C21SX printer. but under MDK 9.0
|
||
kudzu detected the printer .
|
||
</STRONG></P>
|
||
|
||
<blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Heather] Perhaps it helpfully informed you what it used to get the printer going?
|
||
Many of the rpm based systems are using CUPS as their print spooler;
|
||
it's a little smoother under cups than some of its competitors, to have
|
||
it auto-configure printers by determining what weird driver they need
|
||
under the hood. My own fancy Epson color printer needed gimp-print,
|
||
which I used the linuxprinting.org "foomatic" entries to link into my
|
||
boring little lpd environment happily. Some printers are supported
|
||
directly by ghostscript... which you will need anyway, since many GUI
|
||
apps produce postscript within their "print" or "print to file" features.
|
||
</blockquote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Rick]
|
||
Would that be an Epson Stylus C21SX? I can't find anything quite like
|
||
that name listed at:
|
||
</blockQuote>
|
||
<blockQuote><BLOCKQuote>
|
||
<A HREF="http://www.linuxprinting.org/printer_list.cgi?make=Epson"
|
||
>http://www.linuxprinting.org/printer_list.cgi?make=Epson</A>
|
||
</BLOCKQuote></blockQuote>
|
||
<blockQuote>
|
||
I would guess this must be a really new, low-end inkjet printer.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
The version of kudzu (and hwdata) you have in Debian's stable branch
|
||
(3.0) is probably a bit old. That's an inherent part of what you always
|
||
get on the stable branch. If you want versions that are a bit closer to
|
||
the cutting edge, you might want to switch to the "testing" branch,
|
||
which is currently the one named "sarge". To do that, edit
|
||
<TT>/etc/apt/sources.list</TT> like this:
|
||
</blockQuote>
|
||
|
||
<blockquote><pre>deb http://http.us.debian.org/debian testing main contrib non-free
|
||
deb http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free
|
||
deb http://security.debian.org testing/updates main contrib non-free
|
||
deb http://security.debian.org stable/updates main contrib non-free
|
||
</pre></blockquote>
|
||
<blockQuote>
|
||
Then, do "apt-get update && apt-get dist-upgrade". Hilarity ensues.
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=";->"
|
||
height="24" width="20" align="middle">
|
||
</blockQuote>
|
||
<blockQuote>
|
||
(OK, I'll be nice: This takes you <em>off</em> Debian-stable and onto a branch
|
||
with a lower commitment on behalf the Debian project to keep everything
|
||
rock-solid, let alone security-updated. But you might like it.)
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
a nice discussion. thanks a lot.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Rick]
|
||
All of those information items are now in my cumulative Debian Tips
|
||
collection, <A HREF="http://linuxmafia.com/debian/tips"
|
||
>http://linuxmafia.com/debian/tips</A> . (Pardon the dust.)
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
ok, thanks a lot. u have clarified evrything very well. now I must not have
|
||
any prob. regarding auto-detection in deb..
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Great site !
|
||
</STRONG></P>
|
||
|
||
<blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Heather] For anyone looking at this and thinking "Oy, I don't already have debian
|
||
installed, can I avoid this headache?" - Yes, you probably can, for a
|
||
price. While debian users from both commercial and
|
||
homegrown computing environments alike get the great upgrade system,
|
||
this is where getting one of the commercial variants of Debian can be
|
||
worth the bucks for some people. Note that commercial distros usually
|
||
come with a bunch of software which is definitely not free - and not
|
||
legal to copy for your pals. How easy they make it to seperate out what
|
||
you could freely tweak, rewrite, or give away varies widely.
|
||
</blockquote>
|
||
<blockquote><dl><dt>Libranet
|
||
<dd><A HREF="http://www.libranet.com"
|
||
>http://www.libranet.com</A>
|
||
<br>Canadian company, text based installer based on but just a little more
|
||
tuned up than the generic debian one. Installs about a 600 MB "base"
|
||
that's very usable then offers to add some worthwhile software kits
|
||
on your first boot.
|
||
</dL></blockquote>
|
||
<blockquote><dl><dt>Xandros
|
||
<dd><A HREF="http://www.xandros.com"
|
||
>http://www.xandros.com</A>
|
||
<br>The current bearer of the torch that Corel Linux first lit. Reviews
|
||
about it sing its newbie-friendly praises.
|
||
</dl></blockquote>
|
||
<blockquote><dl><dt>Lindows
|
||
<dd><A HREF="http://www.lindows.com"
|
||
>http://www.lindows.com</A>
|
||
<br>Mostly arriving pre-installed in really cheap Linux machines near you
|
||
in stores that you just wouldn't think of as computer shops. But it
|
||
runs MSwin software out of the box too.
|
||
</dl></blockquote>
|
||
<blockquote><dl><dt>Progeny
|
||
<dd><A HREF="http://www.progenylinux.com"
|
||
>http://www.progenylinux.com</A>
|
||
<br>More into offering professional services for your corporate or perhaps
|
||
even industrial Linux needs than particularly a distribution anymore,
|
||
they committed their installer program to the auspices of the Debian
|
||
project. So it should be possible for someone to whip up install
|
||
discs that use that instead of the usual geek-friendly textmenu
|
||
installer.
|
||
</dl></blockquote>
|
||
<blockquote>If you find any old Corel Linux or Stormix discs lying around, they'll make
|
||
an okay installer, provided your video card setup is old enough for them
|
||
to deal with. After they succeed you'll want to poke around, see what
|
||
they autodetected, takes some notes, then upgrade the poor beasties to
|
||
current Debian.
|
||
</blockquote>
|
||
<blockquote>In a slightly less commercial vein,
|
||
</blockquote>
|
||
<blockquote><dl><dt>Knoppix
|
||
<dd><A HREF="http://www.knopper.net/knoppix"
|
||
>http://www.knopper.net/knoppix</A>
|
||
<br>[Base page in German, multiple languages available] while not strictly
|
||
designed as a distro for people to install, has <EM>great</EM> hardware
|
||
detection in its own accord, and a crude installer program available.
|
||
At minimum, you can boot from its CD, play around a bit, and take
|
||
notes now that it has detected and configured itself. A runs-from-CD
|
||
distribution. If you can't take the hit from downloading a 700 MB
|
||
CD all at once - it takes hours and hours on my link, and I'm faster
|
||
than most modems - he lists a few places that will sell a recent disc
|
||
and ship it to you.
|
||
</dl></blockquote>
|
||
<blockquote><dl><dt>Good-Day GNU-Linux
|
||
<dd><A HREF="http://ggl.good-day.net"
|
||
>http://ggl.good-day.net</A>
|
||
<br>LWN's pointer went stale but this is where it moved to; the company
|
||
produced sylpheed and has some interesting things bundled in this.
|
||
It also looks like they preload notebooks, but I can't read japanese
|
||
to tell you more.
|
||
</dl></blockquote>
|
||
<blockquote>And of course the usual Debian installer discs.
|
||
</blockquote>
|
||
<blockquote>Anytime you can ask a manufacturer to preload linux - even if you plan
|
||
to replace it with another flavor - let them. You will tell them that
|
||
you're a Linux and not a Windows user, and you'll get to look at the
|
||
preconfiguration they put in. If they had to write any custom drivers,
|
||
you can preserve them for your new installation. Likewise whatever time
|
||
they put into the config files.
|
||
</blockquote>
|
||
<blockquote>There's a stack more at the LWN Distributions page
|
||
(<A HREF="http://old.lwn.net/Distributions"
|
||
>http://old.lwn.net/Distributions</A>) if you search on the word Debian,
|
||
although many are localize, some are specialty distros, and a few are
|
||
based on older forms of the distro.
|
||
</blockquote>
|
||
|
||
<!-- end 2 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<A NAME="tag.3"><HR WIDTH="75%" ALIGN="center"></A>
|
||
<!-- begin 3 -->
|
||
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
||
height="50" width="60" alt="(?) " border="0"
|
||
>Linux Kernel Maintainability: Bees Can't Fly</H3>
|
||
<H4 ALIGN="center">but a Hurd of them might go Mach speed...</H4>
|
||
|
||
|
||
<p><strong>From Beth Richardson
|
||
</strong></p>
|
||
<p></strong></p>
|
||
<!-- ::
|
||
Linux Kernel Maintainability: Bees Can't Fly
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
but a Hurd of them might go Mach speed...
|
||
:: -->
|
||
|
||
<p align="right"><strong>Answered By Jim Dennis, Jason Creigton, Benjamin A. Okopnik, Kapil Hari Paranjape,
|
||
Dan Wilder, Pradeep Padala, Heather Stern
|
||
</strong></p>
|
||
<P><STRONG>
|
||
Hello,
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I am a Linux fan and user (although a newbie). Recently I read the
|
||
paper entitled "Maintainability of the Linux Kernel"
|
||
(<A HREF="http://www.isse.gmu.edu/faculty/ofut/rsrch/papers/linux-maint.pdf"
|
||
>http://www.isse.gmu.edu/faculty/ofut/rsrch/papers/linux-maint.pdf</A>) in a
|
||
course I am enrolled in at Colorado State University. The paper is
|
||
essentially saying that the Linux kernel is growing linearly, but that
|
||
common coupling (if you are like me and cannot remember what kind of
|
||
coupling is what - think global variables here.) is increasing at an
|
||
exponential rate. Side note, for what it is worth - the paper was
|
||
published in what I have been told is one of the "most respected"
|
||
software journals.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I have searched around on the web and have been unable to find any kind
|
||
of a reply to this paper from a knowledgeable Linux supporter. I would
|
||
be very interested in hearing the viewpoint from the "other side" of
|
||
this issue!
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
Thanks for your time,
|
||
Beth Richardson
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
Basically it sounds like they're trying to prove that bees can't
|
||
fly.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
(Traditional aerodynamic theories and the Bernoulli principle can't
|
||
be used to explain how bees and houseflies can remain aloft; this
|
||
is actually proof of some limitations in those theories. In reality
|
||
the weight of a bee or a fly relative to air density means that
|
||
insect can do something a little closer to "swimming" through the
|
||
air --- their mass makes air relatively viscous to them. Traditional
|
||
aerodynamic formulae are written to cover the case where the mass of
|
||
the aircraft is so high vs. air density that some factors can be
|
||
ignored.).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
I glanced at the article, which is written in typically opaque academic
|
||
style. In other words, it's hard to read. I'll admit that I didn't
|
||
have the time to analyze (decipher) it; and I don't have the stature
|
||
of any of these researchers. However, you've asked me, so I'll give
|
||
my unqualified opinion.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Basically they're predicting that maintainance of the Linux kernel
|
||
will grow increasing difficult over time because a large number of
|
||
new developments (modules, device drivers, etc) are "coupled"
|
||
(depend on) a core set of global variables.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jason]
|
||
Wouldn't this affect <EM>any</EM> OS? I view modules/device drives depending on a core
|
||
as a good thing, when compared to the alterative, which is depending on a wide
|
||
range on varibles. (Or perheps the writers have a different idea in mind. But
|
||
what other alterative to depending a core would there be other than depending on
|
||
a lot of things?)
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
You said it yourself further down; "micro-kernel". It seems to be the
|
||
favorite rant of the ivory-tower CS academic (by their maunderings shall
|
||
ye know them...), although proof of this world-shattering marvel seems
|
||
to be long in coming. Hurd's Mach kernel's been out, what, a year and
|
||
more?
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Kapil]
|
||
Here comes a Hurd of skeletons out of my closet! Being a very marginal
|
||
Hurd hacker myself, I couldn't let some of the remarks about the Hurd
|
||
pass. Most of the things below have been better written of elsewhere
|
||
by more competent people (the Hurd Wiki for example,
|
||
<A HREF="http://hurd.gnufans.org"
|
||
>http://hurd.gnufans.org</A>) but here goes anyway...
|
||
</blockQuote>
|
||
<blockQuote>
|
||
The Mach micro-kernel is what the Hurd runs on the top of. In some
|
||
ways Hurd/Mach is more like <A HREF="http://www.apache.org/">Apache</A>/Linux. Mach is <EM>not</EM> a part of the
|
||
Hurd. The newer Hurd runs over the top of a version of Mach built
|
||
using Utah's "oskit". Others have run the "Hurd" over "L-4" and other
|
||
micro-kernels.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
The lack of <EM>hardware</EM> and other support in the existing micro-kernels
|
||
is certainly <EM>one</EM> of things that is holding back the common
|
||
acceptance of the Hurd. (For example neither "mach" nor "oskit" have
|
||
support for my video card--i810--for which support came late in the
|
||
Linux 2.2 series).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Now, if only Linux was written in a sufficiently "de-coupled" way to
|
||
allow the stripping away of the file-system and execution system, we
|
||
would have a good micro-kernel already! The way things are, the "oskit"
|
||
guys are perenially playing catch-up to incorporate Linux kernel
|
||
drivers. Since these drivers are not sufficiently de-coupled they are
|
||
harder to incorporate.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
This suggests that the programming models are too divergent in
|
||
some ways. For each class of device there are a small number of
|
||
operations (fops, bops, ioctl()s) that have to be supported
|
||
(open, seek, close, read, write, etc). There are relatively few
|
||
interactions with the rest of the kernel for most of this
|
||
(which is why simple device driver coding is in a different class
|
||
from other forms of kernel hacking).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
The hardest part of device driver coding is getting enough information
|
||
from a vendor to actually implement each required operation. In some
|
||
cases there are significant complications for some very complex devices
|
||
(particularly in the case of video drivers; which, under Linux
|
||
sans framebuffer drivers, are often implemented in user space by
|
||
XFree86.)
|
||
</blockQuote>
|
||
<blockQuote>
|
||
It's hard to imagine that any one device driver would be that difficult
|
||
to port from Linux to any other reasonable OS. Of course the fact that
|
||
there are THOUSANDS of device drivers and variants within each device
|
||
driver does make it more difficult. It suggestst the HURD needs
|
||
thousands (or at least hundreds) of people working on the porting.
|
||
Obiviously, if five hundred HURD hackers could crank out a device
|
||
driver every 2 months for about a year --- they'd probably be caught up
|
||
with Linux device driver support.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Of course I've only written one device driver for Linux (and that was
|
||
a dirt simple watchdog driver NAS system motherboard) and helped on a
|
||
couple more (MTD/flash drivers, same hardware). It's not so much
|
||
"writing a driver" as plugging a few new values into someone else's
|
||
driver, and reworking a few bits here or there.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
One wonders if many device drivers could be consolidated into some
|
||
form of very clever table-driven code. (Undoubtedly what the UDDI
|
||
movement of a few years ago was trying to foist on everyone).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Kapil]
|
||
One the other side Linux "interferes too much" with user processes
|
||
making Hurd/Linux quite hard and probably impossible---but one can
|
||
dream...
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
Linux was running on Mach (mkLinux) about 5 years ago. I seem to
|
||
recall that someone was running a port of Linux (or mkLinux) on
|
||
an L4 microkernel about 4 years ago (on a PA RISC system if I
|
||
recall correctly).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
It's still not HURD/Linux --- but, as you say, it could (eventually) be.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Linux isn't really monolithic, but it certainly isn't a microkernel.
|
||
This bothers purists; but it works.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Future releases of Linux might focus considerably more on restructing
|
||
the code, providing greater modularity and massively increasing the
|
||
number of build-time configuration options. Normal users (server and
|
||
workstation) don't want more kernel configuration options. However,
|
||
embedded systems and hardware engineers (especially for the big
|
||
NUMA machines and clustering system) <EM>need</EM> them. So the toolchain
|
||
and build environment for the Linux kernel will have to be refined.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
As for features we don't have yet (in the mainstream Linux kernel):
|
||
translucent/overlay/union filesystems, transparent process checkpoint
|
||
and restore, true swapping (in addition to paging, might come
|
||
naturally out of checkpointing), network console, SSI (system
|
||
system image) HA clustering (something like VAX clusters would be
|
||
nice from what I hear), and the crashdump, interactive debuggers,
|
||
trace toolkit, dprobes and other stuff that was "left out" of
|
||
2.5 in the later stages before the feature freeze last year.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
I'm sure there are things I'm forgetting and others that I've never
|
||
even thought of. With all the journaling, EAs and ACLs, and the LSM
|
||
hooks and various MAC (mandatory access contol) mechanisms in LIDS,
|
||
SELinux, LOMAC, RSBAC and other patches, we aren't missing much that
|
||
was ever available in other forms of UNIX or other server operating
|
||
systems. (The new IPSec and crypto code will also need considerable
|
||
refinement).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
After that, maybe Linux really will settle down to maintenance;
|
||
to optimization, restructuring, consolidation, and dead code
|
||
removal. Linus will might find that stuff terminally boring and
|
||
move on to some new project.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
What else is there to add the kernel?
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Pradeep]
|
||
Like my advisor says, Every thing that is never thought before.
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
||
height="24" width="20" align="middle">
|
||
Lot of people feel the same about systems research. I am planning to
|
||
specialize in systems. What do you guys think about systems research?
|
||
Is is as pessimistic as Rob Pike sounds?
|
||
<A HREF="http://www.cs.bell-labs.com/who/rob/utah2000.pdf"
|
||
>http://www.cs.bell-labs.com/who/rob/utah2000.pdf</A>
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Dan]
|
||
Some would say, "streams". (he ducks!)
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
LiS is there for those that really need it. It'll probably never be
|
||
in the mainstream kernel. However, I envision something a like a cross
|
||
between the <A HREF="http://www.debian.org/">Debian</A> APT system and the <A HREF="http://www.freebsd.org/">FreeBSD</A> ports system (or LNX-BBCs
|
||
Gar or Gentoo's source/package systems) for the kernel.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
In this case some niche, non-mainstream kernel patches would not be
|
||
included in Linus' tarball, but hooks would be found in a vendor
|
||
augmented kbuild (and/or Makefile collection) that could present
|
||
options for many additional patches (like the FOLK/WOLK {Fully,Working}
|
||
OverLoaded Kernel). If you selected any of these enhancements then the
|
||
appropriate set of patches would be automatically fetched and applied,
|
||
and any submenus to the configuration dialog would appear.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Such a system would have the benefit of allowing Linus to keep working
|
||
exactly as he does now, keeping pristine kernels, while making it vastly
|
||
easier for sysadmins and developers to incorporate those patches that
|
||
they want to try.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
If it was done <EM>right</EM> it would be part of UnitedLinux, <A HREF="http://www.redhat.com/">Red Hat</A>, and
|
||
Debian. There would be a small independent group that would maintain
|
||
the augmented build system.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
The biggest technical hurdle would be patch ordering. In some cases
|
||
portions of some patches might have to be consolidated into one or more
|
||
patches that exist solely to prevent unintended dependency loops. We see
|
||
this among Debian GNU/Linux patches fairly often --- though those are
|
||
binary package dependencies rather than source code patch dependencies.
|
||
We'd never want a case where you <EM>had</EM> to include LiS patches because
|
||
the patch maintainer applied it first in his/her sequence and one of
|
||
its changes became the context for another patch --- some patch that
|
||
didn't <EM>functionally</EM> depend on LiS but only seemed to for context.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
I think something like this was part of Eric S. Raymond's vision for
|
||
his ill-fated CML2. However, ESR's work wasn't in vain; a kbuild
|
||
system in C was written and will be refined over time. Eventually it
|
||
may develop into something with the same features that he wanted to
|
||
see (though it will take longer).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
As examples of more radical changes that some niches might need or want
|
||
in their kernels: there used to be a suite of 'ps' utilities that
|
||
worked without needing <TT>/proc.</TT> The traditional ps utils worked by
|
||
walking through <TT>/dev/kmem</TT> traversing a couple of data structures there.
|
||
I even remember seeing another "devps" suite, which provided a simple
|
||
device interface alternative to proc. The purpose of this was to allow
|
||
deeply embedded, tightly memory constrained kernels to work in a
|
||
smaller footprint. These run applications that have little or no need
|
||
for some of the introspection that is provided by <TT>/proc</TT> trees, and have
|
||
only the most minimal process control needs. It may be that <TT>/proc</TT> has become
|
||
so interwoven into the Linux internals that a kernel simply can't be built
|
||
with out it (that the build option simply affects whether <TT>/proc</TT> is
|
||
visible from userspace). These embedded systems engineers might still
|
||
want to introduce a fair number of #defines to optionally trim out
|
||
large parts of <TT>/proc.</TT> Another example is the patch I read about that
|
||
effectively refines the printk macro as a C comment; thus making a
|
||
megabyte (uncompressed) of <TT> prink()</TT>' calls disappear in the
|
||
pre-processor pass.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
These are things that normal users (general purpose servers and
|
||
workstations) should NOT mess with. Things that would break a variety
|
||
of general purpose programs. However, they can be vital to some
|
||
niches. I doubt we'll ever see Linux compete with eCOS on the low end;
|
||
but having a healthy overlap would be good.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
Are there any major 32 or 64
|
||
bit processors to which Linux has not been ported?
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
I don't mean to denigrate the effort of the folks that wrote Hurd,
|
||
but... so what? Linux serenely rolls on (though <EM>how</EM> something as
|
||
horrible, antiquated, and useless as a monolithic kernel can hold its
|
||
head up given the existence of The One True Kernel is a puzzle), and
|
||
cooked spaghetti still sticks to the ceiling. All is (amazingly) still
|
||
right with the world.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jason]
|
||
You know, every time I get to thinking about what the Linux kernel should have,
|
||
I find out it's in 2.5. Really. I was thinking, Linux is great but it needs
|
||
better security, more than just standard linux permissions. Then I look at 2.5:
|
||
Linux Security Modules. Well, we need a generic was to assign attributes to
|
||
files, other then the permission bits. 2.5 has extened attribues (name:value
|
||
pairs at the inode level) and extended POSIX ACLs.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
That's the key, AFAIC; a 99% solution that's being worked on by
|
||
thousands of people is <EM>miles</EM> better than a 100% solution that's still
|
||
under development. It's one of the things I love most about Linux; the
|
||
amazing roiling, boiling cauldron of creative ideas I see implemented in
|
||
each new kernel and presented on <A HREF="http://www.freshmeat.net/">Freshmeat</A>.
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT="<grin>"
|
||
height="24" width="20" align="middle"> The damn thing's
|
||
alive, I tell ya.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Kapil]
|
||
What you are saying is true and is (according to me) <EM>the</EM> reason why
|
||
people will be running the Hurd a few years from now!
|
||
</blockQuote>
|
||
<blockQuote>
|
||
The point is that many features of micro-kernels (such as a
|
||
user-process running it's own filesystem and execution system a la
|
||
user-mode-linux) are becoming features of Linux. At some point folks
|
||
will say "Wait a minute! I'm only using the (micro) kernel part of
|
||
Linux as root. Why don't I move all the other stuff into user space?"
|
||
At this point they <EM>will</EM> be running the Hurd/Linux or something like
|
||
it.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Think of the situation in 89-91 when folks on DOS or Minix were
|
||
jumping through hoops in order to make their boxes run gcc and
|
||
emacs. Suddenly, the hoops could be removed because of Linux. The same
|
||
way the "coupled" parts of Linux <EM>are</EM> preventing <EM>some</EM> people from
|
||
doing things they would like to do with their system. As more people
|
||
are obstructed by those parts---voila Linux becomes (or gives way to)
|
||
a micro-kernel based system.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Didn't someone say "... and the state shall wither away".
|
||
</blockQuote>
|
||
|
||
<blockquote><IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Heather] Yes, but it's been said:
|
||
</blockquote>
|
||
<blockquote>"Do not confuse the assignment of blame with the solution to the
|
||
problem. In space, it is far more vital to fix your air leak than
|
||
to find the man with the pin." - Fiona L. Zimmer
|
||
</blockquote>
|
||
<blockquote>Problems as experienced by sysadmins and users are not solely the
|
||
fault of designs or languages selected to write our code in.
|
||
</blockquote>
|
||
<blockquote>...and also:
|
||
</blockquote>
|
||
<blockquote>"Established technology tends to persist in the face of new technology."
|
||
- G. Blaauw, one of the designers of System 360
|
||
</blockquote>
|
||
<blockquote>...not coincidentally, at least in <EM>our</EM> world, likely to persist inside
|
||
"new" technology, as well, possibly in the form of "intuitive"
|
||
keystrokes and "standard" protocols which would not be the results if
|
||
designs were started fresh. Of course truly fresh implementations
|
||
take a while to complete, which brings us back to the case of the
|
||
partially completed Hurd environment very neatly.
|
||
</blockquote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
Thus any change to the
|
||
core requires an explosion of changes to all the modules which
|
||
depended upon it. They are correct (to a degree). However they
|
||
gloss over a few points (lying with statistics).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
First point: no one said that maintaining and developing kernels
|
||
should be easy. It is recognized as one of the most difficult
|
||
undertakings in programming (whether it's an operating system kernel
|
||
or an RDBMS "engine" --- kernel). "Difficult" is subjective. It
|
||
falls far short of "impossible."
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Second point: They accept it as already proven that "common" coupling
|
||
leads to increasing numbers of regression faults (giving references
|
||
to other documents that allege to prove this) and then they provide
|
||
metrics about what <EM>they</EM> are calling common coupling. Nowhere do they
|
||
give an example of <EM>one</EM> variable that is "common coupled" and explain
|
||
how different things are coupled to it. Nor do they show an example
|
||
of how the kernel might be "restructured with common coupling reduced
|
||
to a bare minimum" (p.13).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
So, it's a research paper that was funded by the NSF (National Science
|
||
Foundation). I'm sure the authors got good grades on it. However,
|
||
like too much academic "work" it is of little consequence to the rest
|
||
of us. They fail to show a practical alternative and fail to enlighten
|
||
us.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Mostly this paper sounds like the periodic whining that used to come
|
||
up on the kernel mailing list: "Linux should be re-written in C++
|
||
and should be based on an object-oriented design." The usual response
|
||
amounts to: go to it; come back when you want to show us a working
|
||
prototype.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jason]
|
||
Couldn't parts of the kernel be written in C, and others in C++? (okay,
|
||
technically it would probably all be C++ if such a shift did occur, but
|
||
you can write C in a C++ compiler just fine. Right? Or maybe I just don't
|
||
know what I'm talking about.)
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Pradeep]
|
||
There are many view points to this. But why would you want to rewrite
|
||
parts of it in C++?
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Popular answer is: C++ is object-oriented, it has
|
||
polymorphism, inheritance etc. Umm, I can do all that in C and kernel
|
||
folks have used those methods extensively. The function pointers,
|
||
gotos may not be as clean as real virtual functions and exception
|
||
handling. But those C++ features come with a price. The compilers
|
||
haven't progressed enough to deliver the performance equivalent to
|
||
hand-written C code.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Dan]
|
||
At one point, oh, maybe it was in the 1.3 kernel days, Linus
|
||
proposed moving kernel development to C++.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
The developer community roundly shot down the idea. What you
|
||
say about C++ compilers was true in spades with respect to
|
||
the g++ of those days.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Pradeep]
|
||
What is the status of g++ today? I still see a performance hit when I
|
||
compile my C programs with g++. Compilation time is also a major
|
||
factor. g++ takes lot of time to compile especially with templates.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
I'm sure that the authors would argue that "better programming and
|
||
design techniques" (undoubtedly on their aggenda for their next
|
||
NSF grant proposal) would result in less of this "common" coupling
|
||
and more of the "elite" coupling. (Personally I have no problem
|
||
coupling with commoners --- just do it safely!)
|
||
</blockQuote>
|
||
<blockQuote>
|
||
As for writing "parts" of Linux in C++ --- there is the rather major
|
||
issue of identifier mangling. In order to support polymorphism and
|
||
especially function overloading and over-riding, C++ compilers have
|
||
to modify the identifiers in their symbol tables in ways that C
|
||
compiler never have to do. As a consequence of this it is very
|
||
difficult to link C and C++ modules. Remember, loadable modules in
|
||
Linux are linkable .o files. It just so happens that they are
|
||
dynmically loaded (a little like some .so files in user space, through
|
||
the <TT> dlopen()</TT> API --- but different because this is kernel space and
|
||
you can't use <TT> dlopen()</TT> or anything like it).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
I can only guess about how bad this issue would be but a quick
|
||
perusal of the first C++ FAQ that could find on the topic:
|
||
</blockQuote>
|
||
<blockQuote><BLOCKQuote>
|
||
<A HREF="http://users.utu.fi/sisasa/oasis/cppfaq/mixing-c-and-cpp.html"
|
||
>http://users.utu.fi/sisasa/oasis/cppfaq/mixing-c-and-cpp.html</A>
|
||
</BLOCKQuote></blockQuote>
|
||
<blockQuote>
|
||
... doesn't sound promising.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
I'm also disappointed that the only quotations in this paper were
|
||
the ones of Ken Thompson claiming that Linux will "not be very
|
||
successful in the long run" (repeated TWICE in their 15 page paper)
|
||
and that Linux is less reliable (in his experience) than MS Windows.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jason]
|
||
I'm reminded of a quote: "Linux is obsolete" -- Andrew Tanenbaum. He said this
|
||
in the (now) famous flame-war between himself and Linus Torvalds. His main
|
||
argument was the micro-kernels are better than monolithic kernels and thus Linux
|
||
was terribly outdated. (His other point was that linux wasn't portable.) BTW, I
|
||
plan to get my hands on some Debian/hurd (Or is that "GNU/hurd"?
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
||
height="24" width="20" align="middle"> ) CDs so I
|
||
can see for myself what the fuss over micro-kernels is all about.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
Run MacOS X --- it's a BSD 4.4 personality over a Mach microkernel.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
(And is more mature than HURD --- in part because a significant amount
|
||
of the underpinnings of MacOS X are NeXT Step which was first released
|
||
in the late '80s even before Linux).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
To quote Debian's Hurd page,
|
||
</blockQuote>
|
||
|
||
<TABLE WIDTH="95%" BORDER="1" BGCOLOR="#FFFFCC"><TR><TD>
|
||
<p align="center">...............</p>
|
||
<blockQuote>
|
||
The Hurd is under active development, but does not provide the
|
||
performance and stability you would expect from a production system.
|
||
Also, only about every second Debian package has been ported to the
|
||
GNU/Hurd. There is a lot of work to do before we can make a release.
|
||
</blockQuote><p align="center">...............</p>
|
||
</TD></TR></TABLE>
|
||
<blockQuote>
|
||
Do toss out a few bytes of info if you do download and install it. I'm
|
||
not against micro-kernels at all; I'm just slightly annoyed by people
|
||
whose credentials don't include the Hard Knocks U. screaming "Your
|
||
kernel sucks! You should stab yourself with a plastic fork!" My approach
|
||
is sorta like the one reported in c.o.l.: "Let's see the significant
|
||
benefits."
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [JimD]
|
||
These were anecdotal comments in an press interview --- they were
|
||
not intended to be delivered with scholastic rigor. I think it
|
||
weakens the paper considerably (for reasons quite apart from my
|
||
disagreement with the statements themselves).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
What is "the Long run?" Unix is a hair over 30 years old. The entire
|
||
field of electronic computing is about 50 or 60 years old. Linux is
|
||
about 12 years old. Linux is still growing rapidly and probably won't
|
||
peak in marketshare for at last 5 to 10 years. Thus Linux could easily
|
||
last longer than proprietary forms of UNIX did. (This is not to say
|
||
that Linux is the ultimate operating system. In 5 to 10 years there
|
||
is likely to be an emerging contender like EROS (<A HREF="http://www.eros-os.org"
|
||
>http://www.eros-os.org</A> )
|
||
or something I've never heard of. In 15 to 20 years we might be
|
||
discussing a paper that quotes Linus Torvalds as saying: "I've read
|
||
some of the EROS code, and it's not going to be a success in the long
|
||
run."
|
||
</blockQuote>
|
||
<blockQuote>
|
||
(We won't even get into the criteria for "success" in Ken Thompson's
|
||
comment --- because I think that Linux' current status is already been
|
||
a huge success by the standards of it's advocates and to the chagrin
|
||
of it's detractors. By many accounts Linux is already more
|
||
"successful" than UNIX --- having been installed on more systems than
|
||
all UNIX predecessors combined --- an installation base that is only
|
||
recently rivaled by MacOS X in the UNIX world)
|
||
</blockQuote>
|
||
|
||
<!-- end 3 -->
|
||
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
|
||
<A NAME="tag.4"><HR WIDTH="75%" ALIGN="center"></A>
|
||
<!-- begin 4 -->
|
||
<H3 align="left"><img src="../gx/dennis/qbubble.gif"
|
||
height="50" width="60" alt="(?) " border="0"
|
||
>routing to internet from home . Kernel 2.4</H3>
|
||
|
||
|
||
<p><strong>From Jose Avalis
|
||
</strong></p>
|
||
<p></strong></p>
|
||
|
||
<p align="right"><strong>Answered By Faber Fedor,
|
||
Jason Creighton,
|
||
Benjamin A. Okopnik,
|
||
John Karns
|
||
</strong></p>
|
||
<P><STRONG>
|
||
Hi guys and thanks in advance fro your time. I'm Joe From Toronto.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I have this scenario at home.
|
||
</STRONG></P>
|
||
|
||
<blockquote><code><font color="#000033"><br> 3 WS with Winxx
|
||
<br> 1 Linux redhat 7.3
|
||
<br> 1 DSL Connection (Bell / Sympatico)
|
||
</font></code></blockquote>
|
||
<P><STRONG>
|
||
I would like to use the linux machine as a router for the internal PC>
|
||
Could you help me with that, please???
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
OK, I'll give it a shot. You <EM>have</EM> read and followed the advice in the
|
||
IP-Masquerade HOWTO, right? If not, it's always available at the Linux
|
||
Documentation Project <<A HREF="http://www.linuxdoc.org>"
|
||
>http://www.linuxdoc.org></A>;, or possibly on your own
|
||
system under <TT>/usr/doc/HOWTO</TT> or <TT>/usr/share/doc/HOWTO.</TT>
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
The Linux Machine has 2 NIC eth0 (10.15.1.10 | 16 ) is connected
|
||
to the internal net (hub) , while the other ETH1 (10.16.1.10 | 16) is
|
||
connected to the DSL Modem.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
You have private IPs on both interfaces. Given a DSL modem on one of
|
||
them, it would usually have an Internet-valid address, either one that
|
||
you automatically get via DHCP or a static one that you get from your
|
||
ISP (that's become unusual for non-commercial accounts.) Looks like you
|
||
have a PPPoE setup - so you're not actually going to be hooking eth0 to
|
||
eth1, but eth0 to ppp0.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
as you can see in the following text, everything is Up and run and
|
||
I can access internet from the Linux machine.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jason]
|
||
This may see like a stupid question, but do the internal PCs have valid
|
||
internet address? (i.e., those outside the 10.*.*.*,
|
||
172.16.*.*-172.31.*.* or 192.168.*.* ranges) If they don't, you need to
|
||
do IP masquerading. This is not all that hard, I could give a quick &
|
||
dirty answer as to how to do it (Or you could look at the
|
||
IP-Masquerading-HOWTO, for the long answer), but I'd like to know if
|
||
that's your situation first. Yes, I am <EM>that</EM> lazy.
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
||
height="24" width="20" align="middle">
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
ifconfig says
|
||
</STRONG></P>
|
||
<p align="center">See attached <tt><a href="misc/tag/jose.ifconfig-before.txt">jose.ifconfig-before.txt</a></tt></p>
|
||
<p align="center">See attached <tt><a href="misc/tag/jose.ping-before.txt">jose.ping-before.txt</a></tt></p>
|
||
<P><STRONG>
|
||
The problem is that when I try to access the internet from the
|
||
internal lan. I can't access it.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
Yep, that's what it is. That MTU of 1492 is a good hint: that's the
|
||
correct setting for PPPoE, and that's your only interface with a
|
||
Net-valid IP.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [John]
|
||
The adjusted MTU for PPPoE (from the usual 1500 to 1492) is necessary, but
|
||
can cause problems with the other machines on the LAN unless they too are
|
||
adjusted for MTU.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
Right - although not quite as bad as the gateway's MTU (that one can
|
||
chase its own tail forever - looks like there's no connection!)
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [John]
|
||
I've been stuck with using PPPoE for about a month now,
|
||
and have found the Roaring Penguin pkg (<A HREF="http://www.roaringpenguin.com"
|
||
>http://www.roaringpenguin.com</A>) to
|
||
work quite well, once it's configured. I seem to remember reading that it
|
||
does the MTU adjustment internally, and alleviates the headache of having
|
||
to adjust the rest of the machines on the LAN to use the PPPoE gateway
|
||
(see the ifconfig output below).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
Oh, _sweet._ I'm not sure how you'd do that "internally", but I'm no
|
||
network-programming guru, and that would save a bunch of headaches.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [John]
|
||
Especially nice if one of the LAN nodes
|
||
is a laptop that gets carried around to different LAN environments - would
|
||
be a real PITA to have to reset the MTU all the time.
|
||
</blockQuote>
|
||
|
||
<blockquote><pre># ifconfig eth1
|
||
|
||
eth1 Link encap:Ethernet HWaddr 00:40:F4:6D:AA:3F
|
||
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
||
RX packets:21257 errors:0 dropped:0 overruns:0 frame:0
|
||
TX packets:14201 errors:0 dropped:0 overruns:0 carrier:0
|
||
collisions:0 txqueuelen:100
|
||
RX bytes:4568502 (4.3 Mb) TX bytes:1093173 (1.0 Mb)
|
||
Interrupt:11 Base address:0xcc00
|
||
</pre></blockquote>
|
||
<blockQuote>
|
||
Then I just tacked on the firewall <TT>/</TT> masq script I've been using right
|
||
along, with the only change being the external interface from eth0 to
|
||
ppp0. PPPoE is also a freak in that the NIC that connects to the modem
|
||
doesn't get an assigned IP.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
Yep, that's what got me thinking "PPPoE" in the first place. Two
|
||
RFC-1918 addresses - huh? An MTU of 1492 for ppp0 and reasonably short
|
||
ping times to the Net - oh.
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
|
||
height="24" width="20" align="middle">
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
all the PCs in the net have as Default gateway 10.15.1.10 (Linux
|
||
internal NIC )
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
That part is OK.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
Linux's default gateway is the ppp0 adapter
|
||
</STRONG></P>
|
||
|
||
<pre><strong>[root@linuxrh root]# netstat -nr
|
||
Kernel IP routing table
|
||
Destination Gateway Genmask Flags MSS Window irtt Iface
|
||
64.229.190.1 0.0.0.0 255.255.255.255 UH 40 0 0 ppp0
|
||
10.16.0.0 0.0.0.0 255.255.0.0 U 40 0 0 eth1
|
||
10.15.0.0 0.0.0.0 255.255.0.0 U 40 0 0 eth0
|
||
127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo
|
||
0.0.0.0 64.229.190.1 0.0.0.0 UG 40 0 0 ppp0
|
||
[root@linuxrh root]#
|
||
</strong></pre>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
Yep, that's what "netstat" says. I've never done masquerading with
|
||
PPP-to-Ethernet, but it should work just fine, provided you do the
|
||
masquerading correctly.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
Can you guys give me some cues of what my problem is ???
|
||
</blockQuote>
|
||
<blockQuote>
|
||
I don't have any firewall installed.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Thanks a lot.
|
||
JOE
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
That's probably the problem. Seriously - a firewall is nothing more than
|
||
a set of routing rules; in order to do masquerading, you need - guess
|
||
what? - some routing rules (as well as having it enabled in the kernel.)
|
||
Here are the steps in brief - detailed in the Masquerading HOWTO:
|
||
</blockQuote>
|
||
|
||
<blockQuote><ol>
|
||
<LI>Make sure that your kernel supports masquerading; reconfigure and
|
||
|
||
|
||
|
||
|
||
<LI>Load the "ip_masq" module if necessary.
|
||
|
||
|
||
|
||
<LI>Enable IP forwarding (ensure that /proc/sys/net/ipv4/ip_forward is
|
||
|
||
|
||
|
||
|
||
<LI>Set up the rule set (the HOWTO has good examples.)
|
||
|
||
</ol></blockQuote>
|
||
<blockQuote>
|
||
That's the whole story. If you're missing any part of it, go thou and
|
||
fix it until it cries "Lo, I surrender!" If you run into problems while
|
||
following the advice in the HOWTO, feel free to ask here.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Faber]
|
||
One thing you didn't mention doing is turning on forwarding between the
|
||
NICs; you have to tell the Linux to forward packets from one NIC to the
|
||
other. To see if it is turned on, do this:
|
||
</blockQuote>
|
||
|
||
<blockquote><pre>cat /proc/sys/net/ipv4/ip_forward
|
||
</pre></blockquote>
|
||
<blockQuote>
|
||
If it says "0", then it's not turned on. To turn it on, type
|
||
</blockQuote>
|
||
|
||
<blockquote><pre>echo "1" > /proc/sys/net/ipv4/ip_forward
|
||
</pre></blockquote>
|
||
<blockQuote>
|
||
And see if your Win boxen can see the internet.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
If that is your problem, once you reboot the Linux box you'll lose the
|
||
setting. There are two ways not to lose the setting. One is to put
|
||
the echo command above into your <TT>/etc/rc.local</TT> file. The second and
|
||
Approved <A HREF="http://www.redhat.com/">Red Hat</A> Way is to put the line
|
||
</blockQuote>
|
||
|
||
<blockquote><pre>net.ipv4.ip_forward = 1
|
||
</pre></blockquote>
|
||
<blockQuote>
|
||
in your <TT>/etc/sysctl.conf</TT> file. I don't have any Red Hat 7.3 boxes lying
|
||
around, so I don't know if Red Hat changed the syntax between 7.x and
|
||
8.x. One way to check is to run
|
||
</blockQuote>
|
||
|
||
<blockquote><pre>/sbin/sysctl -a | grep forward
|
||
</pre></blockquote>
|
||
<blockQuote>
|
||
and see which one looks most like what I have.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
Hey Faber in NJ <TT>/....</TT> thanks for your clues. In fact it was in 0, I
|
||
changed it to 1, I've restarted tehe box and it is in 1 now; but it is
|
||
still not working.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Faber]
|
||
Well, that's a start. There's no way it would have worked with it being
|
||
0!
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
First at all, m I right with this setup method? I mean using Linux
|
||
as a router only ??? or shoud I set up a masquerading and use the NAT
|
||
facility to populate all my internal addresses in Internet?
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Faber]
|
||
Whoops! Forgot that piece! Yes, you'll hve to do masquerading/NAT (I
|
||
can never keep the two distinct in my head).
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jason]
|
||
It seems to me that you would want the DSL modem
|
||
(eth1) to be the default route to the internet, not the modem (ppp0).
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
Because maybe the problem is that I'm trying to route my internal net
|
||
to the DSL net and Internet and maybe it is not a valid proc.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Faber]
|
||
Well, it can be done, that's for sure. We just have to get all the t's
|
||
dotted and the i's crossed.
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT=":-)"
|
||
height="24" width="20" align="middle">
|
||
</blockQuote>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Jason]
|
||
IP-Masquerading. Here's the HOWTO:
|
||
</blockQuote>
|
||
<blockQuote><BLOCKQuote>
|
||
<A HREF="http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO"
|
||
>http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO</A>
|
||
</BLOCKQuote></blockQuote>
|
||
<blockQuote>
|
||
And here's a script that's supposed (I've never used it) to just be a
|
||
"fill in the blanks and go":
|
||
</blockQuote>
|
||
<blockQuote><BLOCKQuote>
|
||
<A HREF="http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/firewall-examples.html#RC.FIREWALL-2.4.X"
|
||
>http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/firewall-examples.html#RC.FIREWALL-2.4.X</A>
|
||
</BLOCKQuote></blockQuote>
|
||
<blockQuote>
|
||
Note this is in the HOWTO, it's just later on after explaining all the
|
||
gory details of NATing.
|
||
</blockQuote>
|
||
<HR width="10%" align="left"><P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
Hey, thanks for your mail, the thing is working now. I didn<64>t know that the
|
||
NAT functions in Linux are called Masquerading.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
Yeah, that's an odd one.
|
||
</blockQuote>
|
||
<blockQuote>
|
||
Masquerading is only a specific case (one-to-many) of NAT. As an example
|
||
of other stuff that NAT can do, IBM had an ad for the Olympics a while
|
||
back (their equipment handled all the traffic for the website); they did
|
||
"many-to-many" NAT to split up the load.
|
||
</blockQuote>
|
||
<P><STRONG>
|
||
<IMG SRC="../gx/dennis/qbub.gif" ALT="(?)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
>
|
||
Thanks again for your help, due to I'm new in Linux, it took me a while to
|
||
learn of the terminology in this platform.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
To many NOS in may head.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
I have averything working now, including the firewall, I had to compile
|
||
the kernel again, but it was ok.
|
||
</STRONG></P>
|
||
<P><STRONG>
|
||
C U.
|
||
</STRONG></P>
|
||
<blockQuote>
|
||
<IMG SRC="../gx/dennis/bbub.gif" ALT="(!)"
|
||
HEIGHT="28" WIDTH="50" BORDER="0"
|
||
> [Ben]
|
||
|
||
<IMG SRC="../gx/dennis/smily.gif" ALT="<grin>"
|
||
height="24" width="20" align="middle"> You're welcome! Glad we could help.
|
||
</blockQuote>
|
||
|
||
<!-- end 4 -->
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
<h5>
|
||
<br>Copyright © 2003
|
||
<br>Copying license <A HREF="">http://www.linuxgazette.com/copying.html</A>
|
||
<BR>Published in Issue 88 of <i>Linux Gazette</i>, March 2003</H5>
|
||
</STRONG></SMALL></CENTER>
|
||
<!-- *** END copyright *** -->
|
||
|
||
<SMALL><CENTER><H6 ALIGN="center">HTML script maintained by
|
||
<A HREF="mailto:star@starshine.org">Heather Stern</a> of
|
||
Starshine Technical Services,
|
||
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
|
||
</H6></SMALL></CENTER>
|
||
<HR>
|
||
|
||
<table border="1"><tbody><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">News Bytes</FONT></STRONG></BIG></BIG><BR>
|
||
<STRONG>By <A HREF="http://www.linuxgazette.com/authors/conry.html">Michael Conry</A></STRONG></BIG>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
</p><center>
|
||
<table cellpadding="7"><tbody><tr><td>
|
||
<img src="../gx/bytes.gif" border="1" alt="News Bytes">
|
||
</td><td>
|
||
<h3>Contents:</h3>
|
||
<ul>
|
||
<li><a href="#leg">Legislation and More Legislation</a>
|
||
</li><li><a href="#links">Linux Links</a>
|
||
</li><li><a href="#conferences">Conferences and Events</a>
|
||
</li><li><a href="#general">News in General</a>
|
||
</li><li><a href="#distro">Distro News</a>
|
||
</li><li><a href="#commercial">Software and Product News</a>
|
||
</li></ul>
|
||
</td></tr></tbody></table>
|
||
|
||
<strong>Selected and formatted by <a href="mailto:michael.conry@softhome.net">Michael Conry</a></strong>
|
||
</center>
|
||
|
||
|
||
<p> Submitters, send your News Bytes items in
|
||
<font size="+2"><strong>PLAIN TEXT</strong></font>
|
||
format. Other formats may be rejected without reading. You have been
|
||
warned! A one- or two-paragraph summary plus URL gets you a better
|
||
announcement than an entire press release. Submit items to
|
||
<a href="mailto:gazette@ssc.com">gazette@ssc.com</a>
|
||
|
||
|
||
</p><hr> <p>
|
||
<!-- =================================================================== -->
|
||
|
||
</p><h3><img alt=" " src="../gx/bolt.gif">
|
||
<font color="green">
|
||
March 2003 <i>Linux Journal</i>
|
||
</font>
|
||
</h3>
|
||
|
||
<img alt="[issue 107 cover image]" src="misc/bytes/lj-cover107.png" width="200" height="268" align="left" hspace="20">
|
||
|
||
The March issue of <a href="http://www.linuxjournal.com/"><i>Linux
|
||
Journal</i></a> is on newsstands now.
|
||
This issue focuses on On-Line Fora. Click
|
||
<a href="http://www.linuxjournal.com/modules.php?op=modload&name=NS-lj-issues/issue107&file=index">here</a>
|
||
to view the table of contents, or
|
||
<a href="http://www.linuxjournal.com/subscribe/">here</a>
|
||
to subscribe.
|
||
|
||
<p>
|
||
<font color="green">All articles older than three months are available for
|
||
public reading at
|
||
<a href="http://www.linuxjournal.com/magazine.php">http://www.linuxjournal.com/magazine.php</a></font>.
|
||
Recent articles are available on-line for subscribers only at
|
||
<a href="http://interactive.linuxjournal.com/">http://interactive.linuxjournal.com/</a>.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<BR CLEAR="all">
|
||
<!-- =================================================================== -->
|
||
|
||
<a name="leg"></a>
|
||
<p><hr><p>
|
||
<!-- =================================================================== -->
|
||
<center><H3><font color="green">Legislation and More Legislation</font></H3></center>
|
||
|
||
|
||
<P>
|
||
Fox News report on
|
||
<a href="http://foxnews.com/story/0,2933,78729,00.html">
|
||
the US Congress's tech agenda</a>.
|
||
<P>
|
||
<a href="http://www.itworld.com/Net/4087/030131euantipiracy/">
|
||
ITworld.com reported</a>
|
||
that the European Commission has
|
||
presented a draft directive that punishes copyright infringement for
|
||
commercial purposes, but spares home music downloaders, irritating music
|
||
industry lobby groups
|
||
(<a href="http://yro.slashdot.org/article.pl?sid=03/02/02/0229224&mode=nested&tid=141&tid=158">from Slashdot</a>).
|
||
Also reported
|
||
<a href="http://www.theregister.co.uk/content/4/29184.html">
|
||
at The Register</a>.
|
||
<P>
|
||
Washington Post
|
||
<a href="http://www.washingtonpost.com/wp-dyn/articles/A6320-2003Jan31.html">
|
||
reports</a>
|
||
that Howard Schmidt, the new cybersecurity czar, is a former Microsoft
|
||
security chief.
|
||
(<a href="http://slashdot.org/article.pl?sid=03/02/02/1358206&mode=nested&tid=172">from
|
||
Slashdot</a>).
|
||
<P>
|
||
<a href="http://www.theregister.co.uk/content/4/29157.html">
|
||
The Register reports</a>
|
||
how US gov reps "defanged" pro open source declaration.
|
||
<P>
|
||
<a href="http://www.eff.org/IP/DMCA/german_comments.php">
|
||
EFF's comments</a> on the "German DMCA"
|
||
as part of its ongoing effort to avoid the worldwide export of over broad
|
||
DMCA-type legislation. The German judicial commission is currently holding
|
||
hearings on draft German legislation to implement the 2001 European Union
|
||
Copyright Directive (EUCD).
|
||
<P>
|
||
After winning the initial judgement
|
||
<a href="http://mobilix.org/mobilix_asterix.html">
|
||
in a trademark suit</a>, the
|
||
German software firm MobiliX had to
|
||
<a href="http://www.theregister.co.uk/content/4/29244.html">
|
||
give up its name after all</a>
|
||
to the publishers of a similarly-named comic book character.
|
||
MobilX.org is now
|
||
<a href="http://tuxmobil.org/">
|
||
TuxMobil.org</a>.
|
||
(<A HREF="http://newsvac.newsforge.com/article.pl?sid=03/02/21/1457244">NewsForge
|
||
announcement.</A>)
|
||
<P>
|
||
The EFF has announced the release of
|
||
"<a href="http://www.eff.org/IP/DMCA/finkelstein_on_dmca2.php">Winning (DMCA) Exemptions, The Next Round</a>",
|
||
a succinct guide to the comment-making process written by Seth Finkelstein,
|
||
who proposed one of the only two exemptions granted in the last Library of
|
||
Congress Rule-making.
|
||
<P>
|
||
The Register reports that the
|
||
<a href="http://www.theregister.co.uk/content/55/29318.html">
|
||
DMCA has been invoked in DirecTV hack</a>. 17 have been charged.
|
||
<P>
|
||
<a href="http://interviews.slashdot.org/article.pl?sid=03/02/20/1544245&mode=nested&tid=117&tid=123">
|
||
Slashdot Interview with Prof. Eben Moglen
|
||
</a>
|
||
who has been the FSF's pro bono general counsel since 1993.
|
||
<P>
|
||
|
||
|
||
<a name="links"></a>
|
||
<p><hr><p>
|
||
<!-- =================================================================== -->
|
||
<center><H3><font color="green">Linux Links</font></H3></center>
|
||
|
||
<P>
|
||
The Happypenguin Awards for the
|
||
<a href="http://happypenguin.org/forums/viewtopic.php?t=549">
|
||
25 Best Linux Games</a>
|
||
(<a href="http://newsvac.newsforge.com/article.pl?sid=03/01/29/2050245">courtesy NewsVac</a>).
|
||
<P>
|
||
Lindows launches
|
||
<a href="http://siliconvalley.internet.com/news/article.php/1575991">
|
||
$329 mini PC</a>, ubiquity beckons.
|
||
<P>
|
||
ZDNet UK
|
||
<a href="http://news.zdnet.co.uk/story/0,,t269-s2129482,00.html">
|
||
reports</a>
|
||
on how KDE's new version has responded to government needs.
|
||
<P>
|
||
NewsForge report:
|
||
<a href="http://newsforge.com/article.pl?sid=03/01/31/1420212">
|
||
The rise of the $99 'consumer' Linux distribution</a>
|
||
<P>
|
||
A look at installing Bayesian filtering using
|
||
<a href="http://linux.oreillynet.com/pub/a/linux/synd/2003/01/30/bogofilter.html">
|
||
Bogofilter and Sylpheed Claws</a>.
|
||
<P>
|
||
Doc Searls at <em>Linux Journal</em> writes on the value shifts
|
||
<a href="http://www.linuxjournal.com//article.php?sid=6601">
|
||
underpinning the spread of Linux and free software</a>.
|
||
<P>
|
||
<a href="http://newsvac.newsforge.com/article.pl?sid=03/02/06/172206">
|
||
PC-To-Phone calls available for GNU/Linux</a>.
|
||
<P>
|
||
Wired reports on
|
||
<a href="http://www.wired.com/news/mac/0,2125,57565,00.html">
|
||
getting an iPod to run on linux</a>.
|
||
<P>
|
||
Jay Beale (of Bastille Linux)
|
||
with an
|
||
<a href="http://www.infosecuritymag.com/2003/feb/linuxguru.shtml">
|
||
article on computer security</a>, and how to tell if you've been hacked
|
||
(<a href="http://newsvac.newsforge.com/article.pl?sid=03/02/12/2315254">from NewsVac</a>).
|
||
<P>
|
||
Monthly Monster Machines back in action
|
||
LinuxLookup.com have
|
||
<a href="http://newsvac.newsforge.com/article.pl?sid=03/02/12/2310225">
|
||
announced</a>
|
||
a monthly feature
|
||
<a href="http://www.linuxlookup.com/modules.php?op=modload&name=MMM&file=index">
|
||
Monthly Monster Machines</a>. This is a monthly updated spec of budget,
|
||
workstation, and dream Linux machines.
|
||
<P>
|
||
<a href="http://newsvac.newsforge.com/article.pl?sid=03/02/15/1453242">
|
||
It has been reported that</a>
|
||
starting this year, the Swiss State of Geneva will mail all tax forms with a CD
|
||
which includes OpenOffice and Mozilla. This replaces an Excel sheet.
|
||
<P>
|
||
Recent NewsForge
|
||
<a href="http://newsforge.com/article.pl?sid=03/02/18/1540254">
|
||
IRC chat</a>
|
||
with OpenOffice.org publicist/activist Sam Hiser.
|
||
<P>
|
||
Open Source
|
||
<a href="http://www.theregister.co.uk/content/53/29416.html">
|
||
security manual</a>.
|
||
There is a report on this
|
||
<a href="http://newsforge.com/newsforge/03/02/20/1635246.shtml?tid=2">
|
||
at NewsForge</a>.
|
||
<P>
|
||
Possible data write
|
||
<a href="http://newsvac.newsforge.com/newsvac/03/02/21/0540225.shtml?tid=23">
|
||
corruption problem</a>
|
||
on Linux.
|
||
<P>
|
||
NewsForge
|
||
<a href="http://newsforge.com/article.pl?sid=03/02/21/1534259">
|
||
report</a> on the launch of the new
|
||
<a href="http://www.linuxineducation.org">
|
||
Linux in Education</a>
|
||
portal.
|
||
<P>
|
||
Slashdot
|
||
<a href="http://slashdot.org/article.pl?sid=03/02/21/182216&mode=nested&tid=163">
|
||
highlighted</a> a recent Business Week feature of Linux comprising
|
||
<a href="http://www.businessweek.com/magazine/toc/03_09/B382203linux.htm">
|
||
9 articles</a>.
|
||
<P>
|
||
<a href="http://slashdot.org/articles/03/02/04/0033239.shtml?tid=109&tid=126&tid=164">
|
||
Slashdotters respond</a>
|
||
to an article about the Microsoft Home of Tomorrow by
|
||
speculating what an AppleHouse, SunHouse and LinuxHouse would look like.
|
||
<P>
|
||
<a href="http://geocities.com/lunatech3007/doing-things-howto.html">
|
||
Howto do things in GNU/Linux</a>
|
||
<P>
|
||
<a href="http://unix.se/article/articleview/950/1/24">
|
||
Interview with Dennis Ritchie</a>, a founding father of Unix and C.
|
||
<P>
|
||
Some Links from
|
||
<a href="http://www.lwn.net/">Linux Weekly News</a>:
|
||
<ul>
|
||
<li>
|
||
South Africa moves positively with regard to
|
||
<a href="http://news.com.com/2100-1001-983315.html">
|
||
Linux in government</a>.
|
||
</li>
|
||
<li>
|
||
SCO
|
||
<a href="http://lwn.net/Articles/20973/">
|
||
hires lawyers</a>
|
||
to comb through Linux to see if it infringes on any of SCO's patents or
|
||
copyrights; SCO owns the rights on the original UNIX. SCO is being
|
||
tight-lipped about what it would do if it finds anything. Also
|
||
reported
|
||
<a href="http://www.osopinion.com/perl/story/20717.html">
|
||
at OS Opinion</a>.
|
||
</li>
|
||
<li>
|
||
Multi-part interview with Guido van Rossum, parts
|
||
<a href="http://www.artima.com/intv/python.html">
|
||
1</a>,
|
||
<a href="http://www.artima.com/intv/pyscale.html">
|
||
2</a>,
|
||
<a href="http://www.artima.com/intv/speed.html">
|
||
3</a>,
|
||
<a href="http://www.artima.com/intv/pycontract.html">
|
||
4</a>,
|
||
<a href="http://www.artima.com/intv/strongweak.html">
|
||
5</a> and
|
||
<a href="http://www.artima.com/intv/pycomm.html">
|
||
6</a>.
|
||
</li>
|
||
</ul>
|
||
<P>
|
||
For the Chinese readers among you, a
|
||
<a href="http://eulerkhc.130th.net/chinese.html">
|
||
Chinese translation</a>
|
||
of the Peruvian
|
||
<a href="http://eulerkhc.130th.net/index.html">
|
||
refutation</a>
|
||
of Microsoft FUD.
|
||
|
||
<P>
|
||
|
||
|
||
<a name="conferences"></a>
|
||
<p><hr><p>
|
||
<!-- =================================================================== -->
|
||
<center><H3><font color="green">Upcoming conferences and events</font></H3></center>
|
||
|
||
<P> Listings courtesy <EM>Linux Journal</EM>. See <EM>LBJ</EM>'s
|
||
<A HREF="http://www.linuxjournal.com/events.php">Events</A> page for the
|
||
latest goings-on.
|
||
|
||
<table cellpadding=5 border=0 width=100%>
|
||
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
|
||
<tr><td valign=top>
|
||
<b>Game Developers Conference</b><BR>
|
||
<td valign=top>March 4-8, 2003<BR>San Jose, CA<BR>
|
||
<a href="http://www.gdconf.com/" target="_blank">
|
||
http://www.gdconf.com/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>SXSW</b><BR>
|
||
<td valign=top>March 7-11, 2003<BR>Austin, TX<BR>
|
||
<a href="http://www.sxsw.com/interactive" target="_blank">
|
||
http://www.sxsw.com/interactive</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>CeBIT</b><BR>
|
||
<td valign=top>March 12-19, 2003<BR>Hannover, Germany<BR>
|
||
<a href="http://www.cebit.de/" target="_blank">
|
||
http://www.cebit.de/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>City Open Source Community Workshop</b><BR>
|
||
<td valign=top>March 22, 2003<BR>Thessaloniki, Greece<BR>
|
||
<a href="http://www.city.academic.gr/cosc" target="_blank">
|
||
http://www.city.academic.gr/cosc</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>Software Development Conference & Expo</b><BR>
|
||
<td valign=top>March 24-28, 2003<BR>Santa Clara, CA<BR>
|
||
<a href="http://www.sdexpo.com/" target="_blank">
|
||
http://www.sdexpo.com/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>Linux Clusters Institute (LCI) Workshop</b><BR>
|
||
<td valign=top>March 24-28, 2003<BR>Urbana-Champaign, IL<BR>
|
||
<a href="http://www.linuxclustersinstitute.org/" target="_blank">
|
||
http://www.linuxclustersinstitute.org/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
|
||
<tr><td valign=top>
|
||
<b>4th USENIX Symposium on Internet Technologies and Systems</b><BR>
|
||
<td valign=top>March 26-28, 2003<BR>Seattle, WA<BR>
|
||
<a href="http://www.usenix.org/events/" target="_blank">
|
||
http://www.usenix.org/events/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>PyCon DC 2003</b><BR>
|
||
<td valign=top>March 26-28, 2003<BR>Washington, DC<BR>
|
||
<a href="http://www.python.org/pycon/" target="_blank">
|
||
http://www.python.org/pycon/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>Linux on Wall Street Show & Conference</b><BR>
|
||
<td valign=top>April 7, 2003<BR>New York, NY<BR>
|
||
<a href="http://www.linuxonwallstreet.com" target="_blank">
|
||
http://www.linuxonwallstreet.com</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>AIIM</b><BR>
|
||
<td valign=top>April 7-9, 2003<BR>New York, NY<BR>
|
||
<a href="http://www.advanstar.com/" target="_blank">
|
||
http://www.advanstar.com/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>FOSE</b><BR>
|
||
<td valign=top>April 8-10, 2003<BR>Washington, DC<BR>
|
||
<a href="http://www.fose.com/" target="_blank">
|
||
http://www.fose.com/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>MySQL Users Conference & Expo 2003</b><BR>
|
||
<td valign=top>April 8-10, 2003<BR>San Jose, CA<BR>
|
||
<a href="http://www.mysql.com/events/uc2003/" target="_blank">
|
||
http://www.mysql.com/events/uc2003/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>LinuxFest Northwest 2003</b><BR>
|
||
<td valign=top>April 26, 2003<BR>Bellingham, WA<BR>
|
||
<a href="http://www.linuxnorthwest.org/" target="_blank">
|
||
http://www.linuxnorthwest.org/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>Real World Linux Conference and Expo</b><BR>
|
||
<td valign=top>April 28-30, 2003<BR>Toronto, Ontario<BR>
|
||
<a href="http://www.realworldlinux.com/" target="_blank">
|
||
http://www.realworldlinux.com</A><BR>
|
||
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>USENIX First International Conference on Mobile Systems,
|
||
Applications, and Services (MobiSys)</b><BR>
|
||
<td valign=top>May 5-8, 2003<BR>San Francisco, CA<BR>
|
||
<a href="http://www.usenix.org/events/" target="_blank">
|
||
http://www.usenix.org/events/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>USENIX Annual Technical Conference</b><BR>
|
||
<td valign=top>June 9-14, 2003<BR>San Antonio, TX<BR>
|
||
<a href="http://www.usenix.org/events/" target="_blank">
|
||
http://www.usenix.org/events/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>CeBIT America</b><BR>
|
||
<td valign=top>June 18-20, 2003<BR>New York, NY<BR>
|
||
<a href="http://www.cebit-america.com/" target="_blank">
|
||
http://www.cebit-america.com/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>ClusterWorld Conference and Expo</b><BR>
|
||
<td valign=top>June 24-26, 2003<BR>San Jose, CA<BR>
|
||
<a href="http://www.linuxclustersinstitute.org/Linux-HPC-Revolution"
|
||
target="_blank">
|
||
http://www.linuxclustersinstitute.org/Linux-HPC-Revolution</A><BR>
|
||
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>O'Reilly Open Source Convention</b><BR>
|
||
<td valign=top>July 7-11, 2003<BR>Portland, OR<BR>
|
||
<a href="http://conferences.oreilly.com/" target="_blank">
|
||
http://conferences.oreilly.com/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>12th USENIX Security Symposium</b><BR>
|
||
<td valign=top>August 4-8, 2003<BR>Washington, DC<BR>
|
||
<a href="http://www.usenix.org/events/" target="_blank">
|
||
http://www.usenix.org/events/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>LinuxWorld Conference & Expo</b><BR>
|
||
<td valign=top>August 5-7, 2003<BR>San Francisco, CA<BR>
|
||
<a href="http://www.linuxworldexpo.com" target="_blank">
|
||
http://www.linuxworldexpo.com</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>Linux Lunacy</b><BR><i>Brought to you by Linux Journal and
|
||
Geek Cruises!</i><br>
|
||
<td valign=top>September 13-20, 2003<BR>Alaska's Inside Passage<BR>
|
||
<a href="http://www.geekcruises.com/home/ll3_home.html" target="_blank">
|
||
http://www.geekcruises.com/home/ll3_home.html</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>Software Development Conference & Expo</b><BR>
|
||
<td valign=top>September 15-19, 2003<BR>Boston, MA<BR>
|
||
<a href="http://www.sdexpo.com" target="_blank">
|
||
http://www.sdexpo.com</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>PC Expo</b><BR>
|
||
<td valign=top>September 16-18, 2003<BR>New York, NY<BR>
|
||
<a href="http://www.http://www.techxny.com/pcexpo_techxny.cfm"
|
||
target="_blank">
|
||
http://www.techxny.com/pcexpo_techxny.cfm</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>COMDEX Canada</b><BR>
|
||
<td valign=top>September 16-18, 2003<BR>Toronto, Ontario<BR>
|
||
<a href="http://www.comdex.com/canada/" target="_blank">
|
||
http://www.comdex.com/canada/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>LISA (17th USENIX Systems Administration Conference)</b><BR>
|
||
<td valign=top>October 26-30, 2003<BR>San Diego, CA<BR>
|
||
<a href="http://www.usenix.org/events/lisa03/" target="_blank">
|
||
http://www.usenix.org/events/lisa03/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>HiverCon 2003</b><BR>
|
||
<td valign=top>November 6-7, 2003<BR>Dublin, Ireland<BR>
|
||
<a href="http://www.hivercon.com/" target="_blank">
|
||
http://www.hivercon.com/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
<tr><td valign=top>
|
||
<b>COMDEX Fall</b><BR>
|
||
<td valign=top>November 17-21, 2003<BR>Las Vegas, NV<BR>
|
||
<a href="http://www.comdex.com/fall2003/" target="_blank">
|
||
http://www.comdex.com/fall2003/</A><BR>
|
||
|
||
<tr><td colspan=2><HR size=5 width=100% noshade align=center></td></tr>
|
||
|
||
</table>
|
||
|
||
<a name="general"></a>
|
||
<p><hr><p>
|
||
<!-- =================================================================== -->
|
||
<center><H3><font color="green">News in General</font></H3></center>
|
||
|
||
|
||
|
||
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">IBM and Smallpox
|
||
</FONT>
|
||
</H3>
|
||
|
||
|
||
|
||
<P>
|
||
<a href="http://www.ibm.com">
|
||
IBM</a>,
|
||
United Devices and Accelrys have announced a project supporting a global
|
||
research effort that is focused on the development of new drugs that could
|
||
potentially combat the smallpox virus post infection.
|
||
The Smallpox Research Grid Project is powered by an
|
||
IBM infrastructure, which includes IBM eServer[tm] p690 systems and IBM's
|
||
Shark Enterprise Storage Server running DB2[r] database software using AIX
|
||
and Linux.
|
||
|
||
|
||
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">Opera and the Swedish Chef Go After Microsoft
|
||
</FONT>
|
||
</H3>
|
||
<P>
|
||
<a href="http://www.opera.com/">
|
||
Opera Software</a> has released a very special Bork edition of its Opera 7 for
|
||
Windows browser. The Bork edition behaves differently on one Web site:
|
||
MSN. Users accessing the MSN site
|
||
<a href="http://www.msn.com/">
|
||
http://www.msn.com/</a>
|
||
will see the page transformed into the language of the famous Swedish Chef
|
||
from the Muppet Show: Bork, Bork, Bork! This is retaliation to apparent
|
||
targeting by MSN of Opera users. Opera browser users were supplied with a
|
||
different stylesheet to MSIE users, which made the site display in a less
|
||
appealing way.
|
||
|
||
|
||
<a name="distro"></a>
|
||
<p><hr><p>
|
||
<!-- =================================================================== -->
|
||
<center><H3><font color="green">Distro News</font></H3></center>
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">Debian
|
||
</FONT>
|
||
</H3>
|
||
<P>
|
||
Debian Weekly News
|
||
<a href="http://www.debian.org/News/weekly/2003/05/">
|
||
reported</a>
|
||
the
|
||
<a href="http://lists.debian.org/debian-devel-announce-0301/msg00009.html">
|
||
announcement</a>
|
||
of the new
|
||
<a href="http://ftp-master.debian.org/ziyi_key_2003.asc">
|
||
archive key</a> for 2003. This is used to sign the Release file for the
|
||
main, non-US and security archives, and can be used with apt-check-sigs to
|
||
improve security when using mirrors.
|
||
<P>
|
||
<hr width="20%" noshade>
|
||
<P>
|
||
Also
|
||
<a href="http://www.debian.org/News/weekly/2003/05/">
|
||
from DWN</a>, and of use to many Debian users, is
|
||
<a href="http://lists.debian.org/debian-openoffice-0301/msg00169.html">
|
||
Adrian Bunk's announcement</a>
|
||
of the backport of OpenOffice.org 1.0.2 to woody. Packages are
|
||
<a href="http://www.fs.tum.de/~bunk/packages/">
|
||
available online</a>.
|
||
<P>
|
||
<hr width="20%" noshade>
|
||
<P>
|
||
Debian
|
||
<a href="http://newsvac.newsforge.com/article.pl?sid=03/02/07/2232216">
|
||
powers PRISMIQ MediaPlayer</a>
|
||
home entertainment gateway device.
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">Knoppix
|
||
</FONT>
|
||
</H3>
|
||
<P>
|
||
IBM developerWorks has published a
|
||
<a href="http://www-106.ibm.com/developerworks/linux/library/l-knopp.html?ca=dgr-lnxw02Knoppix">
|
||
recent article</a> on Knoppix.
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">Mandrake
|
||
</FONT>
|
||
</H3>
|
||
<P>
|
||
<a href="http://www.distrowatch.com/dwres.php?resource=review-mandrake">
|
||
Part 4</a>
|
||
of DistroWatch's review of Mandrake 9.1 is online
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">SuSE
|
||
</FONT>
|
||
</H3>
|
||
<P>
|
||
<a href="http://www.ofb.biz/modules.php?name=News&file=article&sid=199">
|
||
Open For Business</a>
|
||
has published
|
||
<a href="http://www.ofb.biz/modules.php?name=News&file=article&sid=199">
|
||
a review</a>
|
||
of SuSE Linux 8.1
|
||
<P>
|
||
NewsForge has
|
||
<a href="http://newsforge.com/article.pl?sid=03/02/17/1411244">
|
||
reviewed</a>
|
||
SuSE Linux Office Desktop.
|
||
|
||
|
||
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">Vector
|
||
</FONT>
|
||
</H3>
|
||
LinuxHardware.org have
|
||
<a href="http://www.linuxhardware.org/article.pl?sid=03/01/28/159200">
|
||
reviewed</a>
|
||
Vector Linux 2.5 SOHO edition.
|
||
While
|
||
<a href="http://www.madpenguin.org/article.php?sid=62">
|
||
Mad Penguin reports</a>
|
||
the release of version 3.2.
|
||
|
||
|
||
<a name="commercial"></a>
|
||
<p><hr><p>
|
||
<!-- =================================================================== -->
|
||
<center><H3><font color="green">Software and Product News</font></H3></center>
|
||
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">C.O.L.A software news
|
||
</FONT>
|
||
</H3>
|
||
A small selection of
|
||
<a
|
||
href="http://groups.google.com/groups?hl=en&lr=lang_en|lang_fr&ie=UTF-8&group=comp.os.linux.announce">
|
||
announcements from February</a>:
|
||
<ul>
|
||
<li>
|
||
The GUI library wxWindoes version 2.4.0
|
||
<a href="http://groups.google.com/groups?dq=&hl=en&lr=lang_en|lang_fr&ie=UTF-8&group=comp.os.linux.announce&selm=YgQY9.48099%24ZE.1355872%40twister2.libero.it">
|
||
has been released</a>.
|
||
</li>
|
||
<li>
|
||
The release of Version 22.4.1 of LILO has
|
||
<a href="http://groups.google.com/groups?dq=&hl=en&lr=lang_en|lang_fr&ie=UTF-8&group=comp.os.linux.announce&selm=2iui3v0f63j8gulutuhbuj37gtai93rhfa%404ax.com">
|
||
been announced</a>.
|
||
</li>
|
||
<li>
|
||
teTeX version 2.0
|
||
<a href="http://groups.google.com/groups?dq=&hl=en&lr=lang_en|lang_fr&ie=UTF-8&group=comp.os.linux.announce&selm=b1k4kd%243n%241%40newsserver.rrzn.uni-hannover.de">
|
||
is now available</a> as is
|
||
<a href="http://groups.google.com/groups?dq=&hl=en&lr=lang_en|lang_fr&ie=UTF-8&group=comp.os.linux.announce&selm=20030207102557.GA71474%40compsoc.man.ac.uk">
|
||
Lyx version 1.3.0</a>.
|
||
</li>
|
||
</ul>
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">Candy Cruncher
|
||
</FONT>
|
||
</H3>
|
||
<P>
|
||
<a href="http://www.linuxgamepublishing.com/">
|
||
LGP</a>
|
||
is pleased to announce that
|
||
<a href="http://www.linuxgamepublishing.com/info.php?id=10">
|
||
Candy Cruncher</a>
|
||
has arrived from the replicators and is available immediately.
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">CourseForum 1.3
|
||
</FONT>
|
||
</H3>
|
||
<P>
|
||
<a href="http://www.courseforum.com">
|
||
CourseForum Technologies</a>
|
||
today introduced CourseForum 1.3, its web-based
|
||
software for e-learning content creation, sharing and discussion.
|
||
CourseForum can be hosted on MacOS X, Windows 98/ME/NT/2000/XP, Linux or
|
||
other Unixes, while users need only a standard web browser.
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">ProjectForum 1.3
|
||
</FONT>
|
||
</H3>
|
||
<P>
|
||
CourseForum Technologies today introduced
|
||
<a href="http://www.projectforum.com">
|
||
ProjectForum 1.3</a>,
|
||
a web-based software for flexible workgroup collaboration and coordination
|
||
of projects and teams. ProjectForum can be hosted on MacOS X, Windows
|
||
98/ME/NT/2000/XP, Linux or other Unixes, while users need only a standard
|
||
web browser. Licenses start at US$199, and a free version is also
|
||
available.
|
||
<P> <hr> <P>
|
||
<!-- =================================================================== -->
|
||
<H3><IMG ALT=" " SRC="../gx/bolt.gif">
|
||
<FONT COLOR="green">AquaFold
|
||
</FONT>
|
||
</H3>
|
||
<P>
|
||
<a href="http://www.aquafold.com/">
|
||
AquaFold, Inc</a>
|
||
have
|
||
<a href="http://www.aquafold.com/press_2_24_2003.html">
|
||
announced</a>
|
||
the latest version of
|
||
<a href="http://www.aquafold.com/downloads.html">
|
||
Aqua Data Studio</a>, a
|
||
universal database tool for building, managing and maintaining enterprise
|
||
relational databases. Aqua Data Studio includes support for all major
|
||
database platforms such as Oracle 8i/9i, IBM DB2, Sybase Adaptive Server,
|
||
Microsoft SQL Server and the open source databases MySQL and PostgreSQL.
|
||
Developed with the Java programming language, Aqua Data Studio supports all
|
||
major operating systems, including Linux, Microsoft Windows, Mac OSX, and Solaris.
|
||
<a href="http://www.aquafold.com/screenshots.html">
|
||
Screenshots</a> and
|
||
<a href="http://www.aquafold.com/downloads.html">
|
||
downloads</a> available online.
|
||
|
||
|
||
|
||
<!-- =================================================================== -->
|
||
|
||
|
||
<!-- *** BEGIN bio *** -->
|
||
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
This page written and maintained by the Editor of the <I>Linux Gazette</I>,<BR>
|
||
<A HREF=mailto:gazette@ssc.com>gazette@ssc.com</A><BR>
|
||
|
||
Copyright © 2003, Michael Conry.
|
||
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</H5>
|
||
</STRONG></SMALL></CENTER>
|
||
<!-- *** END copyright *** -->
|
||
<HR>
|
||
|
||
|
||
|
||
|
||
<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">HelpDex</FONT></STRONG></BIG></BIG>
|
||
<BR>
|
||
<STRONG>By <A HREF="../authors/collinge.html">Shane Collinge</A></STRONG>
|
||
</CENTER>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<EM>These cartoons are scaled down to minimize horizontal scrolling.
|
||
To see a panel in all its clarity, click on it.</EM>
|
||
|
||
|
||
<P>
|
||
|
||
<A HREF="misc/collinge/385columbia.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/385columbia.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<P> Tux continues his career as an
|
||
<A HREF="../issue87/collinge.html">Eminem wannabe</A>.
|
||
<BR>
|
||
<A HREF="misc/collinge/386minuslt.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/386minuslt.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<A HREF="misc/collinge/387yuuuse.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/387yuuuse.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<A HREF="misc/collinge/388backwards.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/388backwards.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<P> And other topics...
|
||
<BR>
|
||
<A HREF="misc/collinge/390popup.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/390popup.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<A HREF="misc/collinge/392whales.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/392whales.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<A HREF="misc/collinge/393pre_unix.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/393pre_unix.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<A HREF="misc/collinge/394despues.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/394despues.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<A HREF="misc/collinge/395javier.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/395javier.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<A HREF="misc/collinge/396facts.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/396facts.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<A HREF="misc/collinge/400stages.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/400stages.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
<A HREF="misc/collinge/391espana.jpg">
|
||
<IMG ALT="[cartoon]" SRC="misc/collinge/391espana.jpg"
|
||
WIDTH="640" HEIGHT="240"></A>
|
||
<BR CLEAR="all">
|
||
|
||
|
||
|
||
|
||
<P> All HelpDex cartoons are at Shane's web site,
|
||
<A HREF="http://www.shanecollinge.com/">www.shanecollinge.com</A>.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- *** BEGIN author bio *** -->
|
||
<P>
|
||
<P>
|
||
<!-- *** BEGIN bio *** -->
|
||
<P>
|
||
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
||
<em>
|
||
Part computer programmer, part cartoonist, part Mars Bar. At night, he runs
|
||
around in a pair of colorful tights fighting criminals. During the day... well,
|
||
he just runs around. He eats when he's hungry and sleeps when he's sleepy.
|
||
</em>
|
||
<br CLEAR="all">
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** END author bio *** -->
|
||
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
Copyright © 2003, Shane Collinge.
|
||
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>
|
||
|
||
|
||
<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">Ecol</FONT></STRONG></BIG></BIG>
|
||
<BR>
|
||
<STRONG>By <A HREF="../authors/malonda.html">Javier Malonda</A></STRONG>
|
||
</CENTER>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
The Ecol comic strip is written for
|
||
<A HREF="http://escomposlinux.org">escomposlinux.org</A> (ECOL), the web site that
|
||
supports, es.comp.os.linux, the Spanish USENET newsgroup for Linux. The strips
|
||
are drawn in Spanish and then translated to English by the author. Text
|
||
commentary on this page is by LG Editor Iron. Your browser has shrunk the
|
||
images to conform to the horizontal size limit for LG articles. For better
|
||
picture quality, click on each cartoon to see it full size.
|
||
|
||
<P>
|
||
<A HREF="misc/ecol/ecol-098-e.png"><IMG SRC="misc/ecol/ecol-098-e.png" WIDTH="600" HEIGHT="240"></A>
|
||
|
||
<HR NOSHADE> <!-- ****************************************************** -->
|
||
|
||
<A HREF="misc/ecol/ecol-100-e.png"><IMG SRC="misc/ecol/ecol-100-e.png" WIDTH="600" HEIGHT="240"></A>
|
||
|
||
<HR NOSHADE> <!-- ****************************************************** -->
|
||
|
||
Ecol is now available in <EM>three</EM> languages: English, Spanish and
|
||
Catalan.
|
||
<BR>
|
||
|
||
<A HREF="misc/ecol/ecol-099-e.png"><IMG SRC="misc/ecol/ecol-099-e.png" WIDTH="600" HEIGHT="240"></A>
|
||
<P>
|
||
<A HREF="misc/ecol/ecol-099.png"><IMG SRC="misc/ecol/ecol-099.png" WIDTH="600" HEIGHT="240"></A>
|
||
<P>
|
||
<A HREF="misc/ecol/ecol-099-catalan.png"><IMG SRC="misc/ecol/ecol-099-catalan.png" WIDTH="600" HEIGHT="240"></A>
|
||
|
||
<P>
|
||
Your Editor couldn't resist getting Javier to do the same cartoon in Esperanto.
|
||
<BR>
|
||
<A HREF="misc/ecol/ecol-099-esperanto.png"><IMG SRC="misc/ecol/ecol-099-esperanto.png" WIDTH="600" HEIGHT="240"></A>
|
||
|
||
|
||
|
||
<HR NOSHADE> <!-- ****************************************************** -->
|
||
|
||
All Ecol cartoons are at
|
||
<A HREF="http://tira.escomposlinux.org/">tira.escomposlinux.org</A> (Spanish),
|
||
<A HREF="http://comic.escomposlinux.org/">comic.escomposlinux.org</A> (English) and
|
||
<A HREF="http://tira.puntbarra.com/">http://tira.puntbarra.com/</A> (Catalan).
|
||
The Catalan version is translated by the people who run the site; only a few
|
||
episodes are currently available.
|
||
|
||
<P> <SMALL>These cartoons are copyright Javier Malonda. They may be copied, linked
|
||
or distributed by any means. However, you may not distribute modifications. If
|
||
you link to a cartoon, please <A
|
||
HREF="mailto:jmr@escomposlinux.org">notify</A> Javier, who would appreciate
|
||
hearing from you.
|
||
</SMALL>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- *** BEGIN author bio *** -->
|
||
<P>
|
||
<P>
|
||
<!-- *** BEGIN bio *** -->
|
||
<!-- P>
|
||
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
||
<em>
|
||
</em>
|
||
<br CLEAR="all" -->
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** END author bio *** -->
|
||
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
Copyright © 2003, Javier Malonda.
|
||
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>
|
||
|
||
|
||
<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">Fonts for the Common Desktop Environment (or: How To Alias Your Fonts)</FONT></STRONG></BIG></BIG>
|
||
<BR>
|
||
<STRONG>By <A HREF="../authors/jenkins.graham.html">Graham Jenkins</A></STRONG>
|
||
</CENTER>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h2>Yet Another New Desktop Environment?</h2>
|
||
|
||
<p>Actually, it's not. The Common Desktop Environment (CDE) has been around
|
||
for as long as some of those who will be reading this article. It was
|
||
jointly developed by IBM, Sun, HP and Novell so as to provide a unified
|
||
"look and feel" to users of their systems. It was also adopted by other
|
||
companies (notably Digital Equipment).
|
||
You can find further details at
|
||
<a href="http://www-1.ibm.com/servers/aix/cde/cdewhat.html">
|
||
"IBM AIX: What is CDE?"</a>.</p>
|
||
|
||
<P>
|
||
[<A HREF="misc/jenkins/ScreenShot.jpg">Screenshot: a typical CDE screen</A>]
|
||
|
||
<p>The early versions of KDE appear to have been based on CDE, and the
|
||
more recent releases of XFce have a look-and-feel which is very similar
|
||
to that of CDE. A key difference here is that both KDE and XFce are
|
||
Open Source developments.</p>
|
||
|
||
<img src="misc/jenkins/FontSize1.jpg" width="480" height="306" border="0"
|
||
align="right" hspace="10" vspace="10" alt="DeskTop Terminal (dtterm)">
|
||
|
||
<p>One of the most-used CDE applications is probably its desktop terminal
|
||
'dtterm' which was based on 'xterm' with some extra menu-bar capabilities;
|
||
its look is not unlike that of 'gnome-terminal'. There are also image-viewer,
|
||
performance-monitoring, mail-reader and other useful tools.</p>
|
||
|
||
<h2>Why Should I Care?</h2>
|
||
|
||
<p>I work in an environment where I am required to access and manage a
|
||
number of Solaris and HP-UX servers. Most of my work is done at a
|
||
NetBSD-based Xterminal, managed by a remote Solaris machine so that I
|
||
have a CDE desktop. There are times it is managed instead by a remote
|
||
Linux machine so that I have a Gnome desktop. And there are times
|
||
(too many of them!) when I work from home, using a Linux machine with
|
||
a locally-managed Gnome desktop.</p>
|
||
<br clear="all">
|
||
|
||
<p>It matters little where I am working; as soon as I open up a CDE utility
|
||
such as 'dtterm', my Xserver starts looking for CDE-specific fonts. It seems
|
||
that a number of vendor-supplied backup and other utilities also make use
|
||
of these fonts.</p>
|
||
|
||
<img src="misc/jenkins/FontSize2.jpg" width="480" height="306" border="0"
|
||
align="right" hspace="10" vspace="10" alt="DeskTop Terminal without Font Support">
|
||
|
||
<p>In the case of 'dtterm' the end-result is that an attempt
|
||
to select a different-sized font produces a selection list containing eight
|
||
fonts, and seven of these can't be found. It is actually possible to get
|
||
around this by redefining on the Solaris or HP host the names of the fonts
|
||
which are used for the 'dtterm' application. This can be done at either a
|
||
system-wide or a user-specific level; either way, it's hardly an elegant
|
||
solution.<p>
|
||
|
||
<p>In the case of a splash-screen produced at CDE-login time, the result
|
||
can be quite dire: the user is unable to read the login prompts or error
|
||
messages! More recent versions of both Solaris and HP-UX get around this
|
||
by attempting to append an entry like 'tcp/hpmachine:7100' to the
|
||
font-path at login time. That's fine unless your site security policy
|
||
prohibits the activation of font service on your Solaris and HP servers.</p>
|
||
|
||
<h2>Why Not Use Specialised Font Server Machines?</h2>
|
||
|
||
<p>You can designate a couple of machines as font-servers for your site. These
|
||
can be small dedicated machines, or they can offer other services (such as
|
||
DHCP, NTP, etc.) as well. That's actually the way that it's done with 'thin'
|
||
Xterminals from companies like IBM, NCD and HP.</p>
|
||
|
||
<p>There are several issues. First up, you have to actually install
|
||
the CDE-fonts on the font-server machines; there may be some copyright
|
||
issues here if you are installing (for instance) HP CDE fonts on Linux
|
||
machines.</p>
|
||
|
||
<p>Something we noticed in practice is that the Xserver software
|
||
we are using doesn't seem smart enough to do a transparent fail-over in the
|
||
event of a single server disconnection. So what happens is that
|
||
a user suddenly finds himself presented with a blank screen.</p>
|
||
|
||
<p>If you are working from home with a modem connection to the LAN
|
||
on which your font-servers reside, it can take some time for required
|
||
fonts to arrive when you start a 'dtterm' application.<p>
|
||
|
||
<h2>Install on Every Xserver?</h2>
|
||
|
||
<p>This is certainly a possibility, and if you can live with the
|
||
copyright issues, it will solve most of the problems outlined above. But it
|
||
will require an extra 10Mb of filespace on each system.<p>
|
||
|
||
<h2>There is Another Way!</h2>
|
||
|
||
<p>The good news is that you don't have to lose sleep over the copyright
|
||
issues. And you don't have to install strange fonts all over your
|
||
font directories.</p>
|
||
|
||
<p>All you need do is identify some commonly-available fonts which
|
||
closely match the CDE-specific fonts, and create one 'fonts.alias' file.
|
||
Place it in an appropriate directory (e.g. '/usr/X11R6/lib/X11/fonts/local'),
|
||
and run 'mkfontdir' in that directory. Then ensure that the directory
|
||
name is included in your font-server configuration
|
||
file (e.g. '/usr/X11R6/lib/X11/fs/config'). If your version of Linux
|
||
(or NetBSD, or FreeBSD ..) doesn't include a term like 'unix/:7100'
|
||
in its 'XF86Config' (or similar) server configuration file, you should
|
||
place the name of your selected font directory in that configuration file.</p>
|
||
|
||
<h2>The Intimate Details</h2>
|
||
|
||
<p>Here's what the 'fonts.alias'
|
||
<a href="misc/jenkins/fonts.alias.txt"> file</a> looks like.
|
||
For clarity, I've shown just the first two and the last alias hereunder, and
|
||
I've broken each line at the whitespace between the alias-name and it's
|
||
corresponding real font. There wasn't a great deal of science went
|
||
into the development of this file, although I did use a couple of
|
||
simple scripts to assemble it. It was just a matter of finding, for each alias,
|
||
a font having similar characteristics and size.</p>
|
||
|
||
<pre>
|
||
! XFree86-cdefonts-1.0-2
|
||
! Font Aliases for Common Desktop Environment using XFree86 fonts.
|
||
! Graham Jenkins <grahjenk@au1.ibm.com> October 2001.
|
||
-dt-application-bold-i-normal-serif-11-80-100-100-m-60-iso8859-1
|
||
"-adobe-courier-bold-o-normal--11-80-100-100-m-60-iso8859-1"
|
||
-dt-application-bold-i-normal-serif-14-100-100-100-m-90-iso8859-1
|
||
"-adobe-courier-bold-o-normal--14-100-100-100-m-90-iso8859-1"
|
||
...
|
||
"-dt-interface user-medium-r-normal-xxl serif-21-210-72-72-m-140-hp-roman8"
|
||
"-b&h-lucidatypewriter-medium-r-normal-sans-24-240-75-75-m-140-iso8859-1"
|
||
</pre>
|
||
|
||
|
||
<h2>Read My Lips</h2>
|
||
|
||
<p>OK, so you've read this far, and you're still asking "Why Should I Care?".
|
||
My guess is that eighty percent of you have never used CDE and are unlikely
|
||
to use it in the future.</p>
|
||
|
||
<p>But what I can guarantee is that most of you are going to run an application
|
||
one day, and wonder why it's fonts don't display or scale properly. My hope is
|
||
that when that happens, you'll recall what you've read here - and apply it to
|
||
the creation of an appropriate 'fonts.alias' file as outlined above.</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- *** BEGIN author bio *** -->
|
||
<P>
|
||
<P>
|
||
<!-- *** BEGIN bio *** -->
|
||
<P>
|
||
<img ALIGN="LEFT" ALT="[picture]" SRC="../gx/2003/authors/Graham_Jenkins.jpg"
|
||
WIDTH="223" HEIGHT="207">
|
||
<em>
|
||
Graham is a Unix Specialist at IBM Global Services, Australia. He lives
|
||
in Melbourne and has
|
||
built and managed many flavors of proprietary and open systems on several
|
||
hardware platforms.
|
||
</em>
|
||
<br CLEAR="all">
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** END author bio *** -->
|
||
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
Copyright © 2003, Graham Jenkins.
|
||
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>
|
||
|
||
|
||
<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">Linux-Based Telecom</FONT></STRONG></BIG></BIG>
|
||
<BR>
|
||
<STRONG>By <A HREF="../authors/lodato.html">Janine M Lodato</A></STRONG>
|
||
</CENTER>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
|
||
|
||
<P> Because the baby-boom generation will soon be the senior population,
|
||
the market for voice-activated telephone services will be tremendous. An
|
||
open-minded company such
|
||
as IBM or Hewlett-Packard will surely find a way to meet the market demand.
|
||
What is needed by this aging population is a unified messaging system --
|
||
preferably voice-activated -- that lets the user check for caller ID, receive
|
||
short messages, check for incoming and outgoing e-mail, access address books
|
||
for both telephone numbers and e-mail addresses, and place telephone calls.
|
||
|
||
<P> Everything that is now done by typing and text will be more quickly and
|
||
easily performed with voice recognition. That is, a voice will identify a
|
||
caller, read short messages aloud, provide e-mail services in both
|
||
text-to-voice reading of the incoming e-mail and voice-to-text for outgoing
|
||
e-mail, voice access of address books, and voice-activated placing phone calls
|
||
(and ending them when you're done).
|
||
Once the users are able to answer, make and end a call using just
|
||
their voices, working with the telephone will be a breeze and seniors will
|
||
not feel isolated and lonely. What a boon to society voice-activated
|
||
telephone services will be.
|
||
Whether or not users are at all computer-savvy, e-mail will also be an
|
||
option applied to the telephone. It is, after all, a form of communication
|
||
as is the telephone. It is a Linux-based unified communication system.
|
||
|
||
<P> Of great value to the user would be e-mail and its corresponding address
|
||
book. As e-mail comes in, messages could be read by way of a text-to-voice
|
||
method.
|
||
Also of great value would be a telephone system with its corresponding
|
||
address book and numbers. Short messaging could be read through
|
||
text-to-voice technology and short messages can be left using voice-to-text
|
||
methodology.
|
||
|
||
<P> One of the most advanced and productive uses of such simple Linux-based
|
||
communication devices is to search the web without going on-line to a search
|
||
engine. Instead, one can just send an e-mail to Agora in Japan and do multiple
|
||
Google searches with a single e-mail. You do not even need a browser. For
|
||
example, we are interested how Linux has been recently doing in the press in
|
||
connection with the life sciences and medical applications. Just send a single
|
||
e-mail to a free service such as <STRONG>Agora at dna.affrc.go.jp</STRONG>.
|
||
|
||
In the body of a single e-mail one can put a number of searches. Of course,
|
||
one can modify the search terms:
|
||
|
||
<PRE>
|
||
Send http://www.google.com/search?q=Linux+press+2003+life*sciences\&num=50
|
||
|
||
Send http://www.google.com/search?q=Linux+press+2003+medical*devices\&num=50
|
||
|
||
Send http://www.google.com/search?q=Linux+press+2003+telemedicine\&num=50
|
||
</PRE>
|
||
|
||
Within thirty minutes or so, depending on the time of the day and
|
||
the load the Agora server is under, you get a number of e-mails back, one for
|
||
each send command in your email. Each e-mail lists the URLs, accompanied by a
|
||
one-paragraph review of the corresponding web site, which fits the keywords
|
||
one has specified in the send command. Then just simply select the reference
|
||
number next to the URL you are interested in and list them in a reply email
|
||
back to Agora, and they will send the web page you have selected. Or you can
|
||
use the deep command to get the entire web-site for the URL. To learn more
|
||
send a Help e-mail to the Agora server for details.
|
||
|
||
<P> How productive one can get, but do not abuse these fine services since
|
||
they are for the researchers. Use it when it's nighttime in Japan: after 7pm on
|
||
the US west coast, after 4pm on the US east coast, and after 11am in western
|
||
Europe.
|
||
|
||
<P> Anything that allows independence for the user is bound to be helpful to
|
||
every aspect of society.
|
||
|
||
<P> With the attractive price of a Linux-based unified communication device
|
||
encompassing all the applications mentioned above, users can be connected and
|
||
productive without the need for an expensive Windows system.
|
||
|
||
<H2>Resources</H2>
|
||
|
||
<P> There's a list of Agora and www4mail servers at
|
||
<A HREF="http://www.expita.com/servers.html">http://www.expita.com/servers.html</A>.
|
||
Two other (less reliable) Agora servers are <STRONG>agora at kamakura.mss.co.jp</STRONG>
|
||
(Japan) and <STRONG>agora at www.eng.dmu.ac.uk</STRONG> (UK).
|
||
|
||
<P> Www4mail is a very modern type of server that works similar to Agora.
|
||
Two servers the author has tested are <STRONG>www4mail at kabissa.org</STRONG> and
|
||
<STRONG>www4mail at web.bellanet.org</STRONG>. Send an e-mail with the words
|
||
"SEND HELP" in the body for instructions.
|
||
|
||
|
||
|
||
<!-- *** BEGIN author bio *** -->
|
||
<P>
|
||
<P>
|
||
<!-- *** BEGIN bio *** -->
|
||
<!-- P>
|
||
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
||
<em>
|
||
</em>
|
||
<br CLEAR="all" -->
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** END author bio *** -->
|
||
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
Copyright © 2003, Janine M Lodato.
|
||
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>
|
||
|
||
|
||
<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">The Sushi Pub at the World Internet Center</FONT></STRONG></BIG></BIG>
|
||
<BR>
|
||
<STRONG>By <A HREF="../authors/lodato.html">Janine M Lodato</A></STRONG>
|
||
</CENTER>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
<BLOCKQUOTE><EM>
|
||
The most important capital of an alliance: people,
|
||
successfully collaborating via the Internet.
|
||
</EM></BLOCKQUOTE>
|
||
|
||
Hope springs eternal at the World Internet Center (The Center) in Palo Alto,
|
||
California. Located in an upstairs suite at the historic Stanford Barn, The
|
||
Center hosts a weekly social event on Thursdays from 5 to 7 PM called "the
|
||
Pub". Aside from sushi and wine provided by The Center at nominal cost to
|
||
those who attend, the networking that takes place at the Pub offers hope to
|
||
millions of people.
|
||
|
||
<P> The Center brings hope by connecting Silicon Valley entrepreneurs,
|
||
corporate executives and technologists, all wanting to forge a start-up
|
||
company that will make a mark on today's economy using info-tech such as the
|
||
Internet. From the business opportunities that develop, the beneficiaries of
|
||
such opportunities are not just the businessmen putting together the deal.
|
||
In the long run, the beneficiaries may also include people around the world
|
||
afflicted with physical malfunctions and illnesses.
|
||
<P> The Pub allows people to put together start-up firms of varying
|
||
interests. Small, narrowly-focused companies such as those concentrating on
|
||
life sciences, soon to be headquartered in Singapore, rely on larger
|
||
businesses to disseminate their services and capabilities. These larger
|
||
businesses are called systems integrators.
|
||
|
||
<P> Visitors to The Center come from as far away as Russia, Australia, Iran,
|
||
Europe, China, Japan, Chile, Brazil and, of course, from Silicon Valley.
|
||
California's Silicon Valley is the Mecca of high technology: telecom,
|
||
multimedia telecom, computers, Internet and e-commerce, attracting countries
|
||
wanting to ride the high-tech wave of the future because of its potential for
|
||
financial gain.
|
||
<P> Because people forming a team and working well together as a group make
|
||
for the success of a new company, the elbow-rubbing they do socially at the
|
||
Pub is an indication of how things will work out in the long run. People
|
||
make the deal work, not technology, not ideas, not money, but people with
|
||
those things. If new businesses can speed along medical help for people with
|
||
all sorts of physical malfunctions, The Center will have achieved a major
|
||
milestone: lowering the cost of medicine and improving the lives of the
|
||
needy.
|
||
<P> The main theme of The Center is to connect its current and past large
|
||
corporate sponsors such as Amdocs, Deutsche Telekom, HP, IBM, SAP, Sun with
|
||
with small high-tech companies and expert individuals in the form of a series
|
||
of focused think-tanks.
|
||
|
||
<P> Because my husband, Laszlo Rakoczi, a Hungarian revolutionary who emigrated
|
||
to the USA after the revolution in Hungary was crushed by the Evil Empire
|
||
(the Soviet Union), is a member of the Advisory Board of The Center, many
|
||
small companies seek him out to discuss the potential of collaborative
|
||
strategic alliance type business arrangements. One such high-tech company
|
||
recently approaching him is Sensitron.net. Dr. Rajiv Jaluria, founder and CEO,
|
||
met Laszlo through The Center. Sensitron is a small high-tech firm which
|
||
built an end-to-end system to connect medical instruments to monitoring
|
||
stations and databases thus improving the productivity of the medical
|
||
professionals and increasing the quality of medical care. Of course the
|
||
question of what type of platform should the application run on came up.
|
||
Laszlo immediately introduced the idea of embedded Linux based systems for
|
||
the medical instruments as well as for the PDAs and Tablets for the
|
||
professionals and even the potential of Linux based servers and databases.
|
||
Laszlo suggested these since Linux would allow...
|
||
<UL>
|
||
<LI> a more reliable end-to-end system
|
||
<LI> easier maintenance of the system
|
||
<LI> a much lower cost end-to-end system
|
||
<LI> application specific, simple, productive GUI for the professionals
|
||
<LI> a GUI for the patients with telephone type simplicity so the can
|
||
connect in telemedicine fashion to the professionals supporting
|
||
them.
|
||
</UL>
|
||
<P> Laszlo could not resist pointing out that the real Evil Empire
|
||
which is holding down and fighting the real revolution -- the simple and low
|
||
cost collaboration of all peoples via the Internet, not just the ones who can
|
||
pay for the high cost of a Windows based PC -- is Microsoft with their
|
||
monopolistic pressure tactics. One of such evil practices of Microsoft is
|
||
the campaign under which they embrace a small company like Sensitron, enhance
|
||
their application of Sensitron, then extinguish the original team. Embrace,
|
||
enhance, extinguish. The Soviets were never that good and imaginative in
|
||
their tyrannical approach. Maybe that is the reason they have failed.
|
||
|
||
<P> As the biotech and IT arenas converge, IT enables life sciences companies to
|
||
accelerate the development, testing and marketing of their intellectual
|
||
properties, products and services. Life sciences encompass the fields of
|
||
biotechnology, medical equipment and pharmaceutical products and services.
|
||
Such companies include many small, as well as large entities like Pfizer,
|
||
Chiron, Philips and Agilent.
|
||
<P> It is hard to believe such a sophisticated, practical idea
|
||
could come from people socializing over wine and sushi, but that is indeed
|
||
the case. Many future start-up companies in the Silicon Valley will have the
|
||
World Internet Center and its weekly Pub to thank for their conception.
|
||
|
||
<P> One such important think tank, currently in formation stages looking for
|
||
corporate sponsors, is an NIH-funded project for the disabled, aging and
|
||
ailing. This proposed think tank planning to investigate the potential of
|
||
collaborative telemedicine. For example, due to the shortage of medical
|
||
professionals, China must use telemedicine to connect the small clinics in
|
||
260,000 communities to the 100 large teaching hospitals via VSAT type
|
||
Internet linkage. NeuSoft of China is putting together such a
|
||
system and of course they do not want to fall prey to Microsoft's
|
||
overpriced systems. In fact Linux is the major platform China wants for all
|
||
their applications supported by the Red Flag project.
|
||
<P> Telemed systems of this type apply to a very large group, including
|
||
disabled, aging and ailing people as well as the professionals supporting
|
||
them. The sum of these people account for half the population of the world
|
||
and very few of them can afford the artificially high cost of Windows-based
|
||
systems. Telemed can lower the cost of medicine, improve the capabilities of
|
||
the medical professionals and at the same time improve the quality of life of
|
||
the patients.
|
||
<P> Sensitron, with the support of NeuSoft will propose that NIH should
|
||
provide a grant to their strategic alliance under which a disabled and female
|
||
investigator will do a clinical study of the potential of significantly
|
||
improved condition of health via Internet-based collaborative virtual
|
||
community style involvement. This significant upgrade of self-supported
|
||
health improvement can be achieved using assistive technologies (AT)
|
||
connected via the web. However, such AT technologies must be upgraded to
|
||
allow collaboration between the health service professionals and their
|
||
patients linked via the virtual community.
|
||
The AT based virtual community needs functions such as...
|
||
<UL>
|
||
<LI> simple and telemed-specific user interface.
|
||
<LI> voice based interaction via computer/telephone.
|
||
<LI> always-on and always-available systems.
|
||
</UL>
|
||
An important point: the AT technologies we would apply
|
||
to the disabled and the aging can also be used for the
|
||
eyes-busy, hands-busy professionals. It could be
|
||
sold via a for-profit Internet company, with some of
|
||
the profits paid back to the non-profit think tank
|
||
in the form of grants and matching grants.
|
||
|
||
<P> Melbourne, Singapore, Dailan, Shanghai, Hong Kong, Kuala Lampur, Munich,
|
||
Budapest, Vienna, Lund, Bern, Helsinki, Shenyang, Dublin, London, Stuttgart,
|
||
Hawaii, Vancouver, Toronto, etc., would all love to come to Silicon Valley
|
||
in this virtual community manner, through a club equipped with a standard
|
||
wireless local area network (WLAN), connected to a virtual private network
|
||
(VPN). This cross-oceanic virtual private network will have kiosk-based
|
||
unified messaging (UM) between the clubs. This would also including very
|
||
low-cost voice over the Internet protocol (VoIP) connected in all major APEC,
|
||
Asian Pacific economic community, cities with the VoIP and UMoIP as well as
|
||
through carrier allies with IP backbone to 120 of the important cities in
|
||
USA/Canada as well as many in the EU.
|
||
|
||
|
||
<P> Those of us with neurological dysfunctions such as MS, ALS, ALD, Parkinsons,
|
||
Alzheimers and myriad more, have a very special personal stake in the
|
||
networking that goes on over sushi and wine. Life sciences and information
|
||
technology working together can aid these patients in a very effective way.
|
||
For example, techniques like neuroprosthetics -- interaction with devices
|
||
using voice and eye signals -- can develop.
|
||
<P> As I sit in the only quiet spot at The Center during its weekly,
|
||
after-hours social event, I notice the networking that takes place. The
|
||
Center provides a great opportunity for people to share ideas for business.
|
||
Everyone from the original architects of the Valley to new entrepreneurs is
|
||
there. Investors look for good investment opportunities, and start-up
|
||
companies look for anyone wanting to put money into their new venture.
|
||
Basically, it's a people-to-people scene and is exciting to observe.
|
||
<P> Then there are those who find the allure of the event as a singles bar
|
||
irresistible. Where else can they find stimulating company, fresh sushi and
|
||
good wine at such a fair price? Personally, having attended the weekly
|
||
occasion for so many months now because my husband, Laszlo, is a member of
|
||
The Center's Advisory Board, I could care less if I ever see sushi again in
|
||
my life!
|
||
<P> By now I have my own circle of friends at this gathering. And I find
|
||
those wanting to do business with my important husband very courteous and
|
||
attentive to me. In general, the entire encounter is an "upper" for me, a
|
||
technology midget among giants.
|
||
<P> Nibbling on the cheese set before me, my taste for sushi having long
|
||
since expired, I fulfill my role as a mouse in the boardroom to the max. I
|
||
overhear conversations of businessmen from the already-mentioned countries
|
||
exchanging e-mail addresses to further negotiate via the Internet. The
|
||
Center has achieved its goal.
|
||
<P> I smile a little inward smile, realizing medical researchers around the
|
||
world have been sharing ideas and breakthroughs on the Internet for years.
|
||
A medical Manhattan Project has been globalized thanks to the Internet. I
|
||
know a lot of afflicted people who were ready for medical help yesterday.
|
||
<P> What can we do besides raise money to hurry things along? Hope the
|
||
convergence of biotechnology and IT accelerates treatments for physical
|
||
malfunctions worldwide and promotes the free exchange of intellectual
|
||
property among biotechnology companies and research institutions, that's
|
||
what. And keep that sushi and wine readily available for the Thursday night
|
||
Pub at the World Internet Center.
|
||
|
||
|
||
|
||
|
||
|
||
<!-- *** BEGIN author bio *** -->
|
||
<P>
|
||
<P>
|
||
<!-- *** BEGIN bio *** -->
|
||
<!-- P>
|
||
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
||
<em>
|
||
</em>
|
||
<br CLEAR="all" -->
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** END author bio *** -->
|
||
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
Copyright © 2003, Janine M Lodato.
|
||
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>
|
||
|
||
|
||
<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">Perl One-Liner of the Month: Good Enough For Government Work</FONT></STRONG></BIG></BIG>
|
||
<BR>
|
||
<STRONG>By <A HREF="../authors/okopnik.html">Ben Okopnik</A></STRONG>
|
||
</CENTER>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
<p>When Woomert Foonly answered the door in response to an insistent knocking,
|
||
he found himself confronted by two refrigerator-sized (and shaped) men
|
||
in dark coats who wore scowling expressions. He noted that they were both
|
||
reaching into their coats, and his years of training in the martial arts
|
||
and razor-sharp attention to detail resulted in an instant reaction.
|
||
<p>- "Hello - you're obviously with the government, and you're here to
|
||
help me, even if didn't call you. May I see those IDs?... Ah. <i>That</i>
|
||
agency. Do come in, gentlemen. Feel free to remove your professional scowls
|
||
along with your coats, you won't need them. Pardon me while I call your
|
||
superiors just to make sure everything is all right; I need to be sure
|
||
of your credentials. Please have a seat."
|
||
<p>Some moments later, he put down the phone.
|
||
<p>- "Very well; everything seems right. How may I help you, or, more to
|
||
the point, help your associates who have a programming problem? I realize
|
||
that security is very tight these days, and your organization prefers face-to-face
|
||
meetings in a secure environment, so I'm mystified as to your purpose here;
|
||
I don't normally judge people by appearances, but you're clearly not programmers."
|
||
<p>The men glanced at each other, got up without a word, and began a minute
|
||
security survey of Woomert's living room - and Woomert himself - using
|
||
a variety of expensive-looking tools. When they finished a few minutes
|
||
later, they once again looked at each other, and nodded in unison. Then,
|
||
each of them reached into the depths of their coat and extracted a rumpled-looking
|
||
programmer apiece, both of whom they carefully placed in front of Woomert.
|
||
The look-and-nod ritual was repeated, after which they each retired to
|
||
the opposite corners of the room to lurk like very large shadows.
|
||
<p>Woomert blinked.
|
||
<p>- "Well. The requirements of security shall be served... no matter what
|
||
it takes. Have a seat, gentlemen; I'll brew some tea."
|
||
<p>A few minutes later, after introductions and hot tea - the names of
|
||
the human cargo turned out to be Ceedee Tilde and Artie Effem - they got
|
||
down to business. Artie turned out to be the spokesman for the pair.
|
||
<p>- "Mr. Foonly, our big challenge these days is image processing. As
|
||
you can imagine, we get a lot of surveillance data... well, it comes to
|
||
us in a standardized format that contains quite a lot of information besides
|
||
the image: the IP of the originating site, a comment field, position information,
|
||
etc. The problem is, both of us are very familiar with text processing
|
||
under Perl but have no idea how to approach extracting a set of non-text
|
||
records - or, for that matter, how to avoid reading in a 200MB image file
|
||
when all we need is the header info... I'll admit, we're rather stuck.
|
||
Our resident C++ guru keeps trying to convince us that this can only be
|
||
done in his language of choice - it wouldn't take him more than a week,
|
||
or so he says, but we've heard <i>that</i> story before." After an enthusiastic
|
||
nod of agreement from Ceedee he went on. "Anyway, we thought we'd consult
|
||
you - there just <b>has</b> to be something you can do!"
|
||
<p>Woomert nodded.
|
||
<p>- "There is. One thing, though: since we're not dealing with actual
|
||
classified data or anything that requires a clearance - I assume you've
|
||
brought me a carefully-vetted specification sheet, yes? - I want my assistant,
|
||
Frink Ooblick, to be in on the discussion. This is, in fact, similar to
|
||
the kind of work he's been trying to do lately, so he should find it useful
|
||
as well."
|
||
<p>Frink was brought in and debugged by the pair Woomert had dubbed Strong
|
||
and Silent, although "perl -d" <a href="#[1]">[1]</a> was nowhere in evidence.
|
||
After introductions all around, he settled into his favorite easy chair
|
||
from which he could see Woomert's screen.
|
||
<p>- "All right, let's look at the spec sheet. Hmmm... the header is 1024
|
||
bytes; four bytes worth of raw IP address, a forty-byte comment field,
|
||
latitude and longitude of top left and bottom right, each of the four measurements
|
||
preceded by a length-definition character... well, that'll be enough for
|
||
a start; you should be able to extrapolate from the solution for the above."
|
||
<p>"What do you think, Frink? Any ideas on how to approach this one?"
|
||
<p>Frink was already sitting back in his chair, eyes narrowed in thought.
|
||
<p>- "Yes, actually - at least the first part. Since they're reading a
|
||
binary file, ``read'' seems like the right answer. As for the second...
|
||
well, ``substr'', maybe..."
|
||
<p>- "Close, but not quite. ``read'' is correct: we want to get a fixed-length
|
||
chunk of the file. However, "substr" isn't particularly great for non-text
|
||
strings - and hopeless when we don't know what the field length is ahead
|
||
of time, as is the case with the four lat/long measurements. However, we
|
||
do have a much bigger gun... whoa, boys, calm down!" he added as Strong
|
||
and Silent stepped out of their corners, "it's just a figure of speech!"
|
||
<p>"Anyway," he continued, with a twinkle in his eye that hinted at the
|
||
"slip" being not-so-accidental, "we have a better <i>tool</i> we can use
|
||
for the job, one that's got plenty of pep and some to spare: ``unpack''.
|
||
Here, try this:
|
||
<pre>
|
||
<hr WIDTH="100%"># Code fragment only; actually processing the retrieved data is left as an
|
||
# excercise, etc. :)
|
||
...
|
||
$A="file.img";open A or die "$A: $!";read A,$b,1024;@c=unpack "C4A40(A/A)4", $b
|
||
...
|
||
<hr WIDTH="100%"></pre>
|
||
The moment of silence stretched until Ceedee cleared his throat.
|
||
<p>- "Ah... Mr. Foonly... what the heck is <b>that?</b> I can understand
|
||
the ``open'' function, even though it looks sort of odd... ``read'' looks
|
||
reasonable too... but what's that ``unpack'' syntax? It looks as weird
|
||
as snake suspenders."
|
||
<p>Woomert glanced around. Artie was nodding in agreement, and even Frink
|
||
looked slightly bewildered. He smiled and took another sip of tea.
|
||
<p>- "Nothing to worry about, gentlemen; it's just an ``unpack'' <i>template</i>,
|
||
a pattern which tells it how to handle the data. Here, I'll walk through
|
||
it for you. First, though, let's expand this one-liner into something a
|
||
bit more readable, maybe add a few comments:
|
||
<pre><hr WIDTH="100%">
|
||
$A = "file.img"; # Set $A equal to the file name
|
||
open A or die "$A: $!"; # Open using the "new" syntax
|
||
read A, $b, 1024; # Read 1kB from 'A' into $b
|
||
@c = unpack "C4A40(A/A)4", $b; # Unpack $b into @c per template
|
||
<hr WIDTH="100%"></pre>
|
||
The new syntax of "open" (starting with Perl 5.6.0) allows us to "combine"
|
||
the filehandle name and the filename, as I did in the first two lines;
|
||
the name of the variable (without the '$' sigil) is used as the filehandle.
|
||
If you take a look at ``perldoc -f pack'', it contains a longish list of
|
||
template specifications, pretty much anything you might want for conversions;
|
||
you can convert various types of data, move forward, back up, and in general
|
||
dance a merry jig. The above was rather simple, really:
|
||
<pre>
|
||
<hr WIDTH="100%">
|
||
C4 An unsigned "char" value repeated 4 times
|
||
A40 An ASCII string 40 characters long
|
||
(A/A)4 ASCII string preceded by a "length" argument which is itself a single
|
||
ASCII character, repeated 4 times
|
||
<hr WIDTH="100%"></pre>
|
||
The resulting output was assigned to @c, which now contains something like
|
||
this:
|
||
<pre>
|
||
<hr WIDTH="100%">$a[0] The first octet of the IP quad
|
||
$a[1] " second " " " "
|
||
$a[2] " third " " " "
|
||
$a[3] " fourth " " " "
|
||
$a[4] The comment field
|
||
$a[5] The latitude of the upper left corner
|
||
$a[6] " longitude " " " " "
|
||
$a[7] The latitude of the lower right corner
|
||
$a[8] " longitude " " " " "
|
||
<hr WIDTH="100%"></pre>
|
||
Obviously, you can extend this process to your entire data layout. What
|
||
do you think, gentlemen - does this fit your requirements?"
|
||
<br>
|
||
<br>
|
||
<p>After the now-enthusiastic Artie and Ceedee had been bundled off by
|
||
their hulking keepers and the place was once again as roomy as it had been
|
||
before their arrival, Woomert opened a bottle of Hennessy's "Paradise"
|
||
cognac and brought out a pair of small but fragrant cigars which proved
|
||
to be top-grade Cohibas.
|
||
<p>- "Well, Flink - that's another case solved; something that never fails
|
||
to make me feel cheery and upbeat. As for you - hit those books, young
|
||
man! - at least when we get done with this little treat. ``perldoc perlopentut''
|
||
will make a good introduction to the various ways to open a file, duplicate
|
||
a filehandle, etc.; ``perldoc -f pack'' and ``perldoc -f unpack'' will
|
||
explain those functions in detail. When you think you've got it, find a
|
||
documented binary file format and write a parser that will pull out the
|
||
data for examination. By this time tomorrow, you should be quite expert
|
||
in the use of these tools..."
|
||
<br>
|
||
<br>
|
||
<p>
|
||
<hr WIDTH="100%">
|
||
<br><a NAME="[1]"></a>[1] Perl comes with a very powerful built-in debugger;
|
||
see "perldoc perldebtut" and "perldoc perldebug" for more information.
|
||
Note, however, that it's not very good at locating hidden transmitters
|
||
or wiretaps...
|
||
|
||
|
||
|
||
|
||
<!-- *** BEGIN author bio *** -->
|
||
<P>
|
||
<P>
|
||
<P> Ben is a Contributing Editor for Linux Gazette and a member of
|
||
The Answer Gang.
|
||
|
||
<!-- *** BEGIN bio *** -->
|
||
<P>
|
||
<IMG ALT="picture" SRC="../../gx/2002/tagbio/ben-okopnik.jpg" WIDTH="199"
|
||
HEIGHT="200" ALIGN="left" HSPACE="10" VSPACE="10">
|
||
<em>
|
||
Ben was born in Moscow, Russia in 1962. He became interested in
|
||
electricity at age six--promptly demonstrating it by sticking a fork into
|
||
a socket and starting a fire--and has been falling down technological mineshafts
|
||
ever since. He has been working with computers since the Elder Days, when
|
||
they had to be built by soldering parts onto printed circuit boards and
|
||
programs had to fit into 4k of memory. He would gladly pay good money to any
|
||
psychologist who can cure him of the resulting nightmares.
|
||
|
||
<p>Ben's subsequent experiences include creating software in nearly a dozen
|
||
languages, network and database maintenance during the approach of a hurricane,
|
||
and writing articles for publications ranging from sailing magazines to
|
||
technological journals. Having recently completed a seven-year
|
||
Atlantic/Caribbean cruise under sail, he is currently docked in Baltimore, MD,
|
||
where he works as a technical instructor for Sun Microsystems.
|
||
|
||
<p>Ben has been working with Linux since 1997, and credits it with his complete
|
||
loss of interest in waging nuclear warfare on parts of the Pacific Northwest.
|
||
</em>
|
||
<br CLEAR="all">
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** END author bio *** -->
|
||
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
Copyright © 2003, Ben Okopnik.
|
||
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>
|
||
|
||
|
||
<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">Optimizing GCC</FONT></STRONG></BIG></BIG>
|
||
<BR>
|
||
<STRONG>By <A HREF="../authors/piszcz.html">Justin Piszcz</A></STRONG>
|
||
</CENTER>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
I have a Pentium 3 866MHZ CPU. After reading the
|
||
<A HREF="http://freshmeat.net/articles/view/730/">freshmeat article on
|
||
optimizing GCC</A> a few days ago, it got me thinking.
|
||
|
||
|
||
So I posed the following question:
|
||
|
||
How much faster would gcc compile the kernel if gcc itself was optimized?
|
||
|
||
I chose to benchmark kernel compilation times, because I think it is a good
|
||
benchmark, and many other people also use it to benchmark system performance.
|
||
Also, at one point or another, most Linux users will have to take the step and
|
||
compile the kernel, so I thought I'd benchmark something that is useful and
|
||
something that people have a general idea of how long it takes to compile without
|
||
optimizations.
|
||
So my test is comprised of the following:
|
||
|
||
<OL>
|
||
<LI> Run 10 kernel compilations and calculate the average time.
|
||
<UL>
|
||
<LI> Regular GCC build.
|
||
<LI> Optimized GCC build.
|
||
</UL>
|
||
|
||
<LI> The kernel in question is the latest stable Linux kernel.
|
||
<UL>
|
||
<LI> At this time, 2.4.20 remains the latest stable Linux kernel.
|
||
</UL>
|
||
|
||
<LI> The GCC used with this test is the latest stable gcc.
|
||
<UL>
|
||
<LI> At this time, 3.2.2 remains the lastest stable gcc.
|
||
</UL>
|
||
</OL>
|
||
|
||
|
||
<P>
|
||
With an non-optimized compiler, (configure;make;make install)<BR>
|
||
|
||
Average of 10 'make bzImage':<BR>
|
||
|
||
TIME: 12.42 minutes (762 seconds)
|
||
|
||
|
||
<P>
|
||
With an optimized compiler,
|
||
I specifically used:
|
||
<PRE>
|
||
-O3 -pipe -fomit-frame-pointer -funroll-loops -march=pentium3 -mcpu=pentium3
|
||
-mfpmath=sse -mmmx -msse
|
||
</PRE>
|
||
|
||
|
||
In case you are wondering how to do this, it is in the FAQ of the gcc tarball.
|
||
|
||
|
||
The following line is what I used:
|
||
|
||
<PRE>
|
||
./configure ; make BOOT_CFLAGS="optimization flags" bootstrap ; make install
|
||
</PRE>
|
||
|
||
|
||
Average of 10 'make bzImage'<BR>
|
||
|
||
TIME: 9.31 minutes (571 seconds)
|
||
|
||
|
||
<P>
|
||
I compile almost everything I run on my Linux box.
|
||
I use a package manager called
|
||
<A HREF="http://relink.sourceforge.net/">relink</A> to manage
|
||
all of my installed packages.
|
||
|
||
|
||
<P>
|
||
Optimizing the compiler alone:
|
||
offers a speed increase of: 33% (or 3:11 minutes, 191 seconds faster).
|
||
This may not seem like a lot, but for compiling big programs, it will significantly
|
||
reduce compile time making those QT & Mozilla builds that much faster :)
|
||
|
||
|
||
The actual test consisted of this:
|
||
|
||
<PRE>
|
||
cd /usr/src/Linux
|
||
|
||
for i in `seq 1 10`
|
||
|
||
do
|
||
|
||
make dep
|
||
|
||
make clean
|
||
|
||
/usr/bin/time make bzImage 2>> /home/war/log
|
||
|
||
done
|
||
</PRE>
|
||
|
||
|
||
In case you're wondering about the time elapsed per build and how much
|
||
the CPU was utilized, here they are:
|
||
|
||
<PRE>
|
||
No Optimization (Standard GCC-3.2.2):
|
||
|
||
720.88user 34.54system 12:43.97elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
719.06user 35.69system 12:42.09elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
719.14user 34.37system 12:39.64elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
720.52user 36.42system 12:46.68elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
721.07user 33.86system 12:41.59elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
718.95user 35.65system 12:41.31elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
721.83user 36.26system 12:51.54elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
720.29user 34.18system 12:40.63elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
719.14user 34.80system 12:39.19elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
721.16user 33.88system 12:41.93elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
|
||
Optimized Compiler (GCC-3.2.2 w/ "-O3 -pipe -fomit-frame-pointer -funroll-loops
|
||
-march=pentium3 -mcpu=pentium3 -mfpmath=sse -mmmx -msse")
|
||
|
||
532.09user 33.62system 9:32.76elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
531.57user 32.92system 9:29.25elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
532.99user 33.12system 9:31.18elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
532.58user 33.16system 9:30.57elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
533.18user 32.96system 9:31.34elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
534.01user 32.21system 9:32.50elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
532.59user 33.41system 9:31.56elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
532.76user 33.68system 9:32.01elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
534.19user 32.54system 9:31.92elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
|
||
534.11user 32.76system 9:32.40elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
|
||
</PRE>
|
||
|
||
|
||
Note:
|
||
|
||
I realize some of the optimizations, most specifically (-fomit-frame-pointer) may
|
||
not be a good optimization feature, especially for debugging. However, my
|
||
goal is to increase compiler performance and not worry about debugging.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<!-- *** BEGIN author bio *** -->
|
||
<P>
|
||
<P>
|
||
<!-- *** BEGIN bio *** -->
|
||
<!-- P>
|
||
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
||
<em>
|
||
I am currently in my final year for my A.S. in Computer Science at a
|
||
local community college. I then plan on transferring to another college
|
||
for a B.S. in Computer Science. I have been using UNIX on and off since
|
||
1989. I grew up around Macintosh computers. In 1996 however, I became
|
||
frusturated with Macs and how unstable they were. So in December, 1996
|
||
I installed LinuxPPC R3, this is when I began using Linux daily. This
|
||
distrubution came with kernel 2.1.24, and kde 0.2 I believe, but I
|
||
primarily used the CLI because xpmac and gnome/kde was not quite
|
||
complete yet. Then, in 1998 I built a good x86 box and now use Red Hat
|
||
for my desktop machine and Slackware for my Linux router/server. I have
|
||
been using Linux every day since then.
|
||
</em>
|
||
<br CLEAR="all" -->
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** END author bio *** -->
|
||
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
Copyright © 2003, Justin Piszcz.
|
||
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>
|
||
|
||
|
||
<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">Programming the SA1110 Watchdog timer on the Simputer </FONT></STRONG></BIG></BIG>
|
||
<BR>
|
||
<STRONG>By <A HREF="../authors/pramode.html">Pramode C.E</A></STRONG>
|
||
</CENTER>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
<p>
|
||
|
||
In last month's article (Fun with Simputer and Embedded Linux),
|
||
I had described the process of developing programs for the
|
||
Simputer, a StrongArm based handheld device. The Simputer
|
||
can be used as a platform for learning microprocessor and
|
||
embedded systems programming. This article describes my
|
||
attempts at programming the watchdog timer unit attached
|
||
to the SA1110 CPU which powers the Simputer. The experiments
|
||
should work on any Linux based handheld which uses the same
|
||
CPU.
|
||
|
||
<h2> The Watchdog timer </h2>
|
||
|
||
<p>
|
||
|
||
Due to obscure bugs, your computer system is going to lock
|
||
up once in a while - the only way out would be to reset
|
||
the unit. But what if you are not there to press the switch?
|
||
You need to have some form of `automatic reset'.
|
||
The watchdog timer presents such a solution.
|
||
|
||
<p>
|
||
|
||
Imagine that your microprocessor contains two registers -
|
||
one which gets incremented every time there is a low to
|
||
high (or high to low) transition of a clock signal (generated
|
||
internal to the microprocessor or coming from some external
|
||
source) and another one which simply stores a number. Let's
|
||
assume that the first register starts out at zero and is
|
||
incremented at a rate of 4,000,000 per second. Lets assume
|
||
that the second register contains the number 4,000,000,0.
|
||
The microprocessor hardware compares these two registers
|
||
every time the first register is incremented and issues
|
||
a reset signal (which has the result of rebooting the system)
|
||
when the value of these registers match. Now, if we do not
|
||
modify the value in the second register, our system is sure
|
||
to reboot in 10 seconds - the time required for the values
|
||
in both registers to become equal.
|
||
|
||
<p>
|
||
|
||
The trick is this - we do not allow the values in these registers
|
||
to become equal. We run a program (either as part of the
|
||
OS kernel or in user space) which keeps on moving the value
|
||
in the second register forward before the values of both
|
||
become equal. If this program does not execute (because
|
||
of a system freeze), then the unit would be automatically
|
||
rebooted the moment the value of the two registers match.
|
||
Hopefully, the system will start functioning normally after
|
||
the reboot.
|
||
|
||
<h2> Resetting the SA1110 </h2>
|
||
|
||
<p>
|
||
|
||
The Intel StrongArm manual specifies that a software reset
|
||
is invoked when the Software Reset (SWR) bit of a register
|
||
called RSRR (Reset Controller Software Register) is set.
|
||
The SWR bit is bit D0 of this 32 bit register. My first
|
||
experiment was to try resetting the Simputer by setting
|
||
this bit. I was able to do so by compiling a simple module
|
||
whose `init_module' contained only one line:
|
||
|
||
<p>
|
||
RSRR = RSRR | 0x1
|
||
</p>
|
||
|
||
<h2> The Operating System Timer </h2>
|
||
|
||
<p>
|
||
|
||
The StrongArm CPU contains a 32 bit timer that is clocked
|
||
by a 3.6864MHz oscillator. The timer contains an OSCR (operating
|
||
system count register) which is an up counter and four 32
|
||
bit match registers (OSMR0 to OSMR3). Of special interest
|
||
to us is the OSMR3.
|
||
|
||
<p>
|
||
|
||
If bit D0 of the OS Timer Watchdog Match Enable Register
|
||
(OWER) is set, a reset is issued by the hardware when the
|
||
value in OSMR3 becomes equal to the value in OSCR. It seems
|
||
that bit D3 of the OS Timer Interrupt Enable Register (OIER)
|
||
should also be set for the reset to occur.
|
||
|
||
<p>
|
||
|
||
Using these ideas, it is easy to write a simple character
|
||
driver with only one method - `write'. A write will delay
|
||
the reset by a period defined by the constant `TIMEOUT'.
|
||
|
||
<p>
|
||
[<A HREF="misc/pramode/watchdog.c.txt">Text version of this listing</A>]
|
||
|
||
<p>
|
||
<pre>
|
||
|
||
/*
|
||
* A watchdog timer.
|
||
*/
|
||
|
||
#include <linux/module.h>
|
||
#include <linux/ioport.h>
|
||
#include <linux/sched.h>
|
||
#include <asm-arm/irq.h>
|
||
#include <asm/io.h>
|
||
|
||
#define WME 1
|
||
#define OSCLK 3686400 /* The OS counter gets incremented
|
||
* at this rate
|
||
* every second
|
||
*/
|
||
|
||
#define TIMEOUT 20 /* 20 seconds timeout */
|
||
|
||
static int major;
|
||
static char *name = "watchdog";
|
||
|
||
void
|
||
enable_watchdog(void)
|
||
{
|
||
OWER = OWER | WME;
|
||
}
|
||
|
||
void
|
||
enable_interrupt(void)
|
||
{
|
||
OIER = OIER | 0x8;
|
||
}
|
||
|
||
ssize_t
|
||
watchdog_write(struct file *filp, const char *buf, size_t
|
||
count, loff_t *offp)
|
||
{
|
||
OSMR3 = OSCR + TIMEOUT*OSCLK;
|
||
printk("OSMR3 updated...\n");
|
||
return count;
|
||
}
|
||
|
||
static struct file_operations fops = {write:watchdog_write};
|
||
|
||
int
|
||
init_module(void)
|
||
{
|
||
major = register_chrdev(0, name, &fops);
|
||
if(major < 0) {
|
||
printk("error in init_module...\n");
|
||
return major;
|
||
}
|
||
printk("Major = %d\n", major);
|
||
OSMR3 = OSCR + TIMEOUT*OSCLK;
|
||
enable_watchdog();
|
||
enable_interrupt();
|
||
return 0;
|
||
}
|
||
|
||
|
||
void
|
||
cleanup_module()
|
||
{
|
||
unregister_chrdev(major, name);
|
||
}
|
||
|
||
</pre>
|
||
</p>
|
||
|
||
<p>
|
||
It would be nice to add an `ioctl' method which can be used
|
||
at least for getting and setting the timeout period.
|
||
|
||
<p>
|
||
|
||
Once the module is loaded, we can think of running the following
|
||
program in the background (of course, we have to first create
|
||
a device file called `watchdog' with the major number which
|
||
`init_module' had printed). As long as this program keeps
|
||
running, the system will not reboot.
|
||
|
||
<p>
|
||
[<A HREF="misc/pramode/shutter_upper.c.txt">Text version of this listing</A>]
|
||
|
||
<p>
|
||
<pre>
|
||
|
||
#include <sys/types.h>
|
||
#include <sys/stat.h>
|
||
#include <fcntl.h>
|
||
|
||
#define TIMEOUT 20
|
||
|
||
main()
|
||
{
|
||
int fd, buf;
|
||
fd = open("watchdog", O_WRONLY);
|
||
if(fd < 0) {
|
||
perror("Error in open");
|
||
exit(1);
|
||
}
|
||
while(1) {
|
||
if(write(fd, &buf, sizeof(buf)) < 0) {
|
||
perror("Error in write, System may reboot any moment...\n");
|
||
exit(1);
|
||
}
|
||
sleep(TIMEOUT/2);
|
||
}
|
||
}
|
||
|
||
</pre>
|
||
</p>
|
||
|
||
<h2> Conclusion </h2>
|
||
<p>
|
||
If you are not bored to death reading this, you may
|
||
be interested in knowing more about Linux on handheld
|
||
devices (and in general, embedded applications). So,
|
||
till next time, Bye!
|
||
|
||
|
||
|
||
|
||
<!-- *** BEGIN author bio *** -->
|
||
<P>
|
||
<P>
|
||
<!-- *** BEGIN bio *** -->
|
||
<P>
|
||
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
||
<em>
|
||
I am an instructor working for IC Software in Kerala, India. I would have loved
|
||
becoming an organic chemist, but I do the second best thing possible, which is
|
||
play with Linux and teach programming!
|
||
</em>
|
||
<br CLEAR="all">
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** END author bio *** -->
|
||
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
Copyright © 2003, Pramode C.E.
|
||
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>
|
||
|
||
|
||
<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">Book Review: Unix Storage Management</FONT></STRONG></BIG></BIG>
|
||
<BR>
|
||
<STRONG>By <A HREF="../authors/puryear.html">Dustin Puryear</A></STRONG>
|
||
</CENTER>
|
||
|
||
</TD></TR>
|
||
</TABLE>
|
||
<P>
|
||
|
||
<!-- END header -->
|
||
|
||
|
||
|
||
Title: Unix Storage Management<BR>
|
||
Authors: Ray A. Kampa, Lydia V. Bell<BR>
|
||
Publisher: Apress<BR>
|
||
Year: 2003
|
||
|
||
<P> There are some rather complex--and dare I say it--arcane
|
||
issues involved in managing storage in a Unix environment.
|
||
Indeed, Unix storage management can be a complicated affair. This is
|
||
especially true when you consider the many needs business places on storage
|
||
systems such as fault tolerance, redundancy, speed, and capacity.
|
||
Apress has published a book that they promote
|
||
as being written specifically about this topic, which weighs
|
||
in at a comfortable 302 pages of actual material.
|
||
|
||
<P> In general, I find <I>Unix Storage Management</I> to be a good
|
||
primer on storage management. However, I am a little
|
||
disappointed in the lack of focus on actually administering
|
||
storage. When requesting the book I assumed that I would
|
||
learn how to pull up my sleeves and tune and tweak file
|
||
system performance, optimize access to network-based
|
||
storage, and in general get a real feel for managing storage
|
||
in a Unix environment. But alas, that isn't the case. <I>Unix
|
||
Storage Management</I> deals mostly with the higher-level
|
||
details of understanding how storage works, determining what
|
||
kind you need, and then working to integrate that storage
|
||
into your network.
|
||
|
||
<P> This isn't to say that the book doesn't do a good job of
|
||
introducing the reader to the major components of modern
|
||
Unix storage systems. Indeed, technologies covered include
|
||
RAID, SANS, NAS, and backups, to name just a few. Kampa and
|
||
Bell actually do a good job of introducing this material,
|
||
but they do not treat the subject matter in great depth.
|
||
Essentially, after reading the text, readers will have enough
|
||
knowledge to do more research and know what they are looking
|
||
for, but they doubtless would not be in a position to
|
||
actually implement a solution in a demanding environment.
|
||
|
||
<P> The target audience for this book, whether intentional or
|
||
not, are IT managers and those that want a broad overview of
|
||
how storage systems work. Administrators that are in the
|
||
trenches would also enjoy skimming this book if for no other
|
||
reason than to remind themselves of the technologies
|
||
available for them. Also, most administrators will look
|
||
favorably on the chapter "Performance Analysis", which does
|
||
a rather good job of detailing the process of collecting and
|
||
analyzing performance information on storage systems. All in
|
||
all, this is not a bad book as long as you aren't expecting
|
||
to walk away with guru-like powers over Unix storage
|
||
systems.
|
||
|
||
|
||
|
||
|
||
|
||
<!-- *** BEGIN author bio *** -->
|
||
<P>
|
||
<P>
|
||
<!-- *** BEGIN bio *** -->
|
||
<P>
|
||
<img ALIGN="LEFT" ALT="[BIO]" SRC="../gx/2002/note.png">
|
||
<em>
|
||
Dustin Puryear, a respected authority on Windows
|
||
and UNIX systems, is founder and Principle Consultant of Puryear
|
||
Information Technology. In addition to consulting in the information
|
||
technology industry, Dustin is a conference speaker; has written
|
||
articles about numerous technology issues; and authored "Integrate
|
||
Linux Solutions into Your Windows Network," which focuses on
|
||
integrating Linux-based solutions in Windows environments.
|
||
</em>
|
||
<br CLEAR="all">
|
||
<!-- *** END bio *** -->
|
||
|
||
<!-- *** END author bio *** -->
|
||
|
||
|
||
<!-- *** BEGIN copyright *** -->
|
||
<hr>
|
||
<CENTER><SMALL><STRONG>
|
||
Copyright © 2003, Dustin Puryear.
|
||
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>
|
||
|
||
|
||
<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>
|
||
|
||
</BODY></HTML>
|