4502 lines
167 KiB
Plaintext
4502 lines
167 KiB
Plaintext
|
||
Linux Gazette... making Linux just a little more fun!
|
||
|
||
Copyright © 1996 Specialized Systems Consultants, Inc. linux@ssc.com
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Welcome to Linux Gazette! (tm)
|
||
|
||
|
||
|
||
Linux Gazette, a member of the Linux Documentation Project, is an
|
||
on-line WWW publication that is dedicated to two simple ideas:
|
||
* Making Linux just a little more fun
|
||
* Sharing ideas and discoveries
|
||
|
||
|
||
|
||
The basic idea behind these two concepts is that Linux is one cool OS,
|
||
whose price for admission is a willingness to read, learn, tinker
|
||
(aka, hack!), and then share your experiences. The Gazette is a
|
||
compilation of basic tips, tricks, suggestions, ideas and short
|
||
articles about Linux designed to make using Linux fun and easy. LG
|
||
began as a personal project of John M. Fisk, and grew to include
|
||
contributions freely provided by a growing number of authors. Linux
|
||
Journal is now publishing the Gazette using material contributed by
|
||
outside authors (note to potential authors). Without these authors
|
||
there would not be a Gazette, and I thank them all. Drop a note to the
|
||
author of anything that you find helpful or instructive--the author's
|
||
e-mail address is included for this very purpose.
|
||
|
||
Linux Gazette is a non-commercial publication and will remain that
|
||
way. A tar, gzip file containing all issues of Linux Gazette and one
|
||
containing the current issue can be found at ftp://ftp.ssc.com/pub/lg/
|
||
|
||
|
||
Thanks to Matt Welsh, coordinator of the Linux Documentation Project,
|
||
for graciously bringing the Linux Gazette under the auspices of the
|
||
LDP. The material included in these documents is covered by a
|
||
designedly liberal copyright: as long as you are using the material
|
||
for non-commercial purposes, you may do with them as you please. For
|
||
information regarding copying and distribution of this material read
|
||
the Copying License.
|
||
|
||
A new table of contents will appear with each issue that will allow
|
||
you to easily find articles of interest. A search engine is also
|
||
provided to allow you to search all issues for items relating to a
|
||
particular subject.
|
||
|
||
Have fun!
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
* Table of Contents Issue #11
|
||
* Table of Contents Issue #10
|
||
* Table of Contents Issue #9
|
||
* Table of Contents Issues #1-#8
|
||
* Index of All Issues
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
Search In: [Linux Gazette (TM).......]
|
||
Search For: ______________________________ ______
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
CLICK HERE FOR LINUX JOURNAL'S LATEST HOT LINUX NEWS!
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Linux Gazette WWW & FTP Mirror Sites
|
||
|
||
|
||
|
||
For those readers who are accessing Linux Gazette from outside the
|
||
U.S. or are having problems with slow connections at a particular
|
||
site, mirror sites are available worldwide. Thanks to all of the
|
||
people who have kindly offered the use of their WWW and FTP sites in
|
||
order to make this possible!
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Got any great ideas for improvements! Send your comments, criticisms,
|
||
suggestions and ideas.
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
LINUX GAZETTE IS PUBLISHED BY:
|
||
|
||
SSC - Publishers of Linux Journal (tm)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Linux Gazette, http://www.ssc.com/lg/
|
||
This page written and maintained by the Editor of Linux Gazette,
|
||
gazette@ssc.com
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
LINUX GAZETTE
|
||
|
||
Copyright © 1996 Specialized Systems Consultants, Inc.
|
||
For information regarding copying and distribution of this material see
|
||
the Copying License.
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
TABLE OF CONTENTS ISSUE #11
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
* The Front Page
|
||
* The MailBag
|
||
* More 2 Cent Tips
|
||
+ Another X Term Title Trick
|
||
+ File Decompression
|
||
+ Quick Tricks from John Fisk
|
||
+ Two Tips for the Price of One
|
||
+ The Ultimate Emacs Control M Trick
|
||
+ VI Trick
|
||
+ XDM Replacement
|
||
* News Bytes
|
||
+ News in General
|
||
+ Software Announcements
|
||
* Graphics Muse, by Michael J. Hammel
|
||
* Kill-Ring for Xemacs, by Larry Ayers
|
||
* Linus to Move to U.S. in 1997, by Phil Hughes
|
||
* New Release Reviews, by Larry Ayers
|
||
+ Sun's Hotjava Browser on Linux
|
||
+ The TkGoodstuff Package
|
||
+ X-Files
|
||
* TAPR Statement on Spread Spectrum Technology Development, from
|
||
Steve Stroh
|
||
* TCL/TK Installation, by Earl Brown
|
||
* Weekend Mechanic, by John M. Fisk
|
||
* The Back Page
|
||
+ About This Month's Authors
|
||
+ Not Linux
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
TWDT 1 (text)
|
||
TWDT 2 (HTML)
|
||
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.
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Got any great ideas for improvements! Send your comments, criticisms,
|
||
suggestions and ideas.
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
This page written and maintained by the Editor of Linux Gazette,
|
||
gazette@ssc.com
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary!" [IMAGE]
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
The Mailbag!
|
||
|
||
Write the Gazette at gazette@ssc.com
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Sun, 29 Sep 1996 01:46:02 -0700
|
||
Subject: MPEG
|
||
From: Tristan RAMBO Savatier tristan@mpeg.org
|
||
|
||
|
||
FYI: Linux now has a fast MPEG software player !
|
||
|
||
Check MpegTV at http://www.mpegtv.com/
|
||
|
||
--Tristan
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Mon, 30 Sep 1996
|
||
Subject: Help?? Firewalling under 2.0.X
|
||
From: jwells@nwlink.com (James E. Wells)
|
||
|
||
|
||
Greetings,
|
||
|
||
I know this message should normally be sent to one of the linux
|
||
newsgroups, however I felt this to be a bit more efficient. Basically
|
||
the problem is that I can't seem to get IP Masquerading going under
|
||
2.X. I have enabled firewalling / masquerading and disabled forwarding
|
||
/ bridging. When I look at /proc/net I have two alias files which have
|
||
to do with the IP Aliasing, and I have IP Accounting, Forwarding,
|
||
Input, and Output, however I have no Masquerading. I have rebuilt the
|
||
kernel a number of times to no avail. I have toyed with ipfwadm a
|
||
number of times and found that it works fine for all forms of
|
||
firewalling except for Masquerading. Any help from you or the readers
|
||
of this, the best electronic mag on the net, would be greatly
|
||
appreciated.
|
||
|
||
================================ ===============================
|
||
// \\ // \\
|
||
|| James E. Wells | | ||
|
||
|| mailto:nikatjef@nwlink.com | | Junior System Administrator ||
|
||
|| mailto:james@LaserDyn.com | | Northwest Link ||
|
||
\\ // \\ //
|
||
================================ ===============================
|
||
|
||
(Okay, all you firewall experts out there, who's got a good answer
|
||
for this one? --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Wed, 02 Oct 1996 14:45:06 -0400
|
||
Subject: Wow! Support for Win 1.3 :)
|
||
From: Eric Wright majestik@netcom.ca
|
||
|
||
|
||
In issue #10, Product Announcements
|
||
|
||
V Multi-Platform GUI Version 1.13 of V for X, Windows 1.3, and WIN32
|
||
(NT, Windows95) was released on September 9, 1996. It is....
|
||
|
||
Windows 1.3, eh? heheh
|
||
|
||
Ps: great job with LG, keep it up ...
|
||
|
||
(Oops, didn't read that one close enough, I guess. I'd say that was
|
||
a definite typo, and it would have been nice to have mentioned
|
||
Linux more directly. This product does work for Linux--there is an
|
||
article by Dr. Wampler about it in the upcoming December issue of
|
||
Linux Journal. Anyway I've changed it to take out all Windows
|
||
references. Sorry about that. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Thu, 03 Oct 1996 10:35:38 +0000
|
||
Subject: #10
|
||
From: "Adam D. Moss" adam@uunet.pipex.com
|
||
|
||
|
||
Thanks for another Linux Gazette issue!
|
||
|
||
--Adam
|
||
|
||
Adam D. Moss / Consulting / adam@uunet.pipex.com
|
||
====-==-=-=--=--=---=---=-------- ---- --- -- -- -- - - - - - - -
|
||
UUNET PIPEX / 332 Science Park / Milton Road / Cambridge CB4 4BZ
|
||
/ England / Voice +44 (0)1223 250100 / Fax +44 (0)1223 250101
|
||
- - - - - - - -- -- -- --- ---- --------=---=---=--=--=-=-==-====
|
||
|
||
(Short and sweet. Thank you for reading LG. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Thu, 03 Oct 1996 15:12:16 +0800
|
||
Subject: Postscript Format Request
|
||
From: Phil Lewis lewispj@eeye.com.sg
|
||
|
||
|
||
Could you please provide the lg in postscript format please so that it
|
||
will be possible to easily read it in hard copy format - It will get a
|
||
wider readership and reduce unnecessary multiple www downloads each
|
||
time within our organization.
|
||
|
||
Thanks, Phil Lewis
|
||
Electric Eye
|
||
Singapore
|
||
|
||
(Due to popular request, I have added one big text file to the list
|
||
of options in the Table of Contents called "TWDT
|
||
1". Also. thanks to one of our readers (see next letter) there is
|
||
also an HTML file called "TWDT 2". For now that's
|
||
the best I can do for you--postscript and other formats will have
|
||
to wait. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Thu, 03 Oct 1996 12:56:52 -0500
|
||
Subject: New Set Up of LG
|
||
From: Tushar Teredesai Tushar@Agents.ECE.IIT.Edu
|
||
|
||
|
||
Hi,
|
||
|
||
I miss the old set up of LG whereby I could download the whole of the
|
||
LG which was contained in a single page. Even issue 9 had and
|
||
alternative comprising the whole LG in a single page. Hope U provide
|
||
such a complete page again. Though there is text version of the entire
|
||
thing, I would prefer a html version.
|
||
|
||
Maybe I could do that combining to a single .html and .txt if U tell
|
||
me how (i.e. the rules for formatting.)
|
||
|
||
BTW, great job. Very useful for guys like me who are new entrants to
|
||
administration of their own systems after being dependent on others to
|
||
do the dirty job.
|
||
|
||
Thanx.
|
||
--Tushar
|
||
|
||
-->> http://Tushar.Home.ML.Org
|
||
-->> mailto:Tushar@Agents.ECE.IIT.Edu
|
||
Running ....... Cos anything else would be a waste...
|
||
`:::' ....... ......
|
||
::: * `::. ::'
|
||
::: .:: .:.::. .:: .:: `::. :'
|
||
::: :: :: :: :: :: :::.
|
||
::: .::. .:: ::. `::::. .:' ::.
|
||
.:::.....................::' .::::..
|
||
|
||
(What a wonderful idea! Neither Michael, the webmaster, nor I have
|
||
time to combine LG each month, and we were thinking of putting out
|
||
requests for someone to do it for us. And here's a volunteer! So we
|
||
now have "TWDT 2" in HTML format for issue 9 thanks
|
||
to Michael, and for issue 10 thanks to Tushar. What great guys!
|
||
--Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Wed, 02 Oct 1996 23:00:22 -0400
|
||
Subject: Linux version of aprs
|
||
From: bill pemberton wapembe@gallows.smart.net
|
||
|
||
|
||
in the current (issue 10) of the Linux Gazette you mentioned that a
|
||
Linux version of aprs was available. can you provide further ref? i
|
||
searched the ham links on the net but could find no reference to the
|
||
Linux version. thanks for the assist.
|
||
--
|
||
wapembe@smart.net "actual meaningless quote to be inserted soon!"
|
||
|
||
(Sorry, I personally cannot. You might try writing Steve Stroh
|
||
(strohs@halcyon.com), who sent us the TAPR Position Statement that
|
||
appears elsewhere in this issue. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: 05 Oct 1996 23:42:02 +0200
|
||
Subject: mailing list
|
||
From: Markus Gutschke gutschk@uni-muenster.de
|
||
|
||
|
||
Have you considered to set up a mailing list that distributes copies
|
||
of Linux Gazette? For me, it is very cumbersome to actively look for
|
||
new versions of files and to download them from the net;
|
||
sending/receiving e-mail/news is fine though, because this can be
|
||
automated and I do it in batch-mode every night.
|
||
|
||
Markus
|
||
|
||
(Yes, this has been requested before, and is on the list of things
|
||
to possibly do in the future. However, setting up and maintaining a
|
||
mailing list is not something I have time for in the foreseeable
|
||
future. Since I plan to have a new issue up on the first of each
|
||
month, you only have to look for changes once a month. That
|
||
shouldn't be too cumbersome.--Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Sat, 12 Oct 1996 14:17:49 -0400
|
||
Subject: William R. Della Croce, Jr.
|
||
From: "rikk@dragonstar.net" rikk@dragonstar.net
|
||
|
||
|
||
Greetings,
|
||
|
||
In reference to your article on whether or not Linux is a registered
|
||
trademark or not...
|
||
|
||
First off allow me to say "This guy is the lowest in the scum chain."
|
||
There is commercialization, and there is gluttony. Seems to me this
|
||
person is trying to take over the Linux name to better his pockets. I
|
||
wish you had printed his e-mail address, and let him get a feel for
|
||
the anger and disgust...
|
||
|
||
At any rate, keep up the good work!
|
||
|
||
TTFN....Rikk
|
||
rikk@dragonstar.net
|
||
|
||
+------------------------------------------------------------------------+
|
||
|
|
||
| Life on the edge, dragonstar.net
|
||
|
|
||
| Friends don't let friends do DOS!
|
||
|
|
||
| Running Linux 2.x Intel x86
|
||
|
|
||
+------------------------------------------------------------------------+
|
||
|
||
(Yes, well, while we agree with your sentiments, printing his e-mail
|
||
address would probably not have been productive. Lawyers are
|
||
working on this situation, and we keep hearing that we will be
|
||
getting an announcement any day now. Maybe this week, something
|
||
will break. It will be on the "Linux Hot News" button as soon as it
|
||
does. Thanks for writing. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Thu, 17 Oct 1996 14:55:31 -0400
|
||
Subject: pointer trouble
|
||
From: Bill Semler wsemler@epix.net
|
||
|
||
|
||
Hi -
|
||
|
||
Just wanted to let you know that the URL ftp://ftp.ssc.com/pub/lg
|
||
pointed to in, roughly, the middle of the front page actually points
|
||
to ftp.ssc.com/lg which will display the directory structure but
|
||
things cannot be accessed. Not a real big deal, but... Thanks for
|
||
everything.
|
||
|
||
--
|
||
Bill Semler, N3RLR
|
||
wsemler@epix.net
|
||
|
||
(Thanks for letting me know. I've got it fixed now. Don't know why,
|
||
but leaving out the /pub happens to me often when I type that
|
||
address. Think it must be time to set up an abbreviation for it, so
|
||
vi can take care of it for me. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Fri, 18 Oct 1996 16:05:00 -0700
|
||
Subject: Linux Gazette versions
|
||
From: paulc@sunsite.unc.edu
|
||
|
||
|
||
I noticed a few people recently wanting to take versions of the Linux
|
||
Gazette home with them or trying to convert them to run on MS-Win
|
||
systems, well there is a program on the Amiga which fetches pages from
|
||
the web and changes links over in the process to either an absolute or
|
||
relative path - great for the gazette. Well, I'm in the process of
|
||
converting this program to Linux, and would be happy to supply you
|
||
with the compilable source code so that you can then place the file
|
||
generated by this program on one of the pages for download (after
|
||
gzipping it maybe)
|
||
|
||
Squiz.
|
||
|
||
(Thanks for thinking of me. This does sound like easy method, and an
|
||
easier method is always a better method. Send it on when it's
|
||
ready. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Tue, 22 Oct 1996 14:17:57 -0700
|
||
Subject: Xwindows depth
|
||
From: James Amendolagine uq274@freenet.victoria.bc.ca
|
||
|
||
|
||
Hello,
|
||
|
||
I have recently been messing with my x-server, and have managed to get
|
||
a depth of 16, ie 2^16 colors. This works really nice with netscape,
|
||
but some programs (doom, abuse, and other games) wont work with this
|
||
many colors. Do you know of a fix? I have tried to get X to support
|
||
multiple depths--to no avail. The man-page suggests that some video
|
||
cards support multiple depths and some don't. How do I know if mine
|
||
does.
|
||
|
||
I would really like to see an article on this subject,
|
||
|
||
Thanks,
|
||
Jamie
|
||
|
||
(Okay, guys here's another request for help with a good idea for an
|
||
article. All you authors out there looking for a subject, start
|
||
writing. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Wed, 23 Oct 1996 12:54:11 -0500 (CDT)
|
||
Subject: have you seen latest replacement for X?
|
||
From: jim fetters gfetters@uxa.ecn.bgu.edu
|
||
|
||
|
||
well, sort of. please check this out.
|
||
|
||
http://veda.synet.net/numan/berlin
|
||
|
||
-jim
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Thu, 24 Oct 1996 08:10:41 +0200
|
||
Subject: could not login to ftp server
|
||
From: Hermann Boeken hboeken@de.lucent.com
|
||
|
||
|
||
Hi.
|
||
|
||
In the mailbag of LG 10 you write:
|
||
|
||
> (No problem. tar files are available, I've just been having
|
||
technical
|
||
> difficulties -- they were unreadable. At any rate John Fisk sent
|
||
us new
|
||
> files that are now up at ftp://ftp.ssc.com/pub/lg/. Also, our
|
||
issue 10 file,
|
||
> lg_issue10.tar.gzp and all issues (1-10) file,
|
||
LinuxGazette_oct96.tar.gzp
|
||
> are located at that site. --Editor)
|
||
|
||
|
||
|
||
But it is (still?) not possible to login to the ftp server.
|
||
|
||
Hermann
|
||
|
||
--
|
||
...
|
||
':'...''.
|
||
'::.''''':;:
|
||
.-Hermann Boeken--Fon:+49-911-5266186---'::;-------;;:--.
|
||
| Fax:+49-911-5266299 :::,, :;; |
|
||
| ;:;' ;:; |
|
||
| Lucent Technologies ;;: .;: |
|
||
| Bell labs Innovations :;:, ,:;: |
|
||
| OEPT ':;;;:;:' |
|
||
| System Integration & Test |
|
||
| |
|
||
`-hboeken@lucent.com----------na426@fim.uni-erlangen.de-'
|
||
|
||
(Hmmm, it's been working for some time. The mirror sites have all
|
||
downloaded files from the ftp server with no problem. I guess I
|
||
need to know more about the type of problem you are having -- what
|
||
kind of messages you get, etc.? If you are using a web
|
||
browser--which one and what version? I have tried to write you
|
||
directly several times, but all mail comes back marked "Host
|
||
unknown". --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Tue, 15 Oct 1996 17:10:52 +0100
|
||
Subject: Mirroring of Linux Gazette
|
||
From: Massimo Orlando massimo@asterix.unime.it
|
||
|
||
|
||
Hi,
|
||
I am a student of Computer Science at University of Messina and I am
|
||
the system administrator of the Server of the Department. I have
|
||
written the form to become a mirror of the Linux Gazette but I have a
|
||
question for you:
|
||
|
||
Must I download the compress file (LinuxGazette_xxx.tar.gz) or is it
|
||
automatic?
|
||
|
||
P.S.: sorry for my english
|
||
|
||
Thank you for your future answer.
|
||
bye
|
||
Massimo Orlando
|
||
|
||
(Massimo, I seem to be having trouble getting mail to you--it keeps
|
||
coming back with unrecoverable errors. There is a README.mirrors
|
||
file on the ftp site, ftp://ftp.ssc.com/pub/lg/ with instructions.
|
||
It is definitely not automatic. The University's site is very cool,
|
||
and I will be happy for you to mirror LG. I will need an exact
|
||
address though (for both the mirror and you); it was not obvious to
|
||
me how to find LG just by looking at the University's main web page.
|
||
Please write again. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Date: Wed, 23 Oct 1996 14:53:13 -0500
|
||
Subject: http://cenotaph.generec.nl/lg/issue10/index.html
|
||
From: teun@cyclone.generec.nl
|
||
|
||
(Nice and short and full of information. Only two problems: I can't
|
||
find this page (Netscape returns "No DNS entry"), and mail to this
|
||
address is returned "host unknown". Please write again. --Editor)
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Next
|
||
|
||
This page written and maintained by the Editor of Linux Gazette,
|
||
gazette@ssc.com
|
||
Copyright © 1996 Specialized Systems Consultants, Inc.
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
MORE 2<> TIPS!
|
||
|
||
|
||
Send Linux Tips and Tricks to gazette@ssc.com.
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
CONTENTS:
|
||
* Another XTerm Title Trick
|
||
* File Decompression
|
||
* Quick Tricks from John Fisk
|
||
* Two Tips for the Price of One
|
||
* The Ultimate Emacs Control M Trick
|
||
* VI Trick
|
||
* XDM Replacement
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
ANOTHER XTERM TITLEBAR TRICK
|
||
|
||
|
||
|
||
Date: Wed, 2 Oct 1996 16:11:35 -0700 (PDT)
|
||
From: Jonathan Gross
|
||
|
||
|
||
I have a quick stupid shell script to change the titlebar on the fly:
|
||
|
||
#!/bin/bash
|
||
echo "]0;$1"
|
||
|
||
where the ^[ is done in Emacs by typing C-q Esc and the ^G is done by
|
||
typing C-q C-g, or in vi by typing C-v instead of C-q before each
|
||
control sequence.
|
||
|
||
Then you type:
|
||
|
||
linux$ titlebar "string for window title"
|
||
|
||
Where "titlebar" is the name of your shell script. Dumb, simple, but
|
||
easy to use...
|
||
|
||
Jonathan Gross
|
||
Specialized Systems Consultants, 206-782-7733
|
||
"A jewel mine of courtesies and a living casket of diplomacy"
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
FILE DECOMPRESSING
|
||
|
||
|
||
|
||
Date: Fri, 27 Sep 1996 08:32:37 +0200 (MET DST)
|
||
From: Xabier Vazquez Gallardo, sixconse@sc.ehu.es
|
||
|
||
|
||
Hi there:
|
||
|
||
Here is a script I wrote two years ago, but I think it can be useful
|
||
for everybody. It can also help in learning shell script programming.
|
||
|
||
The function of this script is to help ppl decompressing compressed
|
||
files with tar, gzip, compress, arj, zip, etc, and any combination of
|
||
these compression tools. Just type "gus filename" and the script will
|
||
call the necessary decompression program.
|
||
|
||
Thanx in advance,
|
||
Xabier Vazquez Gallardo
|
||
|
||
------------ 8
|
||
# You'll need this external programs:
|
||
# gzip, tar, sed, awk, unarj, lha, zoo, unzip, test, pgp, uncompress, echo and
|
||
# uudecode. If you don't have all those programs maybe gus won't work.
|
||
#
|
||
# Program Description:
|
||
# Decompress all this kind of files and combinations of them:
|
||
# .arc .zip .ZIP .arj .zoo .lzh .lha .lzh .Z .z .tar .tgz .shar .pgp
|
||
# .[1-8ln] .man .uu and .uue
|
||
# * Man type files will be displayed
|
||
#
|
||
# Please send suggestions or gub reports to XaBi
|
||
# Sorry about my English, but it's better than Spanish, isn't it?
|
||
###############################################################################
|
||
#
|
||
gus_version="V2.8"
|
||
gus_date="11/22/1994"
|
||
|
||
# Show a long help :)
|
||
do_help ()
|
||
{
|
||
echo
|
||
echo This script helps you decompressing Unix archives compressed with compres
|
||
s,
|
||
echo gzip, tar, shar, lha, arj, zip, zoo, pgp, arc and uuencode. It also forma
|
||
ts
|
||
echo manual pages. Now you don\'t need to type all those long lines to decompr
|
||
ess
|
||
echo a tar + gz archive, only type \'gus file\' and it will do all the work.
|
||
echo "GUS knows this extensions and combinations of them (tar + gzip, etc):"
|
||
echo ".Z .z .zip .arj .zoo .arc .lha .lz .pgp .tar .tgz .shar .[1-8ln] .man .u
|
||
u .uue"
|
||
echo
|
||
echo "USAGE: '`basename $0` [-h | [[-r | -rf] f1 [f2] ...]' will decompress f1
|
||
, f2, ..."
|
||
echo " '-h' show you this help"
|
||
echo " '-r' remove with prompt compressed file after decompress it"
|
||
echo " '-rf' remove without prompt compressed file after decompress it"
|
||
echo "ie: '`basename $0` file1 -rf file2 file3' will do this:"
|
||
echo " decompress file[123] and remove file[23] without any ask"
|
||
echo " *WARNING* Be careful with option '-rf'"
|
||
exit 0
|
||
}
|
||
|
||
# Find a file in your path
|
||
# input : "filename"
|
||
# output: $filresult=full_path/filename || $filename="" + error message
|
||
# ie : findfile zip
|
||
findfile ()
|
||
{
|
||
sifs=$IFS
|
||
IFS=:
|
||
fileresult=""
|
||
for dir in $PATH; do
|
||
test -z "$dir" && dir=.
|
||
if [ -x $dir/$1 ] ; then
|
||
fileresult="$dir/$1"
|
||
break
|
||
fi
|
||
done
|
||
IFS=$sifs
|
||
test -z "$fileresult" && echo ERROR: Can\'t find $1
|
||
}
|
||
|
||
# Change status variables
|
||
# input: " | decompress_command_line" \
|
||
# " decompress_program_name +" \
|
||
# 1 (if gus must create a decompressed file) || 0 (if not) \
|
||
# 1 (if decompress program can pipe it result) || 0 (if not) \
|
||
# 1 (if decompress program accepts stdin pipes) || 0 (if not)
|
||
# output: none
|
||
# ie : changevars " | tar xvfo -" " tar +" 0 1 1
|
||
changevars ()
|
||
{
|
||
command=$command$1
|
||
message=$message$2
|
||
create=$3
|
||
exit_f=$4
|
||
do_cat=$5
|
||
}
|
||
|
||
# Ask Y/N before remove a file
|
||
# input : "filename"
|
||
# output : $removeit = 0 (if answer is no) || 1 (if is yes)
|
||
# ie : makeask /usr/local/foo.bar.tar
|
||
makeask ()
|
||
{
|
||
exit_ask=0
|
||
while [ $exit_ask = 0 ] ; do
|
||
echo "Do you want to remove '$1' [Y/N]? \c"
|
||
read yesno
|
||
case $yesno in
|
||
y* | Y*)
|
||
removeit=1
|
||
exit_ask=1
|
||
;;
|
||
n* | N*)
|
||
removeit=0
|
||
exit_ask=1
|
||
;;
|
||
esac
|
||
done
|
||
}
|
||
|
||
# Check program parameters and count files
|
||
# input : "command_line_params"
|
||
# output : $total_files=num_of_files_to_process || or help_screen
|
||
# ie : check_params -rf foo.tar
|
||
check_params ()
|
||
{
|
||
for i in $*
|
||
do
|
||
case $i in
|
||
-rf | -r)
|
||
total_files=`expr $total_files - 1`
|
||
;;
|
||
-h)
|
||
do_help
|
||
;;
|
||
esac
|
||
done
|
||
}
|
||
|
||
echo GUS $gus_version [$gus_date] General Unpack Shell for Un*x \(c\) XaBi
|
||
|
||
total_files=$#
|
||
|
||
check_params $*
|
||
|
||
if [ $total_files = 0 ] ; then
|
||
echo ERROR: not enough params
|
||
echo "TRY : `basename $0` -h"
|
||
exit 1
|
||
fi
|
||
|
||
if [ $total_files = 1 ] ; then
|
||
echo [ $total_files ] file to process ...
|
||
else
|
||
echo [ $total_files ] files to process ...
|
||
fi
|
||
|
||
removefile=0
|
||
promptbefore=0
|
||
|
||
for file_tmp in $*
|
||
do
|
||
case $file_tmp in
|
||
-rf)
|
||
removefile=1
|
||
promptbefore=0
|
||
continue
|
||
;;
|
||
-r)
|
||
removefile=1
|
||
promptbefore=1
|
||
continue
|
||
;;
|
||
esac
|
||
if test -f $file_tmp ; then
|
||
exit_f=0
|
||
command=""
|
||
message=""
|
||
do_cat=1
|
||
create=1
|
||
file=`basename $file_tmp`
|
||
while [ $exit_f -eq 0 ] ; do
|
||
old_file=$file
|
||
extension=`echo $file | sed -e 's/.*\.//'`
|
||
if [ "$extension" = "$file" ] ; then
|
||
extension=""
|
||
else
|
||
file=`echo $file | sed -e s/\.$extension$//`
|
||
fi
|
||
case $extension in
|
||
tar)
|
||
changevars " | tar xvfo -" " tar +" 0 1 1
|
||
;;
|
||
Z)
|
||
changevars " | uncompress" " compress +" 1 0 1
|
||
;;
|
||
z | gz)
|
||
changevars " | gzip -d" " gzip +" 1 0 1
|
||
;;
|
||
tgz)
|
||
changevars " | gzip -d | tar xvfo -" " tar + gzip +" 0 1 1
|
||
;;
|
||
uu | uue)
|
||
changevars " | uudecode" " uuencode +" 0 1 1
|
||
;;
|
||
shar)
|
||
changevars " | sh" " shar +" 0 1 1
|
||
;;
|
||
zip | ZIP)
|
||
if [ -z "$command" ] ; then
|
||
findfile unzip
|
||
test ! -z "$fileresult" && changevars $fileresult " zip +" 0 1 0
|
||
else
|
||
echo ERROR: Can\'t pipe to unzip. File partialy decompressed.
|
||
fi
|
||
exit_f=1
|
||
;;
|
||
arj | ARJ)
|
||
if [ -z "$command" ] ; then
|
||
findfile unarj
|
||
test ! -z "$fileresult" && changevars $fileresult" x" " arj +" 0
|
||
1 0
|
||
else
|
||
echo ERROR: Can\'t pipe to unarj. File partialy decompressed.
|
||
fi
|
||
exit_f=1
|
||
;;
|
||
arc | ARC)
|
||
if [ -z "$command" ] ; then
|
||
findfile arc
|
||
test ! -z "$fileresult" && changevars $fileresult" x" " arc +" 0
|
||
1
|
||
0
|
||
else
|
||
echo ERROR: Can\'t pipe to arc. File partialy decompressed.
|
||
fi
|
||
exit_f=1
|
||
;;
|
||
zoo | ZOO)
|
||
if [ -z "$command" ] ; then
|
||
findfile zoo
|
||
test ! -z "$fileresult" && changevars $fileresult" x" " zoo +" 0
|
||
1 0
|
||
else
|
||
echo ERROR: Can\'t pipe to zoo. File partialy decompressed.
|
||
fi
|
||
exit_f=1
|
||
;;
|
||
lzh | lha | lz | LZH | LHZ | LZ)
|
||
findfile lha
|
||
test ! -z "$fileresult" && changevars " | "$fileresult" x -" " lha +
|
||
" 0 1 1
|
||
exit_f=1
|
||
;;
|
||
pgp)
|
||
findfile pgp
|
||
if [ ! -z "$fileresult" ] ; then
|
||
changevars " | "$fileresult " pgp +" 0 0 1
|
||
else
|
||
exit_f=1
|
||
fi
|
||
;;
|
||
[1-8nl] | man)
|
||
test -z "$command" && changevars " | nroff -man | more" " man +" 0 1
|
||
1
|
||
exit_f=1
|
||
;;
|
||
*)
|
||
exit_f=1
|
||
;;
|
||
esac
|
||
done
|
||
test $create -eq 1 && command=$command" > "$old_file
|
||
if [ -z "$message" ] ; then
|
||
echo ERROR: Don\'t know how to handle [ $file_tmp ]
|
||
else
|
||
message=`echo $message | sed -e 's/ +$//'`
|
||
echo "File [ `basename $file_tmp` ]"
|
||
echo "Type [ $message ]"
|
||
if [ $do_cat = 1 ] ; then
|
||
command="cat "$file_tmp" "$command
|
||
else
|
||
command=$command" "$file_tmp
|
||
fi
|
||
eval $command && {
|
||
if [ $removefile = 1 ] ; then
|
||
if [ $promptbefore = 1 ] ; then
|
||
makeask $file_tmp
|
||
test $removeit -eq 1 && rm -f $file_tmp
|
||
else
|
||
rm -f $file_tmp
|
||
fi
|
||
fi
|
||
} || echo ERROR: [ $file_tmp ] can\'t decompress ...
|
||
fi
|
||
else
|
||
echo ERROR: [ $file_tmp ] Can\'t process it! Exists????
|
||
fi
|
||
done
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
QUICK TIPS FROM JOHN
|
||
|
||
Date: Tue, 08 Oct 1996 08:18:39 -0500 (CDT)
|
||
From: John M. Fisk fiskjm@ctrvax.Vanderbilt.Edu
|
||
|
||
|
||
I recently ran across a "Quick Tip" that might be useful to anyone
|
||
using the BASH shell. There's a rarely mentioned but very useful
|
||
feature that's included with it: an online help function that
|
||
describes all of its built-in functions. To use it you simply invoke
|
||
it as:
|
||
|
||
% help <builtin>
|
||
|
||
and it displays a brief usage message. To get a listing of all of the
|
||
topics that are available, simply type in:
|
||
|
||
% help
|
||
|
||
This displays a listing of all of BASH's builtin functions. So, for
|
||
example, if you were interesting in using the "getopts" builtin in
|
||
order to parse command line options for a shell script, you'd invoke
|
||
the help function as:
|
||
|
||
% help getopts
|
||
|
||
which prints a helpful summary of the function and its invocation.
|
||
|
||
The other thing I recently ran across was the use of the "$()"
|
||
construct in BASH shell programming. When I first started learning
|
||
shell programming the construct which I'd seen used for command
|
||
substitution was something like:
|
||
|
||
DATE=`date + "%A %B %C"`
|
||
|
||
which assigned the output of the date command to the variable DATE. I
|
||
recently read that this has been deprecated and the accepted construct
|
||
now for command substitution is the use of the dollar sign and
|
||
parentheses. The above statement should now be written as:
|
||
|
||
DATE=$(date + "%A %B %C")
|
||
|
||
which has the same effect. This works under both BASH and the Korn
|
||
shell (I'm not sure if this also works with C-shell derivatives).
|
||
____________________________________________________________John M.
|
||
Fisk
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
TWO TIPS FOR THE PRICE OF ONE
|
||
|
||
|
||
|
||
Date: Fri, 4 Oct 1996 18:28:05 -0500 (CDT)
|
||
From: David Ishee ishee@erc.msstate.edu
|
||
|
||
|
||
Just looking at your $0.02 tips and I had some $0.01 tips to add. I
|
||
liked the perl trick for removing Control-M characters so I made it an
|
||
alias in my .cshrc file (for the tcsh shell):
|
||
|
||
alias tu "perl -pi.bak -e 's/\r//g;' \!^"
|
||
|
||
Now type "tu filelist" to run the above command. (tu stands for to
|
||
Unix)
|
||
|
||
Another $0.01 tip:
|
||
|
||
When I used the xterm title bar thingy and I was at a VT, the escape
|
||
characters would just cause the Linux terminal to beep at me. I now
|
||
have this in my .cshrc (for the tcsh shell):
|
||
|
||
if ($TERM == "xterm") then
|
||
alias precmd 'echo -n "\033]2;"`whoami`":"`pwd`"\007"'
|
||
endif
|
||
|
||
This puts my login_name:directory in my title bar, but not when I go
|
||
to a Linux VT.
|
||
|
||
+--------------------------------------------------------------------+
|
||
| David Ishee ishee@erc.msstate.edu |
|
||
| Mechanical Engineering Senior |
|
||
| Mississippi State University OS/2 and Linux user |
|
||
+------------- http://www2.msstate.edu/~dmi1/index.html -------------+
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
THE ULTIMATE EMACS CONTROL M TRICK
|
||
|
||
Date: Thu, 3 Oct 1996 10:19:24 -0700
|
||
From: Rick Bronson rick@efn.org
|
||
|
||
|
||
Hi,
|
||
|
||
Here is the ultimate Emacs Control M Trick:
|
||
|
||
Put the following line in your .emacs file:
|
||
|
||
(require 'dos-mode)
|
||
|
||
and have dos-mode.el, which for me is in ~/lisp/dos-mode.el, some
|
||
where in your path by putting the following line in your .emacs file:
|
||
|
||
(setq load-path (append load-path (list "/home/rick/lisp")))
|
||
|
||
That's it! Now you can edit native DOS files without having to do any
|
||
conversion at all. You won't see any ^M stuff in the DOS files, they
|
||
are removed for you. You can cut and paste between DOS and UNIX
|
||
buffers and the ^M stuff is handled automatically.
|
||
|
||
dos-mode.el is available in
|
||
/ftp@archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/modes as
|
||
dos-mode.el.Z
|
||
|
||
_
|
||
| |
|
||
/ /__
|
||
.------------------------------------------------------------._______/ (___)
|
||
| Rick Bronson rick@efn.org Tel 541-465-9008 _o_ | (___)
|
||
| Invivo Research http://www.efn.org/~rick \|/ |_______ (___)
|
||
| 745 Foothill Drive "Onde esta dinheiro?" `---' | \_(___)
|
||
| Eugene, OR 97405-4651 -- Gal Costa Disk | Golf|
|
||
`------------------------------------------------------------'
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
VI TRICK
|
||
|
||
Date: Sat, 26 Oct 1996 05:11:34 -0500
|
||
From: John R. Potter jrpotter@neosoft.com
|
||
|
||
|
||
I thought you might be interested in my favorite vi trick, which is
|
||
not a vi trick at all. I spend a lot of time in vi edit sessions,
|
||
usually with two files open moving data between them using the named
|
||
buffers. Often someone will come in with a 'brush fire' that needs
|
||
immediate attention and I really don't want to quit my edit session
|
||
and lose my buffers. So I put it to sleep with Control Z. You can
|
||
start up another vi edit session, complete with named buffers and
|
||
everything. They are two complete separate sessions with no ties
|
||
between them. When the fire is under control you can bring back the
|
||
original session with 'fg'. I know this is a very simple thing, but
|
||
for a long time I didn't know you could do it so I would quit the
|
||
original session.
|
||
|
||
- John Potter
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
XDM REPLACEMENT
|
||
|
||
Date: Thu, 03 Oct 1996 23:26:00 -0400
|
||
From: Jim Nicholson pcks@cnj.digex.net
|
||
|
||
|
||
I'm not sure how well known it is in the Linux community, but Pierre
|
||
Ficheux (pierre@ai.alienor.fr) has written a replacement for the XDM
|
||
logon dialog that lets you set up icons for users - sort of like what
|
||
you can do on an SGI machine. The file can be had via
|
||
ftp://ftp.ibp.fr/pub/linux/tsx-11/sources/usr.bin.X11/xdm-photo-1.1.ta
|
||
r.gz; more info is available on Pierre's web site
|
||
http:alienor.fr/~pierre/index_us.html
|
||
|
||
|
||
- Jim Nicholson
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
This page maintained by the Editor of Linux Gazette, gazette@ssc.com
|
||
Copyright © 1996 Specialized Systems Consultants, Inc.
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary!" [IMAGE]
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
NEWS BYTES
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
CONTENTS:
|
||
* News in General
|
||
* Software Announcements
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
NEWS IN GENERAL
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
COMDEX CONFERENCE
|
||
|
||
|
||
|
||
17 Oct 1996
|
||
Please join Linux International at The Linux Technology Showcase,
|
||
COMDEX FALL/96. This will be the largest presentation of Linux to date
|
||
outside the Internet. The show will run November 18-22, 1996 in Las
|
||
Vegas, Nevada. The Linux Showcase will be promoted in the show
|
||
preview, show guide, show daily and other materials on a par with the
|
||
Multimedia, Windows, Internet, Networking and other showcases. The
|
||
location is downstairs at the Sands Expo & Convention Center, just off
|
||
the famous Las Vegas Strip.
|
||
|
||
For additional information:
|
||
Linux International, http://www.li.org/
|
||
li@li.org
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
FREE SOFTWARE UNION
|
||
|
||
|
||
|
||
"Free Software Lovers Unite!"
|
||
|
||
The FSU is a volunteer, democratic organization dedicated to the Free
|
||
Software community. It provides all users, developers, and enthusiasts
|
||
with full-voice, free membership in a voting decision making body. It
|
||
channels resources, manpower, and community feedback for voter
|
||
endorsed project implementation.
|
||
|
||
The FSU gives developers guarantee of wide acceptance and support by
|
||
providing guidelines and tools for development to produce consistent
|
||
and inter-operable software, and volunteer man-power recruiting
|
||
assistance for large endorsed projects.
|
||
|
||
Some of the projects that the FSU is currently considering is the
|
||
adoption of CORBA or SOM, licensed porting/re-implementation of
|
||
OpenDoc, a "Free Software Map" database of all known free software
|
||
projects (a superset of LSM), and much more!
|
||
|
||
FSU Founder/Contact: Jan Vicherek, honza@ied.com
|
||
FSU Mailing List Posts: fslu@calum.csclub.uwaterloo.ca
|
||
Find out more and join at: http://www.jagunet.com/~braddock/fslu/org
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
LASERMOON, LINUX-FT
|
||
|
||
|
||
|
||
Date: Tue, 08 Oct 1996
|
||
Clarification - Linux-FT, The Road Ahead
|
||
|
||
|
||
Linux-FT is a Lasermoon Ltd product which was developed with the
|
||
intention of achieving POSIX.1 and XPG4 certification as part of a
|
||
project Lasermoon started in January 1995. Lasermoon obtained the
|
||
required licenses (POSIX.1, XPG4 etc) and X/Open membership to
|
||
facilitate this fully GPL'ed effort. Unifix were involved in the
|
||
development of the distribution, and components from Linux-FT were fed
|
||
back into other Unifix products (hence the similarities).
|
||
|
||
The technology behind Linux-FT was acquired by Caldera during 1996 and
|
||
will be incorporated into the Caldera's Linux products.
|
||
|
||
Caldera's involvement with Linux-FT has been the subject of many
|
||
postings and press announcements over many months and details can be
|
||
found on the Linux-FT WWW site at www.lasermoon.co.uk and Caldera
|
||
(www.caldera.com).
|
||
|
||
Unifix have no connection with, or control over Linux-FT. Whilst we
|
||
are flattered that Linux-FT is receiving such attention, BOTH Unifix
|
||
GmbH and the Unifix 2.0 RELEASE HAVE NOTHING WHATSOEVER TO DO WITH
|
||
CONTINUING Linux-FT DEVELOPMENTS.
|
||
|
||
Caldera and Lasermoon are continuing the work of developing a truly
|
||
Standards Certified/Branded Linux (released under the GPL). Working
|
||
with the original developers, we welcome all contributors to the
|
||
POSIX.1 and XPG4 standardization effort which is essential for the
|
||
long term success of Linux.
|
||
|
||
By working together, we can accomplish this effort in a much more
|
||
effective manner and comply with the licensing requirements of The
|
||
Open Group and other such organizations.
|
||
|
||
For additional information:
|
||
Lasermoon Ltd, The Forge, Wickham, Hants, England
|
||
info@lasermoon.co.uk
|
||
http://www.lasermoon.co.uk
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
LINUX CONSULTANTS HOWTO REACHES HUNDRED ENTRY MARK
|
||
|
||
|
||
|
||
October 17, 1996 -- Only one month after its debut on September 18,
|
||
1996, the Linux Consultants HOWTO, a listing of companies and
|
||
individuals providing commercial support for the freely
|
||
redistributable operating system Linux, now contains over a hundred
|
||
entries.
|
||
|
||
The Linux Consultants HOWTO is free and can be downloaded from
|
||
http://www.sypher.com/tbm/Consultants-HOWTO
|
||
|
||
|
||
For additional information:
|
||
Martin Michlmayr, tbm@sypher.com
|
||
http://www.sypher.com/tbm
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
LINUX IN THE NEWS
|
||
|
||
|
||
|
||
News Articles about Linux:
|
||
* "Linux Operating System Cheap, Powerful Red Hat Linux 4.0 Has No
|
||
Web- Connection Limits"
|
||
Infoworld, October 14, 1996
|
||
"I'm in awe of how quickly the Linux operating system is moving
|
||
foward. Last summer I predicted that Linux...would infiltrate
|
||
mainstream corporate America. If Red Hat Software Inc. (and all
|
||
the unsung Linux contributors) continue advancing Linux at the
|
||
present rate, such widespread adoption is guaranteed."
|
||
* "Taking a Second Look at Linux" PC Week, 10/21/96,
|
||
* "Spreading the Linux Gospel", PC Magazine, 10/8/96, a review of
|
||
books relating to Linux.
|
||
* "Building a Linux Web Server", Sys Admin: The Journal for Unix
|
||
Systems Administrators, October 1996.
|
||
* "Linux: Microsoft's Real Competition?" PC Week, 10/7/96.
|
||
* "Unix Survey: Users Like Reliability, Scalability, and
|
||
Performance" Byte October, 1996. Compares: IBM AIX, Digital Unix,
|
||
HP-UX, SCO, SunOS/Solaris, System V, and Linux.
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
LINUX ON PCTV
|
||
|
||
|
||
|
||
The PCTV production company, http://www.pctv.com/, which produces
|
||
Computer Chronicles, USER GROUP and @HOME, is producing four half-hour
|
||
shows on UNIX and Linux. These shows are:
|
||
* History of UNIX (aired in October)
|
||
* Contemporary UNIX (airs first on November 4th)
|
||
* Linux (airs first in January)
|
||
* UNIX Futures (air times not yet set)
|
||
|
||
|
||
|
||
These shows will be aired as part of the USER GROUP show, which is
|
||
carried on ME/U, Jones Computer Network (a 24-hour cable network
|
||
dedicated entirely to the subject of computers) and the NBC Super
|
||
Channel and CNBC Europe, as well as by Satellite. USIA WorldNet will
|
||
begin carrying the Users Group show.
|
||
|
||
Please check your local cable or satellite company for viewing times
|
||
of USER GROUP.
|
||
|
||
For additional information:
|
||
Jon "maddog" Hall, Executive Director Linux International
|
||
jon.hall@li.org
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
NEW LINUX Q&A SITE
|
||
|
||
|
||
|
||
A new threaded Linux Q&A and discussion area has been created at The
|
||
Forge Foundation web site:
|
||
|
||
http://www.theforge.com/InterBoard
|
||
|
||
|
||
Create your own account or use the link that lets log you in
|
||
anonymously, then choose the group "Foundry - Linux Q&A". This is an
|
||
unmoderated group open to everyone.
|
||
|
||
For additional information:
|
||
Hal Reed, hal@theforge.com
|
||
The Forge Foundation, http://www.theforge.com/
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
NORTHCON NOV 4-6
|
||
|
||
|
||
|
||
Northcon is Nov 4-6 at the WA Convention & Trade Center (near the
|
||
Kingdome) in Seattle, Washington. There will be 350 exhibits by
|
||
"Leading Electronics Manufacturers".
|
||
|
||
Mon. Nov 4, 10-5
|
||
Tue. Nov 5, 9-5
|
||
Wed. Nov 6, 9-4
|
||
|
||
|
||
You can register on-line (free) at http://www.northcon.org.
|
||
|
||
For additional information:
|
||
northcon@ieee.org or call 1-800-877-2668
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
OPEN SYSTEMS WORLD/FEDUNIX CONFERENCE
|
||
|
||
|
||
|
||
There will be a Open Systems World/FedUnix conference/trade show in
|
||
Washington DC on November 4-8. It is a traditional event devoted to
|
||
open computing (read: Unix), attended mostly by government and
|
||
commercial Information Systems types.
|
||
|
||
Since Linux has gained the attention of such circles, there is a 2-day
|
||
Linux track at this conference. I am chairing a Linux-related session,
|
||
scheduled for Thursday, November 7, 1996. Speakers will be people who
|
||
apply Linux in real world situations, both in the government and the
|
||
private sector, and will tell us about their good and bad experiences,
|
||
and plans for the future. Among the speakers, there are some who use
|
||
Linux as a primary OS, as well as those for whom Linux is just another
|
||
environment.
|
||
|
||
For additional information:
|
||
http://www.mcsp.com/OSW-FedUNIX.html
|
||
Przemek Klosowski, przemek@nist.gov
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
QT GUI CONTEST ANNOUNCEMENT
|
||
|
||
|
||
|
||
On October 1 Troll Tech announced the Qt GUI programming contest
|
||
(free entry).
|
||
|
||
A contest for programmers, writing free GUI software using Qt (a C++
|
||
GUI toolkit, see http://www.troll.no/). Anyone can enter, there is no
|
||
fee for entry, and any program can be entered as long as it is written
|
||
in C++ and uses Qt.
|
||
|
||
The winner will be paid US$2000 and two runners-up $500 after the
|
||
contest has closed on May 1, 1997 and the jury has done its job.
|
||
|
||
We wish to encourage more free GUI software for X11, and we wish more
|
||
people to experience for themselves how good Qt is.
|
||
|
||
For additional information:
|
||
http://www.troll.no/contest.html
|
||
contest@troll.no
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
VULNERABILITIES IN LINUX
|
||
|
||
|
||
|
||
An October 10 CIAC (Computer Incident Advisory Capability, U.S.
|
||
Department of Energy) bulletin describes a security hole in Linux when
|
||
using a Bash shell as the default shell, and explains how to avoid it.
|
||
Additional information can be found at the CIAC web site.
|
||
|
||
On August 15, CIAC announced a security hole in the mount and umount
|
||
Linux programs, and gave fixes. Additional information can be found at
|
||
the CIAC web site, CIAC web site
|
||
|
||
If you find code that could be potentially dangerous, you should
|
||
contact the Computer Emergency Response Team (CERT),
|
||
http://www.cert.org/, at Carnegie Mellon University. Reporting forms
|
||
can be found at ftp://info.cert.org/pub/incident_reporting_form.
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
SOFTWARE ANNOUNCEMENTS
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
CRAFTWORKS LINUX 2.2 INTEL VERSION
|
||
|
||
|
||
|
||
Mon, 07 Oct 1996
|
||
Craftwork Solutions has released it's second generation Linux OS for
|
||
the Intel platform. Craftworks 2.2 is a complete, customizable
|
||
operating system for Intel based machines that empowers the desktop.
|
||
It is a solid operating environment for desktop workstations and Web
|
||
server solutions. The Linux environment provides improved processing
|
||
performance, high reliability and built-in security, at an affordable
|
||
price.
|
||
|
||
For additional information:
|
||
Craftwork Solutions, Inc., http://www.craftwork.com
|
||
info@craftwork.com
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
JAVA DEVELOPMENT KIT--JDK 1.0.2 FOR LINUX
|
||
|
||
|
||
|
||
On Friday September 27th 1996, Sun Microsystems provided the Java
|
||
community with the long awaited update of the binary license,
|
||
subsequently making redistribution of the Linux JDK 1.0.2 (Java
|
||
Development Kit) possible.
|
||
|
||
For additional information:
|
||
http://www.blackdown.org/java-linux/Information.html
|
||
Robert Herrmann bherrman@netcom.com
|
||
NETCOM On-line Communication Services
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
LINUX ON A DISK
|
||
|
||
|
||
|
||
06 Oct 1996
|
||
A 1 or 2 GigaByte IDE Hard Disk Pre-Loaded with Linux. Positively the
|
||
easiest way to get the Linux Operating System up and running on your
|
||
PC.
|
||
|
||
http://www.cosmoseng.com/
|
||
|
||
|
||
For additional information:
|
||
Clay Claiborne, cjc@earthlink.net
|
||
Cosmos Engineering Co., Los Angeles, CA
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
MKLINUX RELEASE 2.0
|
||
|
||
|
||
|
||
23 Sept 1996
|
||
Apple Computer, Inc. (Nasdaq: AAPL) announced today that it is making
|
||
available Developer Release 2 of MkLinux. Based on the Open Software
|
||
Foundation (OSF) Mach Kernel, MkLinux allows users to run UNIX
|
||
applications and solutions on high performance Power PC-based
|
||
products. The DR2 release delivers substantially improved performance
|
||
and stability, and many features Linux developers and customers have
|
||
been asking for.
|
||
|
||
Apple is making the source code for Developer Release 2 available free
|
||
of charge on the Apple MkLinux web site at
|
||
http://www.mklinux.apple.com/ long with snapshots of MkLinux,
|
||
updates, patches, and late-breaking news. Apple's MkLinux Developer
|
||
Release 2 CD is available from Prime Time Freeware for U.S. $20.
|
||
|
||
For additional information:
|
||
Prime Time Freeware, info@ptf.com, http://www.ptf.com/
|
||
Apple Computer Inc., http://www.apple.com/
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
RED HAT LINUX 4.0 USERS'S GUIDE
|
||
|
||
|
||
|
||
Fri, 04 Oct 1996
|
||
Red Hat Linux 4.0 Users's Guide free via FTP! That's right, the 236
|
||
page Red Hat Linux 4.0 User's Guide is now available via FTP, in
|
||
PostScript and HTML form. It is also available for browsing on our web
|
||
site. The Users's Guide covers installation, configuration, RPM,
|
||
control-panel, and basic system administration issues, and is a must
|
||
have for anyone running Red Hat Linux.
|
||
|
||
http://www.redhat.com/support/rhl/manual
|
||
ftp://ftp.redhat.com/pub/redhat/redhat-4.0/Users-Guide
|
||
|
||
|
||
The Red Hat 4.0 User's Guide is distributed under the same terms as
|
||
the Linux Documentation Project (LDP) documents.
|
||
|
||
For additional information:
|
||
Red Hat Software, http://www.redhat.com/
|
||
info@redhat.com
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
VIDEO MOSAIC NETSCAPE PLUGIN FOR LINUX
|
||
|
||
|
||
|
||
18 Oct 1996
|
||
Vosaic (Video Mosaic) is available as a Netscape Navigator plug-in for
|
||
Linux from the Systems Research Group of the University of Illinois at
|
||
Urbana-Champaign and Vosaic Corp.
|
||
|
||
Vosaic supports real time video over the Internet that is embedded in
|
||
standard Web pages. The technology allows one to view MPEG video at 6
|
||
to 10 frames per second over telephone dial up connections at 28.8
|
||
Kbits/s. Higher bandwidths improve video quality. There is no download
|
||
latency - videos are displayed as the data arrives over the network.
|
||
Get the 1 BETA 12 plug-in at:
|
||
|
||
http://www.vosaic.com/
|
||
|
||
|
||
Vosaic requires kernel 2.0 and above, as well as XFree86 3.1.2.
|
||
|
||
For additional information:
|
||
info@mosaic.com
|
||
http://choices.cs.uiuc.edu/srg/stan/video.ps
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
VIRTUAL PAPER--ONLINE-DOCUMENT VIEWING SYSTEM
|
||
|
||
|
||
|
||
04 Oct 1996
|
||
Virtual Paper is a high-quality online-document viewing system.
|
||
Lectern, the Virtual Paper viewer, offers good legibility (using
|
||
anti-aliasing), fast page-turning speed, a smooth user interface, and
|
||
the ability to handle both PostScript and scanned "legacy" documents.
|
||
|
||
It's written in Modula-3, is distributed in both source and executable
|
||
format, and is free (but copyright by Digital Equipment Corporation).
|
||
|
||
DEC has announced the availability of the Virtual Paper system in
|
||
x86/Linux ELF executable format.
|
||
|
||
For details on the overall system, including links to the executables
|
||
and sources, see:
|
||
|
||
http://www.research.digital.com/SRC/virtualpaper/
|
||
|
||
|
||
For additional information:
|
||
Paul McJones, mcjones@pa.dec.com
|
||
Andrew Birrell, birrell@pa.de.com
|
||
DEC Systems Research Center (SRC), Palo Alto, California, USA
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
WEBTHREADS 1.0.1 FOR LINUX
|
||
|
||
|
||
|
||
08 Oct 1996
|
||
WebThreads, LLC of Vienna, VA, announced the release of WebThreads
|
||
1.0.1 web site interactivity and visitor tracking solution. WebThreads
|
||
allows you to create truly interactive web sites that respond and
|
||
change in real time to individual visitors based on their actions
|
||
while providing the webmaster with a tremendous amount of information
|
||
about what the visitors are doing on your site. WebThreads is a
|
||
lightweight and easy to install set of CGI scripts written entirely in
|
||
C that greatly enhance the flexibility, interactivity and visitor
|
||
traffic reporting accuracy of standard WWW servers.
|
||
|
||
For additional information:
|
||
WebThreads, http://www.webthreads.com/
|
||
info@webthreads.com
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
XFORMS V0.81--X11 GUI TOOLKIT & BUILDER
|
||
|
||
|
||
|
||
29 Sep 1996
|
||
XForms is a graphical user interface toolkit and builder based on Xlib
|
||
for X Window Systems. XForms is a portable and efficient C library
|
||
that can be used in both C and C++ programs. The library works in all
|
||
visuals and all depths (1-24) and comes with a rich set of objects
|
||
such as buttons (of many flavors, including color XPMs as labels) ,
|
||
browsers, sliders, and menus integrated into an elegant event/object
|
||
call back execution model that allows fast and easy construction of
|
||
X-applications. It also has OpenGL (on SGI) and Mesa support.
|
||
|
||
XForms V0.81 for Linux/m68k and MkLinux is available from
|
||
|
||
http://bragg.phys.uwm.edu/xforms
|
||
ftp://laue.phys.uwm.edu/pub/xforms
|
||
|
||
|
||
In addition, XForms is already available for Linux/i386, Linux/Alpha
|
||
and other Unix platforms.
|
||
|
||
For additional information:
|
||
T.C. Zhao, zhao@laue.phys.uwm.edu
|
||
Surface Labs, Dept. of Physics, UW-Milwaukee
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
This page written and maintained by the Editor of Linux Gazette,
|
||
gazette@ssc.com
|
||
Copyright © 1996 Specialized Systems Consultants, Inc.
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
|
||
|
||
Larry Ewing's Penguin Gazette
|
||
|
||
THE GRAPHICS MUSE
|
||
|
||
by Michael J. Hammel
|
||
_________________________________________________________________
|
||
|
||
muse:
|
||
1. v; to become absorbed in thought
|
||
2. n; [ fr. Any of the nine sister goddesses of learning and the arts
|
||
in Greek Mythology ]: a source of inspiration
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
* Graphics Mews
|
||
* Musings
|
||
* Future directions
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
Welcome to the Graphics Muse! This is the first in what I hope will be
|
||
a long running monthly column relating to computer graphics on Linux
|
||
systems. Why a "muse"? Well, except for the sisters aspect, the above
|
||
definitions are pretty much the way I'd describe my own interest in
|
||
computer graphics: it keeps me deep in thought and it is a daily
|
||
source of inspiration.
|
||
|
||
This column will be divided into two sections: Graphics Mews, a
|
||
section devoted to the latest news in graphics such as new releases of
|
||
products (free or commercial), people in the news, conventions and
|
||
conferences and whatever else might be of general interest to the
|
||
graphics community, and Musings, a section where I can spew whatever I
|
||
think needs to be covered more in depth. The later section I hope will
|
||
cover things like reviews of products, tips and tricks, interviews
|
||
with graphics people, or maybe just my philosophies on life. You'll
|
||
just have to come back each month and see where things go.
|
||
|
||
I'm open to suggestions on topics for the Musings section. I'll also
|
||
take any and all notices regarding graphics tools that are being
|
||
released or updated. Please don't send notices as advertisements - I
|
||
only want to know about new releases or new products. I'm only doing
|
||
that to keep my workload down a little.
|
||
|
||
One thing this column won't cover is X programming or windowing API's
|
||
(unless they are specifically designed for the development of graphics
|
||
tools). There are lots of places to get information about X. This
|
||
column is about computer graphics in general.
|
||
|
||
|
||
|
||
Graphics Mews
|
||
|
||
Before I get too far into this I should note that any of the news
|
||
items I post in this section are just that - news. Either I happened
|
||
to run across them via some mailing list I was on, via some Usenet
|
||
newsgroup, or via email from someone. I'm not necessarily endorsing
|
||
these products (some of which may be commercial), I'm just letting you
|
||
know I'd heard about them in the past month.
|
||
* Megahedron
|
||
According to the announcement sent to me from Syndesis Corporation
|
||
(the maker of this product), Megahedron is a programmable 3D
|
||
graphics engine. It runs on a number of platforms, including
|
||
Linux. You can check out the web site at http://www.threedee.com/.
|
||
* QT
|
||
Troll Tech AS has released a free version of QT for the X Window
|
||
System. QT is a complete and well-developed object-oriented
|
||
program for developing graphical user interface applications using
|
||
C++. For additional information check out Troll Tech's web site at
|
||
http://www.troll.no/.
|
||
|
||
Thats all I've seen for this month. Software releases have been kinda
|
||
sparse the past month for some reason.
|
||
|
||
|
||
|
||
Musings
|
||
|
||
First, let me start with some shameless self-promotion: The Linux
|
||
Graphics mini-Howto and the Unix Graphics Utilities pages. The latter
|
||
of these I started late last year while beginning to learn about
|
||
computer graphics through the use of POV-Ray, a 3D rendering tool. I
|
||
had found that most of the tools available for use with POV-Ray were
|
||
not Unix based (not specifically, anyway) so I tried to find info on
|
||
Unix based tools since I was running Linux. After I learned a bit more
|
||
about computer graphics I started the Linux Graphics mini-Howto in
|
||
retaliation for a coworkers claims that doing graphics was best left
|
||
to MS based systems. NOT! The tools need a little organizing, a few
|
||
need better documentation, but in general you can do some very
|
||
impressive graphics on Linux systems.
|
||
|
||
These two pages are available at:
|
||
http://www.csn.net/~mjhammel/linux-graphics-howto.html and
|
||
http://www.csn.net/~mjhammel/povray/povray.html.
|
||
I was offered some free web space by a couple of people so I'll be
|
||
moving my pages sometime in the future, but probably not till after
|
||
January.
|
||
|
||
Note: if you are the official maintainer of any of the packages listed
|
||
in these pages feel free to keep me informed of new releases. The
|
||
information there is only as good as the info I've gathered from
|
||
newsgroups and word of mouth so far.
|
||
|
||
Ok, enough about me.
|
||
|
||
My first bit of musings revolves around the use of images in web
|
||
pages. I get a number of e-mails from people who've seen my web pages
|
||
(or possibly my ramblings on various newsgroups or mailing lists)
|
||
asking how to do blah or where can I get blah to do blah for their web
|
||
pages. The "where" parts are covered by the links mentioned above. The
|
||
"how" part is a broad question. I'll summarize.
|
||
|
||
When creating graphics for your pages, keep the following things in
|
||
mind:
|
||
1. Consider your target audience:
|
||
Home Users
|
||
+ Most home users have slow links. Even 28.8 modems don't load
|
||
big graphics all that fast. Keep your images small.
|
||
+ Animations that are done with like cell-animations are done
|
||
for cartoons (sequences of individual images with slight
|
||
variations to simulate movement) require each cell to be
|
||
loaded across the net. This is tantamount to one big image
|
||
taking forever to load.
|
||
+ Most home users are still limited to 256 colors on their
|
||
displays. Lots of users have upgraded to better graphics
|
||
cards, but how many people do you want to alienate with an
|
||
image with 10000 colors?
|
||
2. If you want the average person to visit your page, you have to
|
||
give them two things: content and flash. The flash has to be done
|
||
using as little download time as possible, with as much color as
|
||
you can squeeze in without overloading the browser (causing it to
|
||
dither images). The content must be the reason for your pages, not
|
||
the flash.
|
||
3. Background images should be just that - in the background. Don't
|
||
make the background so gaudy it distracts from your real content.
|
||
4. Use common colormaps - this reduces the number of colors the
|
||
browser has to allocate, leaving some space for other
|
||
applications. X-based systems can allocate colors into private
|
||
colormaps, but this causes that annoying "flashing" you see (try
|
||
running Netscape with the -install option - you'll see what I
|
||
mean).
|
||
5. Flash can be added easily with a simple background over which you
|
||
add some in-line transparent GIFs.
|
||
6. Never use an "Under Construction" image. Its the Web. Of course
|
||
its under construction!
|
||
7. Don't put those silly graphic dots in place of HTML list bullets.
|
||
First, they waste the users time downloading (each requires
|
||
another connection to the server) and second they break the
|
||
formatting rules provided with HTML. Its just not good practice
|
||
and they don't have any real value add to your pages. Now that you
|
||
know some basic guidelines for you images, how do you go about
|
||
creating the images? It depends on what kind of images you want to
|
||
make. If you want a simple, cartoon-like image you can get a
|
||
drawing program like xpaint. This tool is good for drawing circles
|
||
and boxes and filling them in, using a window like a canvas to
|
||
paint on the screen. However, this tool is limited in what you can
|
||
do to the image once you've drawn it. One highly popular tool for
|
||
a number of platforms that does this post-processing is Adobe
|
||
Photoshop. Using a tool like this takes a bit of practice, but
|
||
once you've mastered it you can do some rather amazing things. A
|
||
Linux alternative to Photoshop is the Gimp. The logos on this page
|
||
were created with the Gimp. So was the background.
|
||
|
||
3D images are a whole other matter. There are actually more
|
||
well-known tools for doing 3D work than there are for doing image
|
||
manipulation (ie tools like the Gimp). Probably the best known of
|
||
these is POV-Ray. This tool reads in a text file that uses a
|
||
"scene description language" to describe how objects in the scene
|
||
should be positioned and textured. The drawback to these tools is
|
||
that they lack a point-and-click interface. There are separate
|
||
tools available, known as modellers, that allow the creation of
|
||
the scene files without actually rendering the image. In order to
|
||
create 3D image you need to either learn the scene description
|
||
language or learn who to use a modeller that will create it for
|
||
you.
|
||
|
||
I know this is fairly basic and undetailed, but this is just my
|
||
first column. Over time I'll try to cover both beginner and more
|
||
advanced issues.
|
||
|
||
|
||
|
||
Future Directions
|
||
|
||
Next month: How do you create the textures that get applied to 3D
|
||
images? Beyond that, I'm considering talking about how to use Type
|
||
1 fonts in your images: how to install them, how you can
|
||
manipulate them with the Gimp to make interesting logos, etc. I'd
|
||
also like to provide some tips for using POV-Ray and BMRT
|
||
(although I have a lot to learn about the latter). And I might try
|
||
to cover a little on how to do animations. Things are pretty open
|
||
right now. Let me know what you'd like to hear about!
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
"Linux Gazette" Penguin courtesy of Larry Ewing.
|
||
_____________________________________________________________
|
||
|
||
Copyright © 1996, M. J. Hammel
|
||
|
||
Published in Issue 11 of the Linux Gazette
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
A "Kill-Ring" Menu For Xemacs
|
||
|
||
by Larry Ayers
|
||
Copyright © 1996
|
||
|
||
Published in Issue 11 of the Linux Gazette
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
Lately I've been enjoying exploring the myriad capabilities of GNU
|
||
Emacs' offspring and competitor, Xemacs. Aside from the burden of
|
||
downloading the voluminous source, Xemacs offers quite a few
|
||
features which Gnu Emacs lacks. Luckily for those considering a
|
||
transition, the basic keystrokes and commands are nearly
|
||
identical.
|
||
|
||
One feature of Gnu Emacs which I began to miss after a while was
|
||
the handy pull-down menu which displays the first few words of
|
||
each cut or copied selection made in the current session, i.e. the
|
||
"kill-ring". The prospect of figuring out how the lisp files work
|
||
which determine the menu-bar's structure wasn't too appealing. I
|
||
know a little lisp, but not enough to add a new menu entry.
|
||
|
||
Some weeks later, while idly browsing through some emacs newsgroup
|
||
headers, I came across this posting, which I'll quote here in
|
||
full:
|
||
|
||
|
||
In article imac@portia.rd.abs.alcatel.co.uk
|
||
(Ian MacKinnon) writes:
|
||
|
||
>When I used emacs (before I saw the light), I made use of a function
|
||
>mouse-menu-choose-yank which offered you the choice to yank from the recent
|
||
>history of selections via a popup menu, but I can't get it to work in
|
||
>XEmacs because x-popup-menu doesn't exist, and the parameters to
|
||
>popup-menu are different. Has anyone got an alternative. I enclose the
|
||
>...
|
||
|
||
I have hacked the Emacs codes of mouse-menu-choose-yank to put in
|
||
Xemacs as follows:
|
||
|
||
|
||
(defvar yank-menu-length 40
|
||
"*Maximum length of an item in the menu for select-and-yank.")
|
||
(defun select-and-yank-filter (menu)
|
||
(let* ((count 0))
|
||
(append menu
|
||
(mapcar
|
||
#'(lambda (str)
|
||
(if (> (length str) yank-menu-length)
|
||
(setq str (substring str 0 yank-menu-length)))
|
||
(prog1
|
||
(vector
|
||
str
|
||
(list
|
||
'progn
|
||
'(push-mark (point))
|
||
(list 'insert (list 'current-kill count t)))
|
||
t)
|
||
(setq count (1+ count))))
|
||
kill-ring))))
|
||
|
||
For this to work, you have to put on your menu bar the following submenu
|
||
(use add-submenu for that for example):
|
||
|
||
("Select and Yank"
|
||
:included kill-ring
|
||
:filter select-and-yank-filter)
|
||
|
||
Hope this help
|
||
|
||
-----------------------------------------------------------------------
|
||
PHAM Dinh Tuan | e-mail: Dinh-Tuan.Pham@imag.fr
|
||
Laboratoire de Modelisation et Calcul | Tel: +33 76 51 44 23
|
||
BP 53, 38041 Grenoble cedex (France) | Fax: +33 76 63 12 63
|
||
-----------------------------------------------------------------------
|
||
|
||
|
||
It took a little experimenting to get this to work. The first
|
||
section of lisp code, ending with "kill-ring))))", can be copied
|
||
unaltered into the xemacs section of your ~/.emacs file. If you're
|
||
using Xemacs 19.14 (the current version), it goes into your
|
||
~/.xemacs-options file.
|
||
|
||
The second, shorter lisp snippet needs one small addition:
|
||
|
||
|
||
(add-submenu nil '("Kill-Ring"
|
||
:included kill-ring
|
||
:filter select-and-yank-filter))
|
||
|
||
|
||
|
||
As well as adding the proper syntax for add-submenu, I shortened
|
||
the menu-title, but it could be called anything you like.
|
||
|
||
When I first restarted Xemacs after placing this code into the
|
||
init file the new submenu was nowhere to be seen. I surmised that
|
||
I'd made some error, and put off further experimentation for
|
||
another time. A few minutes later I was busily editing some file.
|
||
I happened to glance up at the menu-bar and found a brand-new
|
||
kill-ring submenu. Surprisingly the new menu only appears after a
|
||
selection has been cut or copied.
|
||
|
||
I was happy, and thought that by relating my experience I could
|
||
encourage other Xemacs users (especially the ones who know as
|
||
little lisp as I do!) to try this neat hack. Thanks to Dinh Tuan
|
||
Pham, if he or she should happen to see this.
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
Linus to Move to U.S. in 1997
|
||
|
||
By Phil Hughes, phil@ssc.com
|
||
|
||
Copyright © 1996
|
||
|
||
Published in Issue 11 of the Linux Gazette
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
|
||
|
||
Linus Torvalds is currently in the process of finishing up his
|
||
Master's degree at the University of Helsinki. After degree
|
||
completion, he plans to move to Santa Clara, California, where he
|
||
will begin working for Transmeta in March, 1997. Since Transmeta
|
||
does not do Linux, this is a Linux-neutral position; however, his
|
||
contract includes a provision for time to continue work on Linux.
|
||
|
||
After careful consideration of what he wanted in the future for
|
||
himself and his family, Linus decided to pursue a position in the
|
||
business world. A friend of his, who works for Transmeta and who
|
||
has been a long-time Linux contributor, talked to his management
|
||
and found a position for Linus that would both utilize his talents
|
||
and interest him.
|
||
|
||
Linus feels that the match between Transmeta and his future goals
|
||
is a good one. Transmeta is a relatively small company. While
|
||
Linus' main job will not be working on Linux, Transmeta recognizes
|
||
the good that Linux is doing, and will allow Linus time and
|
||
freedom to continue with the Linux project.
|
||
|
||
Here at Linux Journal we see this as a chance to let Linus trade
|
||
in some of that virtual beer we owe him for the real stuff. While
|
||
not exactly around the corner, being on the same coast and within
|
||
about two hours by airplane makes the trade a lot easier.
|
||
|
||
While some have expressed fear that Linus' choice to apparently
|
||
have a life could adversely affect Linux development, I think this
|
||
is not the case. Those of us who have had the opportunity to sit
|
||
down and talk with Linus know that Linus already has a life. While
|
||
he spends a lot of time working on Linux, he does have other
|
||
interests. The goal in attending the University of Helsinki was to
|
||
get a degree, not to build the operating system we are all now
|
||
involved in.
|
||
|
||
I think his decision to go to a Linux-neutral company, even though
|
||
he had job offers from companies working with Linux, will be an
|
||
advantage to the Linux industry as a whole. Also, being in the
|
||
U.S. will make it easier for Linus to participate in shows and
|
||
other events here, while still maintaining a personal life.
|
||
Besides, it is going to be nice to be able to say that the person
|
||
who created our operating system of choice has a job.
|
||
|
||
-- Phil Hughes
|
||
Publisher of Linux Journal
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
RUNNING SUN'S HOTJAVA BROWSER ON A LINUX SYSTEM
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
by Larry Ayers
|
||
Copyright (c) 1996
|
||
|
||
Published in Issue 11 of the Linux Gazette
|
||
|
||
INTRODUCTION
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
Recently I stopped by the Java-Linux web-page to see what was new
|
||
and found an intriguing new link. This link took me to a page
|
||
which contains a script allowing Sun Microsystem's HotJava
|
||
web-browser to be run on a Linux machine. I was skeptical, as the
|
||
Java-based browser supposedly is only available in versions for
|
||
Win 95/NT and Sparc Solaris systems. The comments in the script
|
||
stated that the Sparc version should be downloaded and installed,
|
||
after which the new script should be edited to reflect the
|
||
location of the Java Developers Kit on the machine. The comments
|
||
were rather terse; what I wanted to know was whether it worked
|
||
well enough to even bother with.
|
||
|
||
DOWNLOAD AND INSTALLATION
|
||
|
||
|
||
You've probably guessed that my curiosity got the better of me;
|
||
feeling faintly foolish I FTP'ed the three-and-one-half megabytes
|
||
of Sparc binaries from the Javasoft site and installed them. After
|
||
substituting the new start-up shell script for the supplied script
|
||
I was ready to try it out. The first try it died, complaining that
|
||
it couldn't find mkdir in /usr/bin. I re-edited the shell script
|
||
and corrected that path. This time it worked, and I have to say I
|
||
was impressed.
|
||
|
||
SO WHAT'S IT LIKE?
|
||
|
||
|
||
HotJava is a graphically well-designed browser. The graphics in
|
||
the various help-pages, the buttons, and the general design are
|
||
all professionally executed, and pleasing to the eye. Here is a
|
||
screen-shot of one of the included monitor applets:
|
||
|
||
_____________________________________________________________
|
||
|
||
HotJava
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
The browser takes about as long to start up as Netscape does. It's
|
||
informative to start it from an xterm window, as verbose messages
|
||
scroll by throughout the session indicating what threads and
|
||
applets are active. You'll also be able to see its dying words, as
|
||
(at least on my machine) it will only run for about one-half an
|
||
hour before crashing. While it runs it seems to do well, though. I
|
||
aimed it at http://www.gamelan.com and tried a variety of java
|
||
applets. They seemed to take longer to load than with Netscape,
|
||
but once loaded worked well. Frames, once a Netscape exclusive,
|
||
are supported. There is also a menu option allowing hotlists from
|
||
other browsers to be imported.
|
||
|
||
In its current "pre-beta" state HotJava uses an awful lot of
|
||
memory. Top reported usage of fourteen to fifteen megabytes! No
|
||
wonder I could only start it when the machine was lightly loaded.
|
||
The current version of the Linux java compiler is a memory hog as
|
||
well, so perhaps this is a trait of java, being an interpreted
|
||
language as it is.
|
||
|
||
HotJava includes two interesting monitor applets. One shows the
|
||
current memory usage in bar-graph form, with a button which will
|
||
clear past images and pages from memory, rather like Netscape's
|
||
"clear memory cache" function. The other shows a list of all of
|
||
the active threads, with often as many as twenty to thirty active
|
||
at once.
|
||
|
||
I did notice that if used locally; i.e. for viewing HTML files on
|
||
the local hard disk rather than on the net, it wouldn't crash. GIF
|
||
and JPEG images referred to from a page (rather than inline on the
|
||
page) are viewed in the same window with an internal viewer. This
|
||
is in contrast to some browsers which call an external program for
|
||
this purpose.
|
||
|
||
I should state here that I don't have the Java Developer's Kit
|
||
version 1.02 patchlevel 2 installed; my installation is the plain
|
||
1.02. Patchlevel 2 is recommended on the Java-Linux page. Perhaps
|
||
some of the problems I had with HotJava can be attributed to my
|
||
slightly out-of-date JDK.
|
||
|
||
CONCLUSION
|
||
Even with all of the faults related above my overall impression was
|
||
positive. Remember, this is a pre-beta release. HotJava is a major
|
||
evolutionary step up from the web-page applets which are the most
|
||
common uses of java these days. What other large application
|
||
written in java is available? It is a tribute to the inherent
|
||
cross-platform nature of the java language that a release intended
|
||
for Sparc Solaris machines will run at all on my humble 486 Linux
|
||
box. Thanks go to whomever modified the hotjava script and made it
|
||
available on the Java-Linux site!
|
||
_____________________________________________________________
|
||
|
||
Larry Ayers<layers@vax2.rain.gen.mo.us>
|
||
Last modified: Sat Oct 26 17:29:28 CDT 1996
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
THE TKGOODSTUFF PACKAGE
|
||
|
||
by Larry Ayers
|
||
Copyright © 1996
|
||
|
||
Published in Issue 11 of the Linux Gazette
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
INTRODUCTION
|
||
|
||
|
||
For the past couple of years Mark Crimmins at the University of
|
||
Michigan has been developing and refining an extremely
|
||
configurable desktop button-bar; since it's written in Tcl-Tk and
|
||
superficially resembles the Fvwm Goodstuff module, it is known as
|
||
TkGoodstuff. The utility has passed through several beta versions
|
||
in the last year. Recently Mark made available a release version
|
||
4.1, so I thought this would be an auspicious time to review it.
|
||
|
||
FEATURES
|
||
|
||
|
||
TkGoodstuff is really a package of "clients", which are modular
|
||
utilities, organized and displayed by the master program. Some of
|
||
the client utilities were written by Mark Crimmins, while others
|
||
were contributed by users. They include:
|
||
+ Window-list: displays running programs a la Win95
|
||
+ Pager: Compact pager, like fvwm's
|
||
+ Biff: Mail notifier
|
||
+ Net: Net status indicator, can also launch scripts
|
||
+ Dialer: Configurable ppp/slip script-generator and launcher
|
||
+ Jots: Notepad utility
|
||
+ Watchdog: Monitors any logfile for changes
|
||
+ Clock: Any sort you like
|
||
+ Load: Like a miniature xload
|
||
+ Many others! Consult the web-site for descriptions
|
||
TkGoodstuff screenshot
|
||
|
||
TkGoodstuff includes a tabbed-notebook style configuration
|
||
utility, which allows a multitude of settings to be made for all
|
||
of the clients. Colors, icons, fonts, and nesting of clients can
|
||
all be determined here. Configuring a utility like this one can be
|
||
extremely time-consuming. I like to rough out the configuration in
|
||
one pass, live with it for a while, then make incremental changes
|
||
from time to time as they occur to me. After making any change in
|
||
the configuration notebook a window pops up giving you the
|
||
opportunity to restart Tkgoodstuff (hereafter referred to as Tkg).
|
||
|
||
|
||
Tkg is designed to cooperate with and interact with Fvwm; it can
|
||
be loaded as an Fvwm module either at start-up or from the
|
||
mouse-menu. If run as a module the button-bar will "stay on top"
|
||
and inhabit all pager windows. There is also an option which
|
||
allows Tkg to span any of the four screen edges.
|
||
|
||
|
||
On my system PPP dial-up sessions are initiated by means of a
|
||
short shell script called ppdi. I recently discovered that the Tkg
|
||
Net client can launch this script when its panel is mouse-clicked,
|
||
and terminate the session the same way by launching the ppp-off
|
||
script. This is just marginally easier than finding an rxvt window
|
||
and typing the commands in, but much easier to explain to my wife
|
||
and kids! The Net button also shows total time online when a
|
||
connection is open.
|
||
|
||
Modules which are used less often can be invoked from a submenu
|
||
viewed by clicking the Utilities button.
|
||
|
||
My favorite configuration uses a small subset of the available
|
||
modules, with the window-list and pager combination occupying the
|
||
lower half of the bar.
|
||
|
||
Tkg comes with ample documentation in the form of linked HTML
|
||
files. A tutorial is even included which provides help for
|
||
creating your own modules.
|
||
_____________________________________________________________
|
||
|
||
AVAILABILITY AND INSTALLATION
|
||
|
||
|
||
TkGoodstuff is available from the major Linux archive FTP sites,
|
||
but its home site will have the most recent version. The
|
||
compilation and installation process is well-documented within the
|
||
package; the current version (4.1) does require Tcl-7.5 and
|
||
Tk-4.1.
|
||
|
||
_____________________________________________________________
|
||
|
||
Larry Ayers<layers@vax2.rain.gen.mo.us>
|
||
Last modified: Tue Oct 22 09:25:55 CDT 1996
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
X-FILES
|
||
|
||
by Larry Ayers
|
||
Copyright © 1996
|
||
|
||
Published in Issue 11 of the Linux Gazette
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
From two Finnish college students, Juha Forsten and Mikko
|
||
Kiviniemi, comes a new variation on the theme of translating basic
|
||
Unix commands into a graphical form with Tcl/Tk. X-Files
|
||
superficially resembles FileRunner (reviewed in LG #9) due to a
|
||
shared ancestry: those legendary Amiga file managers which seem to
|
||
inspire such loyalty and nostalgia. This new one has quite a list
|
||
of features, all of which are configurable to an extreme.
|
||
|
||
FEATURES, SOME UNIQUE
|
||
|
||
|
||
X-Files is one of those apps which you could spend hours
|
||
customizing. The X-Files window at first glance seems cluttered
|
||
and busy, with row after row of multicolored function buttons. I
|
||
believe the authors set up the default configuration this way so a
|
||
new user could see all of the possibilities at a glance. Click
|
||
here to take a look: Initial View
|
||
|
||
Exploring further I found that a pull-down menu allows the default
|
||
button-arrangement to be exchanged for any of three alternate
|
||
choices. Alternately, any individual row can be disabled. As a
|
||
further refinement there is an entry under the "config" menu item
|
||
which allows the appearance and behavior of any button to be
|
||
edited. A small edit-window pops up after you click a mouse button
|
||
on whichever button you'd like to change. The color, button text,
|
||
and command you'd like the button to run can be entered in and
|
||
saved. Entire groups of buttons, each optimized for a certain
|
||
project or type of work, could be created. They would then be
|
||
available from the menubar.
|
||
|
||
Another built-in mini-editor is also available from the menubar.
|
||
This one allows specific behavior to be assigned to various file
|
||
extensions. If you'd prefer the Gimp rather than XV to be the
|
||
default image viewer for jpg files this'll let you do it. A
|
||
separate program or action can be assigned to each of the left and
|
||
middle mouse-buttons.
|
||
|
||
The references to left and middle in the above statement seem to
|
||
refer to a three-button mouse. X-Files was written with this sort
|
||
of mouse in mind and can be a little awkward to use with a
|
||
two-button mouse, like mine. Even if you have emulate three-button
|
||
mouse set in your XF86Config file, double-clicking both mouse
|
||
buttons at once takes a while to get used to.
|
||
|
||
I was pleased to see complete keyboard-control support in this
|
||
file manager. The arrow keys and page-up and page-down keys work
|
||
in whichever directory pane the mouse cursor is in. The focus
|
||
follows the mouse without clicking, even to list-boxes and
|
||
entry-fields. Lack of this feature is a shortcoming in the other
|
||
two Tk file managers I've written about, Tkdesk and FileRunner.
|
||
|
||
The mv command in Linux (and other Unix variants) has a
|
||
peculiarity: it refuses to move a file from one partition to
|
||
another. Most file managers I've used deal with this by means of a
|
||
behind-the-scenes subterfuge. While the user thinks the manager is
|
||
moving the file, it's actually copying the file, then quickly
|
||
deleting it from the original location. The overall effect is the
|
||
same. The Move button in X-Files hasn't learned this trick yet,
|
||
but I imagine after a few more version releases it will. This
|
||
behavior has an effect upon file deletions which puzzled me for a
|
||
while. X-Files would occasionally refuse to delete files for no
|
||
apparent reason. What was happening was a result of X-Files' use
|
||
of an undelete/trashcan directory. This directory
|
||
(~/.xfiles/xfiles_dumpster) is created during installation, and
|
||
the default behavior is to move all deleted files to this
|
||
directory. This would be fine if all your files were on the same
|
||
partition; if they're not X-files will balk. Luckily this feature
|
||
is easily disabled; I prefer irrevocable deletion anyway.
|
||
|
||
A "virtual file system", similar to but not quite as refined as
|
||
the Midnight Commander's, allows the contents of zipped and tarred
|
||
and gzipped files to be browsed. In this beta *.tgz files are
|
||
supported, but not *.tar.gz files.
|
||
_____________________________________________________________
|
||
|
||
LICENSING AND AVAILABILITY
|
||
|
||
|
||
X-Files has many other features; why not check out the X-Files
|
||
Home page and find out more? The source can be downloaded from
|
||
the page as well. As of this writing (early October) it hasn't
|
||
shown up on the archive sites.
|
||
|
||
This program isn't completely free. The terms are similar to those
|
||
of John Bradley's XV image viewer: it's free to individuals, but
|
||
for business and any other multiple-user use it costs twenty
|
||
dollars to register. The authors also hint that feature requests
|
||
from those who have paid will be more likely to be acted upon. An
|
||
individual wishing to be a "supported user" only has to pay ten
|
||
dollars.
|
||
_____________________________________________________________
|
||
|
||
CONCLUSION
|
||
|
||
|
||
I consider X-Files to be a direct competitor in features and
|
||
utility to both FileRunner and the Midnight Commander. Tkdesk and
|
||
Moxfm are in a different league; they're much more than file
|
||
managers, though many of the functions are comparable. The
|
||
Midnight Commander has the useful trait of running in a console
|
||
session as well as in an rxvt or xterm window. Because of this,
|
||
Midnight Commander is among the first apps I resurrect after
|
||
repartitioning and reinstalling Linux. I'm just happy that we now
|
||
have choices in applications for Linux; it wasn't that long ago
|
||
that Linux users were glad to have just one of each type of app or
|
||
utility.
|
||
_____________________________________________________________
|
||
|
||
Larry Ayers<layers@vax2.rain.gen.mo.us>
|
||
Last modified: Tue Oct 22 09:24:14 CDT 1996
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
Subject: TAPR SS Position Statement
|
||
Date: Thu, 26 Sep 1996 12:18:44 -0700 (PDT)
|
||
From: Steve Stroh
|
||
To: Phil Hughes WB6SWR
|
||
|
||
|
||
I suspect that the "Intranet" described below will be built on
|
||
Linux-based IP routers, possibly a simple implementation that can
|
||
be booted from floppy or Flash Card.
|
||
|
||
It's going to be very, very interesting.
|
||
|
||
Steve N8GNJ, strohs@halcyon.com
|
||
Amateur Radio TCP/IP n8gnj@sw.n8gnj.ampr.org
|
||
| Amateur Spread Spectrum is the wave of the present!
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
TAPR's Statement on Spread Spectrum Technology Development
|
||
|
||
http://www.tapr.org/
|
||
|
||
|
||
TAPR was founded in 1982 as a membership supported non-profit
|
||
amateur radio research and development organization with specific
|
||
interests in the areas of packet and digital communications. In
|
||
the tradition of TAPR, the Board of Directors at their Fall 1995
|
||
meeting voted that the organization would begin to actively pursue
|
||
the research and development of amateur radio spread spectrum
|
||
digital communications. At the Spring 1996 board of directors
|
||
meeting, the following statement of purpose was passed:
|
||
|
||
"TAPR believes that the technical facts support our conviction that
|
||
conventional and spread spectrum systems can coexist without
|
||
detriment to conventional systems on all frequencies from MF to EHF.
|
||
To this end, TAPR will begin to research spread spectrum systems
|
||
that will develop technology for future deployment."
|
||
As stated above, the TAPR board feels strongly about TAPR's focus on
|
||
spread spectrum technology and especially how it relates to the
|
||
potential coexistence on frequencies that will have increased
|
||
number of users occupying them. The amateur radio bands, like
|
||
other spectrum will become more heavily utilized in the future. It
|
||
is in the interest of amateur radio to develop systems that are
|
||
interference-resistant while not interfering with other primary or
|
||
secondary users on those frequencies.
|
||
|
||
TAPR understands the concerns many have with the new technology,
|
||
and believes that efforts in both education and research is
|
||
necessary in order to allay the fears about interference and to
|
||
demonstrate the benefits of the technology.
|
||
|
||
TAPR believes that todays' communications technology is moving
|
||
toward all digital transmitters and receivers. These advances in
|
||
technology, combined with the swift evolution of cell based
|
||
transmission and switching protocols, are opening up a new set of
|
||
possibilities for unique new services utilizing intelligent
|
||
networks. These will contain smart transmitters, receivers, and
|
||
switches. Today's Internet is perhaps the best example of a
|
||
self-regulating structure that embodies these new technological
|
||
approaches to communications in the networking domain. However, to
|
||
date, many of these innovations have not moved into the wireless
|
||
networking arena. TAPR will work on moving these innovations into
|
||
the amateur radio community.
|
||
|
||
TAPR feels that the VHF/UHF/SHF radio networks of the future will
|
||
involve a mixture of links and switches of different ownership,
|
||
which terminate at the end-user via relatively short-distance
|
||
links. What will then be required is a built-in, distributed,
|
||
self-governing set of protocols to cause the network's behavior to
|
||
make more efficient use of a limited, common shared resource, the
|
||
radio spectrum. Creating such a self-regulating structure for the
|
||
optimal sharing of spectrum will require much effort.
|
||
|
||
One of the major problems which stands in the way of these new
|
||
approaches today is the current FCC regulatory environment and the
|
||
manner in which spectrum is managed and allocated under its rules.
|
||
|
||
|
||
Historically, the current regulatory approach to radio has been
|
||
based upon the technology that was in use at the time that the
|
||
Communications Act of 1934 was framed, basically what we would
|
||
call today, 'dumb' transmitters speaking to 'dumb' receivers. The
|
||
technology of that time required reserved bandwidths to be set
|
||
aside for each licensed service so that spectrum would be
|
||
available when needed. Given this regulatory approach, many new
|
||
applications cannot be accommodated since there is no available
|
||
unallocated spectrum to 'park' new services. However, given the
|
||
new set of tools available to the entrepreneur with the advent of
|
||
digital technology, what once were 'dumb' transmitters and
|
||
receivers can now be smart devices which are capable of exercising
|
||
greater judgment in the effective use and sharing of spectrum. The
|
||
more flexible the tools that we incorporate in these devices, the
|
||
greater the number of uses that can be accommodated in a fixed,
|
||
shared spectrum.
|
||
|
||
Therefore, TAPR will focus its spread spectrum effort in the
|
||
following areas:
|
||
+ TAPR will work to promote rules and technologies to make the
|
||
most efficient use of the spectrum through power control,
|
||
forward error correction, and other means to minimize
|
||
interference among spread spectrum users and existing
|
||
communications systems.
|
||
+ TAPR will work on issues and efforts with other national
|
||
organizations to change the regulatory environment and rules
|
||
in order to promote the experimentation, development, and
|
||
later deployment of spread spectrum technology.
|
||
+ TAPR will work to develop information on the topic to help
|
||
educate members and the amateur community as a whole about
|
||
spread spectrum technology, and to disseminate this
|
||
information via printed publications, the World Wide Web,
|
||
presentations at conferences and meetings, and other means.
|
||
+ TAPR will work to foster experimentation, development, and
|
||
design of spread spectrum systems, and to facilitate the
|
||
exchange of information between the researchers and other
|
||
interested parties.
|
||
+ TAPR will work to develop a national intra-network to foster
|
||
the deployment of future high-speed spread spectrum systems
|
||
into regional and local communities, including the
|
||
development of suitable protocols and guidelines for
|
||
deployment of these systems.
|
||
+ TAPR will work with commercial companies who manufacture
|
||
spread spectrum devices which operate in spectrum shared by
|
||
the amateur radio service (ARS), in order to make them more
|
||
aware of the nature of ARS operations on those bands with the
|
||
goal to work towards the deployment of devices which will
|
||
minimize interference between all spectrum sharing partners.
|
||
+ TAPR will work with commercial companies who manufacture
|
||
spread spectrum devices in order to identify equipments that
|
||
can be either used or modified for use for Part 97 operation.
|
||
|
||
|
||
Adopted by the TAPR Board on September 20th, 1996 at Seatac,
|
||
Washington Board Meeting.
|
||
|
||
Spread Spectrum Statement Committee:
|
||
Greg Jones, WD5IVD
|
||
Dewayne Hendricks, WA8DZP
|
||
Barry McLarnon, VE3JF
|
||
Steve Bible, N7HPR
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
MY EXPERIENCE INSTALLING TCL/TK
|
||
FROM 7.4 TO 7.5
|
||
|
||
on Red Hat Linux 2.1, kernel release 1.2.13
|
||
|
||
BY EARL BROWN, GLEEP@LVINET.COM
|
||
|
||
Copyright © 1996
|
||
|
||
Published in Issue 11 of the Linux Gazette
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
In which I chronicle my experiences attempting to upgrade my version of
|
||
TCL/TK to match the web-based help files I had already obtained.
|
||
|
||
|
||
For the short version, click here
|
||
|
||
On with the story!
|
||
|
||
Naturally, the first thing I looked for was the RPM. Found it,
|
||
couldn't get it because Red Hat FTP was _slow_ during daytime. So
|
||
I went to sun.
|
||
|
||
There I found tcl7.5 (I'm cautious - don't want to use beta stuff
|
||
when I can avoid it. That is until I'm independently wealthy with
|
||
time on my hands!). Look for:
|
||
ftp://ftp.sunlabs.com/pub/tcl/tcl7.5p1.tar.gz
|
||
That's the file I got. Download it. While you're there, get:
|
||
tk4.1p1.tar.gz
|
||
I created a directory off my home:
|
||
~/tcl
|
||
and put both files in there. From there I unzipped them to get two
|
||
subdirectories:
|
||
|
||
~/tcl/tcl7.5
|
||
~/tcl/tk4.1
|
||
Both of these contain a README file - I read it (but only closely
|
||
enough to see that there was a README in the 'unix' subdirectory
|
||
that would give me info on how to compile.
|
||
|
||
So, I changed to the unix subdirectory:
|
||
|
||
~/tcl/tcl7.5/unix
|
||
And read the README file. It said run "configure" (which just checked
|
||
out my machine), and then run "make" (which does about what you'd
|
||
expect), then run "make install". All of these appeared to work,
|
||
but when I ran 'wish', I still had the old versions. Hmmmm.
|
||
|
||
Put it on the back burner for a while - I've other work to do.
|
||
When I got home, I looked up the files again (and found the RPM
|
||
this time), and downloaded them (at 28.8, instead of T-1 :(
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
Next morning...
|
||
|
||
First thing is try the RPM. No luck - it said the .rpm was a
|
||
'version 3' RPM, and that I needed to upgrade my version of RPM.
|
||
Okay - glad I've got two machines at home (Thank you, Mom, for
|
||
giving me your old '486!), I started up the Windows box (I'm
|
||
looking forward to getting WABI so my wife can play FreeCell in a
|
||
_real_ OS :) and started surfing again...
|
||
|
||
Does anybody know why the rpm says that rpm2.2.rpm is a version 3
|
||
rpm and I need to upgrade?
|
||
|
||
While I was finding this out, I was exploring other avenues. I got
|
||
the files from sun installed on my machine at home. But they
|
||
wouldn't compile (something about missing include files - this
|
||
didn't surprise me, I've stripped that machine back in the name of
|
||
hard drive space).
|
||
|
||
So, being the explorer I am, I got out the 'sun archives' CD from
|
||
my Red Hat install set. Did a 'find' for "*.tcl" and was happy to
|
||
see there was a tcl7.5p1.tar.gz file. Good. Ungzipped the thing
|
||
and 'tar tvf'ed it to see what was in it. Hmmm. "./usr/..." Looks
|
||
like I should just untar it from the root directory. I'm not so
|
||
cautious when I'm frustrated.
|
||
|
||
This option took a _lot_ of drive space. I wish I could undo it.
|
||
It didn't really work (and it complained about not being able to
|
||
form links. I tried to do the links myself, but it still failed).
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
Nap time...
|
||
|
||
That was relaxing. I realized I'd been able to compile at the
|
||
office, where it was all the same setup, so I could play with
|
||
"make install" at home and see what I could do.
|
||
|
||
While I was connected to work, I had the idea to try "wish" from
|
||
the compiled directory at work. IT WORKED! Headway at last! (Did I
|
||
also mention that I'm sometimes a bit slow?) But I've got this
|
||
really ugly hierarchy of files to my compiled copy of 'wish', and
|
||
I don't know what it's going to look for. Copy to my home machine.
|
||
|
||
Here's the part where things go quickly.
|
||
|
||
On the home machine, I set up the directory structure I had at
|
||
work and untarred the files. Now I've got a working copy of wish
|
||
and tclsh.
|
||
|
||
I created a 'bin' directory off my home directory and copied
|
||
'wish' and 'tclsh' into that directory. I also copied the two
|
||
'lib' files "libtcl7.5.a" and "libtk4.1.a" into the bin directory.
|
||
I don't know where they really go, but this place makes good
|
||
sense.
|
||
|
||
So I run 'wish' from there. Error message - unable to load
|
||
'libtcl' from a list of directories. I'm not sure what they all
|
||
were, but one was '~/library'. Since it worked from
|
||
~/tcl/tk4.1/unix, I just copied the '~/tcl/tk4.1/library'
|
||
directory to '~/library', and then copied '~/tcl/tcl7.5/library'
|
||
to '~/library'.
|
||
|
||
Now wish ran with the right version. Delete the ~/tcl structure
|
||
(backup just in case!) and it worked. Good enough. I played with
|
||
my working install of tcl/tk quite happily the rest of the day.
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
But during the night...
|
||
|
||
"I've got to set it up to work better!"
|
||
|
||
So, I get to work and get 'wish' to give me an error message - it
|
||
complained that the 'init.tcl' was not found in
|
||
'/usr/local/lib/tcl7.5'.
|
||
|
||
Okay. I went to '~/tcl/tcl7.5/library' and copied the files I
|
||
found there to '/usr/local/lib/tcl7.5' (a directory which I had to
|
||
create, by the way).
|
||
|
||
Run 'wish' again, and this time it complains about 'tk.tcl' not
|
||
being found in '/usr/local/lib/tk4.1'. I'd expected something like
|
||
that. So, create '/usr/local/lib/tk4.1' and 'cp
|
||
~/tcl/tk4.1/library/* /usr/local/lib/tk4.1'. And it worked!
|
||
|
||
Then 'cp ~/tcl/tcl7.5/unix/tclsh /usr/bin/tclsh7.5' and 'cp
|
||
~/tcl/tl4.1/unix/wish /usr/bin/wish4.1'. Go to ~ and run
|
||
'wish4.1'. It worked again! Good, create the link 'ln -sf
|
||
/usr/bin/wish4.1 /usr/bin/wish' and 'ln -sf /usr/bin/tclsh7.5
|
||
/usr/bin/tclsh'
|
||
|
||
Try it again; 'wish' - and success!
|
||
|
||
Things I found out:
|
||
|
||
+ In Red Hat 2.1, the tcl/tk libraries are in /usr/lib, but the
|
||
upgrade looks for stuff in /usr/local/lib. Can anybody
|
||
explain this relationship to me?
|
||
|
||
+ The script '~/tcl/tcl7.5/unix/configure' has a pair of
|
||
options: --prefix and --exec-prefix. They have something to
|
||
do with where tcl/tk expect things to be. Anybody know
|
||
exactly what?
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
Short Summary:
|
||
|
||
|
||
|
||
Get ftp://ftp.sunlabs.com/pub/tcl/tcl7.5p1.tar.gz and tk4.1p1.tar.gz
|
||
'gunzip' them and 'tar xvf' them
|
||
|
||
'cd ./tcl7.5/unix'
|
||
'configure'
|
||
'make'
|
||
'make install'
|
||
'cd ../..'
|
||
'cd ./tk4.1/unix'
|
||
'configure'
|
||
'make'
|
||
'make install'
|
||
|
||
cd ../..
|
||
'cp ./tk4.1/unix/wish /usr/bin/wish4.1'
|
||
'cp ./tcl7.5/unix/tclsh /usr/bin/tclsh7.5'
|
||
'ln -sf /usr/bin/wish4.1 /usr/bin/wish'
|
||
'ln -sf /usr/bin/tclsh7.5 /usr/bin/tclsh'
|
||
'mkdir /usr/local/lib/tcl7.5'
|
||
'mkdir /usr/local/lib/tk4.1'
|
||
'cp ./tcl7.5/library/* /usr/local/lib/tcl7.5'
|
||
'cp ./tk4.1/library/* /usr/local/lib/tk4.1'
|
||
|
||
|
||
At this point, I'm pretty sure 'wish' will work. But no
|
||
guarantees.
|
||
|
||
And there will also be a bunch of files left over from any
|
||
previous installation of TCL/TK. Maybe someday I'll clean them up.
|
||
Probably not till I get the new Red Hat 4, tho...(I've got to
|
||
remember to tar & gzip my 'home' tree before that install!)
|
||
|
||
Earl
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] "Linux Gazette...making Linux just a little less scary! " [IMAGE]
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE]
|
||
|
||
WELCOME TO THE LINUX WEEKEND MECHANIC!
|
||
|
||
Published in the November Edition of the Linux Gazette (#11)
|
||
|
||
Copyright (c) 1996 John M. Fisk <fiskjm@ctrvax.vanderbilt.edu>
|
||
The Linux Gazette is Copyright(c) 1996 Specialized Systems
|
||
Consultants Inc.
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
You've made it to the weekend and things have finally slowed down.
|
||
You crawl outa bed, bag the shave 'n shower 'cause it's Saturday,
|
||
grab that much needed cup of caffeine (your favorite alkaloid),
|
||
and shuffle down the hall to the den. It's time to fire up the
|
||
Linux box, break out the trusty 'ol Snap-On's, pop the hood, jack
|
||
'er up, and do a bit of overhauling!
|
||
|
||
[IMAGE] Time to become the Linux Weekend Mechanic!
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
Table of Contents
|
||
|
||
|
||
+ And Just What Is the Linux Weekend Mechanic?
|
||
+ The Talk About Town...
|
||
+ The Shop Manual: More tar Tricks!
|
||
+ The Shop Manual: Basic File Information
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] And Just What Is the Linux Weekend Mechanic...?
|
||
|
||
|
||
|
||
Glad you asked... :-)
|
||
|
||
After a very busy year creating, writing, editing, proofing, and
|
||
producing the first eight issues of the Linux Gazette I'm happy to
|
||
say that it's been turned over to the kind folks at the Linux
|
||
Journal who will be continuing its production. My special thanks
|
||
to Phil Hughes, the producer of the Linux Journal who first
|
||
broached the subject of taking over the Gazette when the time
|
||
commitment was getting out of hand, AND to Marjorie Richardson,
|
||
the new editor of the Gazette whose wit and wisdom should ensure
|
||
that the LG will continue to flourish.
|
||
|
||
And now that someone else is doing the day to day management of
|
||
the Gazette I'm back to reading, writing, and tinkering -- and
|
||
this is what the Weekend Mechanic is all about.
|
||
|
||
I'd like to try to put together a monthly column for the Gazette
|
||
that deals with customizing and running Linux on a personal,
|
||
stand-alone (i.e., not directly networked) PC. The scope of topics
|
||
may include things such as:
|
||
+ Shell Programming
|
||
+ Shell Customizations
|
||
+ Program Reviews
|
||
+ Useful Utilities
|
||
+ Simple Tcl/Tk Scripting
|
||
+ Dial-Up PPP Setup and Tips
|
||
+ And so forth...
|
||
|
||
|
||
Basically, it covers the topics that I've found interesting using
|
||
Linux on my PC at home -- I've got a shiny new Cyrix P-166+
|
||
machine as of August of this year and have 'Net access via a
|
||
dial-up PPP connection. So, since I'm writing from my own
|
||
experiences, you can anticipate the types of topics I'd likely be
|
||
covering. I should add one important proviso: Keep in mind that
|
||
many of the suggestions and ideas are NOT useful or recommended
|
||
in a networked or multi-user setting in which security is an
|
||
issue!!
|
||
|
||
Let me say this another way:
|
||
|
||
Caveat Emptor!
|
||
|
||
Because I have a stand alone box and a wife who absolutely hates
|
||
using computers I'm the only one that has physical access to my
|
||
machine. For this reason, security is not something that I've had
|
||
to deal with. However, at MTSU, where I'm currently in school, we
|
||
use both HP-UX machines and a number of P-133 machines running Red
|
||
Hat 3.0.3 Linux with the 2.0 kernel upgrade. Security on these
|
||
Linux boxes has been a VERY REAL issue of late -- if you're
|
||
running Linux and someone else has potential access to your
|
||
machine you'd be well advised to think twice before trying
|
||
everything I might suggest. That's not to put a damper on anyone's
|
||
enthusiasm, but having one's system hacked is a serious bummer.
|
||
|
||
And now that that's been said, I really do hope that the
|
||
information here will be useful or helpful. The more I use Linux
|
||
the more I'm amazed at its depth and breadth and the range of
|
||
tools and programs that are available. It is seriously fun!
|
||
|
||
For this reason, I've decided to use the "Weekend Mechanic" motif.
|
||
Thing is, if you're running Linux you've undoubtedly discovered
|
||
that it takes more time to set up, configure, and fine-tune than
|
||
most shrink-wrapped OS's. It's a "high needs" OS. Now, you could
|
||
use one of those fancy-shmancy off-the-shelf Brand X OS's, but the
|
||
question you have to ask yourself is...
|
||
|
||
Do you really want to be see hanging around an OS that looks like
|
||
it comes with training wheels...?!!
|
||
|
||
I don't think so... ! ;-)
|
||
|
||
So, if you're one of those "I'd rather have a '68 Pontiac with a
|
||
big block V8, Rochester QuadraJet, Dualies, and a box of
|
||
Snap-On's than anything else" kind of folks...
|
||
|
||
Relax, you're in the right place. Welcome aboard :-)
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] The Talk About Town...
|
||
|
||
|
||
|
||
For anyone who's been regularly reading the comp.os.linux.*
|
||
hierarchy you'll realize that there's been a LOT happening
|
||
recently within the Linux community. Here's just a smattering of
|
||
some things that you might find interesting as well as other
|
||
odds-n-ends.
|
||
|
||
Oh, and BTW...
|
||
|
||
[IMAGE] Happy Halloween! [IMAGE]
|
||
|
||
And now, back to the news...
|
||
|
||
[IMAGE] CALDERA TO RELEASE SOURCE CODE FOR DR DOS, CP/M, NOVELL DOS, AND
|
||
PALMDOS
|
||
|
||
|
||
Yup, you read that right!
|
||
|
||
Caldera has announced that it is in the process of a planned
|
||
release of source code for DR DOS, CP/M, Novell DOS, and PalmDOS
|
||
AND the beginning of a project which they are calling OpenDOS. The
|
||
announcement stated a tentative date of the first quarter of 1997
|
||
for this to occur. Drop by and have a look. I think you'll find it
|
||
interesting.
|
||
|
||
If you've got the hard drive space and want to do a bit of hacking
|
||
away at something new, here's an interesting opportunity.
|
||
|
||
[IMAGE] DID YOU KNOW THAT THERE'S A "FREEDOS" PROJECT UNDERWAY...?
|
||
|
||
|
||
Yup, there's a group working on a freely available version of a
|
||
DOS-like OS. You can find out more on what they're doing, how to
|
||
get a copy of the current version, and how to contribute to this
|
||
effort by checking out the FreeDOS home page at
|
||
sunsite.unc.edu/pub/micro/pc-stuff/freedos/freedos.html.
|
||
|
||
And speaking of new toys...
|
||
|
||
[IMAGE] STAROFFICE AND ADOBE BETA SOFTWARE FOR LINUX!
|
||
|
||
|
||
StarOffice, a German software developer, has recently announced a
|
||
freely available beta version of its StarOffice suite of
|
||
productivity applications for the Linux OS. This is a seriously
|
||
cool application suite that has a LOT of high end features. One
|
||
caveat: you'll need a copy of the Motif libraries in order to run
|
||
these applications. If you don't have motif, then you might want
|
||
to try some gentle arm-twisting to see whether the folks at
|
||
StarOffice would release a statically-linked version.
|
||
|
||
For those of you with Motif, you can get the installation "disk
|
||
sets" at any sunsite mirror such as:
|
||
|
||
GA Tech's FTP Linux Archive
|
||
|
||
in their /pub/linux/apps/staroffice/ directory. Also, Adobe has
|
||
just announced a beta version of their Adobe Acrobat 3.0 reader
|
||
for the Linux OS. You can find out the particulars of how to
|
||
obtain a copy at:
|
||
|
||
ADOBE's WWW site
|
||
|
||
in their /acrobat/readstep.html page. I just got a copy of this
|
||
and the installation was a breeze. At least on my system, load
|
||
time was about what all motif-based apps tend to be (read:
|
||
"somewhat slow") but performance thereafter was really quite good.
|
||
|
||
|
||
If you're interested in having a peek at a screen shot with one of
|
||
the distributed pages, here's a look at it:
|
||
|
||
ADOBE Acrobat 3.0 screen dump (~40K) 810x630
|
||
|
||
Keep in mind that the official stance is that it is only supported
|
||
under the Yggdrasil Fall '95 Linux distribution. However, under my
|
||
'ol Slackware '96 it runs just fine... Also, you'll notice the
|
||
subtle subliminal message in the titlebar... :-)
|
||
|
||
And speaking of distributions...
|
||
|
||
[IMAGE] SLACKWARE '96 IS OUT AND RED HAT REMBRANDT IS ON ITS WAY!
|
||
|
||
|
||
Now that the Linux kernel 2.0 is out and, for most folks, ELF is
|
||
in, you'll find a number of much-awaited distributions with the
|
||
2.0 kernel and necessary development utilities. If you've been
|
||
waiting to upgrade then now's the time!
|
||
|
||
There is a growing number of very good Linux distributions
|
||
available, many of which now incorporate the recent kernel and
|
||
development set upgrades. I've just installed Slackware '96 (AKA
|
||
Slackware 3.1) which I received from the folks at
|
||
|
||
Walnut Creek
|
||
|
||
who are the official distributors of Slackware Linux. Since it was
|
||
also my birthday recently my wife just got me a copy of the
|
||
August, 1996 Linux Developer's Resource 6-CD Set from
|
||
|
||
InfoMagic
|
||
|
||
Both of these are VERY nice sets that run in the $25 - $40 range
|
||
and include a boatload of program sources from the usual linux FTP
|
||
archive sites (sunsite.unc.edu, tsx-11.mit.edu, prep.ai.mit.edu,
|
||
and so forth). Those of you who are on the monthly Mo' Linux
|
||
mailing from
|
||
|
||
Pacific HiTech
|
||
|
||
will have just gotten a copy of the Slackware '96 CD with the
|
||
September edition of Mo' Linux. Pacific HiTech (PHT) has a VERY
|
||
nice service which offers a monthly CD full of all kinds of
|
||
goodies including the most recent kernel sources, new programs and
|
||
updates from Sunsite's Incoming dir, the latest GNU stuff
|
||
including GCC and its accessories, and so forth. They take special
|
||
requests and have recently included things such as the huge Perl
|
||
archives, Tcl/Tk archives, Python archives, the Java Development
|
||
Kit (JDK), and so forth. Also, there are regular Red Hat RPM and
|
||
SRPM updates each month for those running Red Hat systems.
|
||
|
||
And keep in mind that Red Hat's Rembrandt just hit beta release!
|
||
This is their kernel 2.0 version and should be ready for regular
|
||
release soon! You can get a copy of Rembrandt beta at the
|
||
|
||
Red Hat WWW site
|
||
|
||
as well as find all kinds of nifty info and links in their "Linux
|
||
Info" page.
|
||
|
||
Since Christmas is just around the corner, I'm thinking about
|
||
writing up a small "Wish List" of tools and toys that you might
|
||
want to put on your Beloved's "Get For Me List". The small hoard
|
||
of books and CD's on the bookshelf is growing -- next month I'd
|
||
like to do a short piece on things that I've found useful. *YMMV.
|
||
|
||
*YMMV: "Your Mileage May Vary"
|
||
|
||
[IMAGE] HERE'S THE PATCH FOR THE SYSKLOG BUG IN SLACKWARE '96
|
||
|
||
|
||
Those of you who've just installed Slackware 3.1 may have run
|
||
into the same rather frustrating bug in the sysklog package that I
|
||
did. After a recent installation, I found that syslogd would dump
|
||
core after running pppd. About that time, postings to
|
||
comp.os.linux.setup and misc suggested that this was a problem
|
||
with the distribution and not with the hardware I was running.
|
||
|
||
So, after a request for help to Dr. Greg Wettstein, the maintainer
|
||
of the sysklog package, I received the following patch from him
|
||
that remedied the situation. For those of you needing this, you
|
||
can get a copy of the message which Greg sent. Just load it and
|
||
save it to disk as a text file. You'll also need a copy of the
|
||
sysklog sources to recompile the program. Here's what you'll need:
|
||
|
||
|
||
Sysklog patch from G. Wettstein (~70K)
|
||
|
||
MANY thanks to Greg W. and the rest of the folks who've worked on
|
||
this program.
|
||
|
||
I mentioned in the above announcement about StarOffice that you'll
|
||
need a copy of the motif libraries to run this product (at least
|
||
while it is distributed as shared-library executables). I really
|
||
want to put in a good word for the folks at Red Hat Software Inc.
|
||
and for their version of Red Hat Motif 2.0.
|
||
|
||
When I went to the Linux Expo '96 this past April, I had a
|
||
seriously fun time meeting folks, chatting, perusing the various
|
||
book and vendor tables, and sitting in on the various talks. If
|
||
you missed it this past year and you can drive, fly, Amtrak, run,
|
||
jog, walk, or crawl your way to Raleigh, North Carolina next
|
||
Spring, then you won't want to miss it!! I don't know for sure if
|
||
they're planning another Expo, but if so, you really don't want to
|
||
miss it.
|
||
|
||
Anyway, while I was there I bought a copy of Red Hat Motif 2.0 and
|
||
have been using it ever since. Now, I know that one of the FAQ's
|
||
to the various comp.os.linux.**** groups is "HELP! Which Motif
|
||
should I get?!!", or something to that effect. There usually
|
||
ensues a modestly impassioned discussion about the merits and
|
||
drawbacks of one's recent Motif purchase.
|
||
|
||
For the record, I'd like to say that I've been extraordinarily
|
||
pleased with this product. It comes with a very complete User's
|
||
Manual which covers installation and configuring the Motif Window
|
||
Manager (mwm). The CD also contains the Motif libraries,
|
||
development tools, and documentation in both *.tar.gz format and
|
||
as RPM's.
|
||
|
||
Installation was a breeze using rpm version 2.0 and I've been
|
||
compiling motif stuff without a hitch ever since. This includes
|
||
programs such as mosaic, plan, llnlXFtp, llnlXDir, xtar,
|
||
xmcalendar, xmdiary, XEmacs, GVim, and so forth. Compiling with
|
||
the Motif libs has been completely transparent and using shared,
|
||
pre-compiled binaries (such as StarOffice) has been flawless.
|
||
|
||
At a time when there has been a LOT of negative press towards a
|
||
variety of individuals and institutions, let me offer a very
|
||
heartfelt positive comment:
|
||
|
||
To the folks at Red Hat, thanks for a VERY nice product!
|
||
|
||
(FYI, I just got a copy of the most recent flyer from Surplus
|
||
Direct, a distributor of, you guessed it..., surplus hardware and
|
||
software. On page 17 of the flyer they offer the Red Hat's MOTIF
|
||
for LINUX V2.0 CD for $99.99. Not a bad deal... :-) You can call
|
||
them at 1-800-753-7877 U.S. or 541-387-6000 International. They
|
||
even have a nifty web page which you can check out at
|
||
http://www.surplusdirect.com)
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] More tar Tricks!
|
||
|
||
|
||
|
||
OK, ready for a quiz...? Close your books, put away your notes,
|
||
and answer the following question:
|
||
|
||
Without looking at the man page, (a) What does the following
|
||
command do? and (b) Why on earth would you use it in the first
|
||
place?
|
||
|
||
tar -tvzf file.tar.gz |tr -s ' ' |cut -d ' ' -f8 |less
|
||
|
||
|
||
Don't peek...!
|
||
|
||
(If this were a REAL web page, you'd click on a tiny icon of a
|
||
music box and have it do RealAudio of that jingle from Jeopardy
|
||
while an accompanied set of animated icons amuses you. But since
|
||
I'm not that bright, you'll have to hum quietly to yourself and
|
||
decide when you're tired of waiting... :-)
|
||
|
||
Figured it out?
|
||
|
||
If you guessed that it uses tar to do an archive listing on a
|
||
tar'd and GNU gzip'd archive, then you'd be warm.
|
||
|
||
If you guessed that it uses tar to do an archive listing on a
|
||
tar'd and GNU gzip'd archive and then piped the output to the GNU
|
||
tr utility which would translate multiple instances of the space
|
||
character into a single space character, then you'd be even
|
||
warmer.
|
||
|
||
If you guessed that it uses tar to do an archive listing on a
|
||
tar'd and GNU gzip'd archive and then piped the output to the GNU
|
||
tr utility which would translate multiple instances of the space
|
||
character into a single space character and then pipe that output
|
||
to the GNU cut utility which would use that single space as a
|
||
field delimiter and then print only the data in field 8, then
|
||
you'd be hot.
|
||
|
||
And if you guessed that it uses tar to do an archive listing on a
|
||
tar'd and GNU gzip'd archive and then piped the output to the GNU
|
||
tr utility which would translate multiple instances of the space
|
||
character into a single space character and then pipe that output
|
||
to the GNU cut utility which would use that single space as a
|
||
field delimiter and then print only the data in field 8 and then
|
||
output all of that to the less pager so that you could view,
|
||
search, edit, and optionally print the output, then you, my friend
|
||
get to...
|
||
|
||
Go to the head of your class! :-)
|
||
|
||
Actually, I wouldn't have been able to guess this without peeking
|
||
a bit, so don't feel bad if you didn't guess all of it correctly.
|
||
But this answer only gives the answer to part (a). The real
|
||
question you have to ask yourself is, "Why on earth would you do
|
||
this in the first place?"
|
||
|
||
Good question.
|
||
|
||
I'll get to that in a moment, but first, let me ask a simple
|
||
question: "How do you know what's actually inside a tar or
|
||
tar+gzip archive without actually unarchiving it?" Now, you can
|
||
always unarchive a tar.gz file and have a look at things but what
|
||
if you really only wanted to see what was in it or just look at a
|
||
single file in the archive. What do you do then?
|
||
|
||
The answer lies, at least in part, with our funky little command
|
||
line above.
|
||
|
||
Let's see what we can do with this.
|
||
|
||
The first thing you've all probably realized is that tar has a
|
||
bazillion or so command line arguments so you can do almost
|
||
anything with it. As you've guessed, using the "-t" option
|
||
displays a listing of the files in the archive. If the archive has
|
||
been compressed, then using the "-z" option will automatically
|
||
uncompress the archive.
|
||
|
||
So far, so good.
|
||
|
||
Thing is, what you want to do is actually look at one of the files
|
||
in that archive. Say you wanted to have a peek at the README file
|
||
that came with some program. Seems silly to have to unarchive an
|
||
entire (potentially HUGE) file just to see one item. Those of you
|
||
who've used tar for a while will realize where I'm going with
|
||
this. You see, another one of tar's nifty little options is the
|
||
"-O" (which can also be invoked as --to-stdout) which causes tar
|
||
to send the output directly to standard output: generally, your
|
||
computer terminal. This is what we need to use to get a look at
|
||
some file in the archive -- we'll have tar send it to stdout so we
|
||
can view it. That way, we won't need to unarchive the file.
|
||
|
||
The other piece of the puzzle involves how you get tar to
|
||
unarchive a specific file within an archive. Again, you manual
|
||
page readers will know that this is done by simply appending the
|
||
filename(s) to the end of the argument. Now in case I'm starting
|
||
to lose any of you, here's an example which should help clear
|
||
things up.
|
||
|
||
Say that I have some archive such as the a2ps program (which does
|
||
ASCII -> PostScript conversion, BTW). To get a listing of the
|
||
files in the archive all I have to do is:
|
||
|
||
tar -tvzf a2ps-4.5.23.src.tar.gz
|
||
and this gives me the following output:
|
||
|
||
drwxr-xr-x 11714/117 0 Sep 5 11:38 1996 a2ps-4.5.23/
|
||
-rw-r--r-- 11714/117 7721 Sep 5 11:38 1996 a2ps-4.5.23/INSTALL
|
||
-rw-r--r-- 11714/117 2281 Sep 5 11:38 1996 a2ps-4.5.23/README
|
||
-rw-r--r-- 11714/117 1429 Sep 5 11:38 1996 a2ps-4.5.23/TODO
|
||
-rwxr-xr-x 11714/117 4773 Sep 5 11:38 1996 a2ps-4.5.23/install-sh
|
||
-rw-r----- 11714/117 3576 Sep 5 11:38 1996 a2ps-4.5.23/Makefile.in
|
||
-rw-r--r-- 11714/117 907 Sep 5 11:38 1996 a2ps-4.5.23/config.h.in
|
||
-rwxr-xr-x 11714/117 47767 Sep 5 11:38 1996 a2ps-4.5.23/configure
|
||
-rw-r----- 11714/117 1415 Sep 5 11:38 1996 a2ps-4.5.23/configure.in
|
||
-rw-r--r-- 11714/117 81240 Sep 5 11:38 1996 a2ps-4.5.23/a2ps.c
|
||
-rw-r----- 11714/117 70081 Sep 5 11:38 1996 a2ps-4.5.23/a2ps.h
|
||
-rw-r--r-- 11714/117 15348 Sep 5 11:38 1996 a2ps-4.5.23/afm.h
|
||
-rw-r--r-- 11714/117 10482 Sep 5 11:38 1996 a2ps-4.5.23/a2ps.man
|
||
So now, let's say that I want to have a look at what's in the README
|
||
or the INSTALL file; well, now that you know that you send the
|
||
output of tar to stdout you know you're golden! All you'd need to
|
||
do is something like:
|
||
|
||
tar -xvzOf a2ps-4.5.23.src.tar.gz a2ps-4.5.23/README
|
||
And, voila!, there's your file. The astute will immediately comment
|
||
that piping that output to a pager such as more or less makes a
|
||
lot more sense because now you can actually read more than just
|
||
the last screen full of text.
|
||
|
||
Note, too, that the basic command line was (in pseudocode):
|
||
|
||
tar -options archive.tar.gz path/fileToView
|
||
Notice that you have to include the "a2ps-4.5.23/" portion and NOT
|
||
just the name of the file.
|
||
|
||
So, now we're getting somewhere!
|
||
|
||
You can use the tar -tvzf FILENAME.tar.gz command line to get a
|
||
directory listing of a tar archive and then use something like:
|
||
|
||
tar -xvzOf a2ps-4.5.23.src.tar.gz a2ps-4.5.23/README |less
|
||
to actually view the file -- the tar file is intact, nothing is
|
||
unarchived to disk, and you fingers never leave your hand!
|
||
|
||
And now, let's pick up on our original question once again. Here's
|
||
where that funky little command line becomes useful to use once
|
||
again.
|
||
|
||
Those of you who've done a bit of shell programming know that,
|
||
fundamentally, every programmer is lazy at heart. That is to say,
|
||
shell scripts are a VERY convenient way of saving yourself the
|
||
bother of typing the same commands over and over again -- and this
|
||
is one of those places where this is handy.
|
||
|
||
Now that you know how to view a file from within a tar file
|
||
without ever unarchiving the entire file, wouldn't it be handy to
|
||
set up a shell script to do just that...?
|
||
|
||
You know I wouldn't have asked this if I didn't already have an
|
||
answer in mind... eh?
|
||
|
||
Well, this is one of those things that I've started toying around
|
||
with in the past couple days and while I haven't gotten anything
|
||
written yet, that nifty little tar command at the top is part of
|
||
the solution. You see, it would be quite handy to be able to do a
|
||
listing of a tar archive, select one or more of the files, and
|
||
then view them. The thing is, as I mentioned before, you have to
|
||
give tar the full name of the file you wish to view -- including
|
||
any path information. That is, if you'd tried to do:
|
||
|
||
tar -xvzOf a2ps-4.5.23.src.tar.gz README |less
|
||
you'd have gotten an error message because there's no README file in
|
||
the archive -- there is the file a2ps-4.5.23/README. See the
|
||
difference? You have to have the a2ps-4.5.23/ prefix for tar to
|
||
work correctly.
|
||
|
||
So, can you think of a way to take the output of tar -- the file
|
||
listing -- and generate a listing of just the filenames which you
|
||
can pass back to tar. Again, remember that it has to include the
|
||
entire path+name but cannot be the entire line, such as:
|
||
|
||
-rw-r--r-- 11714/117 2281 Sep 5 11:38 1996 a2ps-4.5.23/README
|
||
Somehow, we've got to strip away all the leading stuff and get only to
|
||
the a2ps-4.5.23/README entry. So let's cut to the chase.
|
||
|
||
One way to do this is using the method I mentioned above: using
|
||
tar with the "-t" option displays a file listing. Next, you can
|
||
use cut to access a single a column of data because, as you've all
|
||
noticed, there are 8 fields of information in the above listing:
|
||
|
||
PERMISSIONS GROUP/USER SIZE MONTH DAY HR:MIN YEAR PATH/FILENAME
|
||
Now, you'll also notice that these are separated by a space and so you
|
||
should be able to use this as a field separator. But if you try
|
||
something like:
|
||
|
||
tar -tvzf a2ps-4.5.23.src.tar.gz |cut -d ' ' -f8
|
||
what you end up with is:
|
||
|
||
7721
|
||
2281
|
||
1429
|
||
4773
|
||
3576
|
||
|
||
Sep
|
||
1415
|
||
Sep
|
||
Sep
|
||
Sep
|
||
Sep
|
||
So what went wrong!?
|
||
|
||
Well, we used a space character as the field delimiter which was
|
||
the correct thing to do. But have a look at the actual file
|
||
listing. Notice that there is a single space between most, but not
|
||
all, of the fields. Between the group/user field and the size
|
||
field there is a variable number of spaces and there appears to be
|
||
two spaces between SEP and 5. So, cut dutifully used a single
|
||
space character as the field separator, but the result wasn't'
|
||
what we expected.
|
||
|
||
Hmmm... now what...?
|
||
|
||
Well, there's another little mentioned but VERY useful utility
|
||
called tr. It's a seriously handy little item that does, among
|
||
other things, character translation. In this case, we can use it
|
||
to truncate a series of one or more spaces into a single space
|
||
(and THEN, cut should work correctly!).
|
||
|
||
Now, is the light dawning? :-)
|
||
|
||
We use tar to get the file listing, tr to truncate all the
|
||
extraneous spaces into a single space character, and then pipe the
|
||
whole thing through cut to get just the fields that we want. Doing
|
||
this on the a2ps file, we get:
|
||
|
||
a2ps-4.5.23/
|
||
a2ps-4.5.23/INSTALL
|
||
a2ps-4.5.23/README
|
||
a2ps-4.5.23/TODO
|
||
a2ps-4.5.23/install-sh
|
||
a2ps-4.5.23/Makefile.in
|
||
a2ps-4.5.23/config.h.in
|
||
a2ps-4.5.23/configure
|
||
a2ps-4.5.23/configure.in
|
||
a2ps-4.5.23/a2ps.c
|
||
a2ps-4.5.23/a2ps.h
|
||
a2ps-4.5.23/afm.h
|
||
a2ps-4.5.23/a2ps.man
|
||
|
||
|
||
Pretty slick, eh?
|
||
|
||
Now, we can pick any of these entries and if we pass them to tar
|
||
using the "-O" option then the file gets printed to stdout. Pipe
|
||
this output to less and we're golden!
|
||
|
||
A tar file viewer!
|
||
|
||
So why mention all of this?
|
||
|
||
Well, first, because I'm toying around with ideas for a shell
|
||
script that will do just this -- write a small program that will
|
||
let me view individual files from a tar.gz archive. I've got a
|
||
couple ideas floating around and may try using the dialog program
|
||
for a console UI, or I might just go ahead and try this using
|
||
tcl/tk.
|
||
|
||
Second, I do this to point out one of the beauties of using Linux
|
||
(or any UNIX type OS) and that is the use of pipes to connect any
|
||
number of the myriad of utilities together into a powerful
|
||
command. Using four programs and a bunch of pipes, we've seen how
|
||
we can easily ready any file within a tar archive without having
|
||
to uncompress the entire thing.
|
||
|
||
That is seriously cool!
|
||
|
||
Anyway, I've just started playing with this. Let me quickly
|
||
mention, for those of you who already know and are waving your
|
||
cyberhands in the air, that there is a very easy way to manipulate
|
||
tar.gz files already -- and it's with a program that MOST Linux
|
||
distributions already install: Midnight Commander.
|
||
|
||
I cannot say enough good things about this program. I'm honestly
|
||
not much of a file manager type user -- I really do prefer the
|
||
command line for most file and directory operations. But, mc is
|
||
different. I have absolutely fallen in love with this. It's very
|
||
well designed, is quite mature, has a boatload of nifty features,
|
||
AND it'll let you easily view and copy files from a tar.gz archive
|
||
using its VFS (virtual file system).
|
||
|
||
I've been wanting to do a write up on MC now for, quite literally,
|
||
months and just haven't had the time to write a decent article --
|
||
one that really does it justice. Anyway, for those of you who are
|
||
interested, all you have to do to access a tar.gz file is fire up
|
||
mc, select the tar.gz file and either double click on it (if
|
||
you're running gpm and have mouse support) or hit RETURN and it'll
|
||
automatically unarchive the file into a VFS from which you can
|
||
browse the archive just as though it were installed on your
|
||
harddrive.
|
||
|
||
The other application that'll let you do this is the xtar program
|
||
-- a motif based app that I recently came across at the ftp.x.org
|
||
archive. I honestly haven't seen this at sunsite or tsx-11 and I
|
||
don't know that I've seen it any of the usual Linux distributions
|
||
either. It's a VERY nice little app that let's you browse and view
|
||
tar.gz archives.
|
||
|
||
Anyway, try out mc or xtar if you want tar.gz browsing right now.
|
||
But, let's see if we can't figure out a way to do something like
|
||
this using shell scripting or tcl/tk. I'll let the interested work
|
||
on this and, if I have any successes myself, I'll write this up in
|
||
next month's issue.
|
||
|
||
Til then, Happy Scripting!
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] Basic File Information
|
||
|
||
|
||
|
||
OK, quick question:
|
||
|
||
Can you name 5 tools or utilities which you can use to get
|
||
information about a file?
|
||
|
||
I'm sure you can if you give it a bit of thought. You see, most of
|
||
the time, if you've installed a system yourself then you have a
|
||
pretty good idea about what's on it and (hopefully...) where
|
||
things are. But what if you come across a cryptically named file
|
||
(Hmmm... fancy that on a UNIX system... :-) in your /usr/bin
|
||
directory and want to get a bit of information about it. Or, what
|
||
if you know what it is that you're looking for, but just can't
|
||
find it!
|
||
|
||
Ok, so let's talk about a couple tools you can work with to get
|
||
basic file information.
|
||
|
||
The one's that I was thinking about included:
|
||
|
||
+ ls
|
||
+ file
|
||
+ type & which
|
||
+ find & locate
|
||
+ ldd
|
||
|
||
|
||
Now, there are others, I'm sure, but these five basic utilities
|
||
(seven if you count similar ones) will go quite a ways towards
|
||
helping you get a handle on what's on your system.
|
||
|
||
A LOOK AT LS
|
||
|
||
|
||
Anyone's who's used Linux for more than..., Hmmm... about a day or
|
||
so, has run across ls which does a directory listing. And, if
|
||
you've ventured a peek at its manual page, your first reaction may
|
||
have been one of incredulity at the bewildering number of command
|
||
line options. Fear not. You really only need a couple of these on
|
||
a routine basis (these are your friends) and the rest of these let
|
||
you do all kinds of groovy and interesting things when you have
|
||
nothing else to do but play with your directory listings (these
|
||
are you great Aunt Fanny's half-sister's double cousin, twice
|
||
removed... you know they're around, you just have no earthly idea
|
||
as to what they do).
|
||
|
||
So, you know that if you want to get basic information about a
|
||
file, then the best place to start is with a directory listing.
|
||
Using the "-l" option gives you a long listing which includes the
|
||
file type (regular, directory, fifo, block, and so forth), number
|
||
of hard links, user name, group name, size in bytes, timestamp
|
||
(generally, the modification time), and the file name itself.
|
||
|
||
You also know, I'm sure, that adding the "-a" displays all files,
|
||
including all the so-called dot-files which begin with a period
|
||
(.) and which are normally not displayed in a directory listing.
|
||
|
||
Many Linux distributions also configure ls to use the "-F" option
|
||
which print a suffix after each file to indicate what its basic
|
||
type is:
|
||
+ "*" for regular files which are executable
|
||
+ "/" for directories
|
||
+ "@" for symbolic links ("symlinks")
|
||
+ "|" for FIFO's ("pipes" or "First In First Out")
|
||
+ "=" for sockets
|
||
+ nothing for regular files
|
||
|
||
|
||
So, just using humble 'ol ls can give you quite a bit of
|
||
information about your files. A couple of the more useful things
|
||
that you can do with ls include using the "-t" option which sorts
|
||
the directory contents by time. This is very useful if you happen
|
||
to be in a directory such as /usr/bin that has a LOT of files and
|
||
you're looking for something which you've recently added but can't
|
||
recall the name. Using "ls -lt" causes all the newest files to, as
|
||
it were, rise to the top of the list. If, however, you want to
|
||
list the latest files last, no problem, mon, just add the "-r"
|
||
option to the soup and you'll get a reversed listing by time
|
||
(i.e., "ls -ltr").
|
||
|
||
Yet another handy little option will let you find out when a
|
||
file's status was last changed. The status includes things such as
|
||
owner or group information or permissions. You can change these
|
||
things without actually modifying the file itself. Generally, the
|
||
time stamp indicates when a file was last modified, but if what
|
||
you want to see is when a file's status was last changed, then use
|
||
the "-c" option. Now, if you're wondering whether permissions or
|
||
user/group information has been changed recently, then use "ls
|
||
-ltrc" command to display the files which have changed status most
|
||
recently at the end of the listing.
|
||
|
||
Those are just a few of the things that you can do with ls. So, if
|
||
you're stuck at home on some rainy Saturday afternoon and are
|
||
tired of the Laverne And Shirley reruns, go amuse yourself -- read
|
||
the ls manual page, write down all the options, and try them all
|
||
out. At least there won't be commercial interruptions... :-)
|
||
|
||
USING FILE
|
||
|
||
|
||
Besides using ls with the "-F" option, there's another very handy
|
||
utility called file which gives you a indication of what a file
|
||
actually is.
|
||
|
||
Every now and then, someone posts a message to one of the
|
||
comp.os.linux groups asking about how they can determine whether a
|
||
file is a.out or ELF (or something else, for that matter). If you
|
||
really do have a mysterious file, then file is the utility for
|
||
you.
|
||
|
||
So, let's say that you've come across a file in your
|
||
/usr/local/bin directory called "d2utxt" and it beats the pants
|
||
off of you what this thing is. Well, you could try something like:
|
||
|
||
file /usr/local/bin/d2utxt
|
||
I've actually got that file on my system and when I run this (from
|
||
within VIM of course -- notice that my fingers never leave my
|
||
hand... :-) I get:
|
||
|
||
/usr/local/bin/d2utxt: Linux/i386 executable or impure executable (OMAGIC)
|
||
OK, that lets me know that it's some kind of executable. So is it ELF
|
||
or not? Well, let's run this on a file which I know is ELF and see
|
||
what happens:
|
||
|
||
file /usr/bin/vi
|
||
/usr/bin/vim: ELF 32-bit LSB executable i386 (386 and up) Version 1
|
||
So, there's your answer! It seems that the d2utxt program was, in
|
||
fact, a.out format and vim is in our now familiar ELF format. So,
|
||
if you're wondering what kind of executable format a file is in,
|
||
this is your solution. And keep in mind that file recognizes a LOT
|
||
more than simply executables. As an exercise, try running it on a
|
||
plain text file, a shell script, a *.dvi file, a postscript file,
|
||
a shared library file, and so forth. I won't go into the specifics
|
||
of how file works its magic (no pun intended... honest!) but if
|
||
you're interested, the manual page gives those details.
|
||
|
||
|
||
|
||
[IMAGE] Keep in mind that the file utility is a VERY useful tool to
|
||
have at your disposal when you're writing shell programs that depend
|
||
on knowing what a file's type is.
|
||
|
||
For example, suppose that you decide to write a shell script to
|
||
automate file printing. One of the things that your script will need
|
||
to know is what type of file you are working with. Tex, DVI,
|
||
PostScript, and plain text files get printed using quite different
|
||
programs. Here's an ideal situation in which the file program will
|
||
give you that information.
|
||
|
||
Again, convince yourself of this by running file against several
|
||
different file formats -- pretty impressive, eh?
|
||
|
||
FINDING EXECUTABLES WITH TYPE & WHICH
|
||
|
||
|
||
The next bit of information about a file that can often be quite
|
||
useful is a rather simple one: "Where is it??!!"
|
||
|
||
If you're trying to find an executable then this task is greatly
|
||
eased by use of either which or type (if you're using the BASH
|
||
shell). Either one of these will print the path to a give
|
||
executable -- assuming, that is, that it is in your PATH
|
||
statement. So, let's say that you wanted to find out where xdvi
|
||
was located. Now, you could probably guess, but let's just say
|
||
that you really were clueless and wanted to know. Well, if you
|
||
tried something like the following you could find out:
|
||
|
||
which xdvi
|
||
/usr/X11/bin/xdvi
|
||
|
||
type xdvi
|
||
xdvi is /usr/X11/bin/xdvi
|
||
Hmmm... that was pretty easy now, wasn't it? Both of these found our
|
||
file in the /usr/X11/bin/ directory and the output was pretty
|
||
similar. But before we call this an even draw, suppose that you
|
||
try to do something like this:
|
||
|
||
type tarx
|
||
tarx is aliased to `tar -xvzf'
|
||
|
||
type exec
|
||
exec is a shell builtin
|
||
Hmmm... interesting.
|
||
|
||
I won't give you the output that happens when I run which on
|
||
either of these because what happens is it prints an error message
|
||
that states that it couldn't find it in... and then prints the
|
||
entire search PATH. I'll let you try this one at home. Suffice
|
||
it to say that if you're running the BASH shell, then using type
|
||
gives you the added benefit of recognizing shell aliases and
|
||
builtins in addition to executables.
|
||
|
||
Very handy.
|
||
|
||
Another useful little item that type can do for you is find
|
||
duplicate executables. Now before you go scoffing, consider the
|
||
fact that it is VERY easy to do a bit of "Do-It-Yourself" system
|
||
upgrading and install a few programs. If you don't know that the
|
||
program which you are installing has already been installed (but
|
||
in a different directory) then you end up with two copies. So
|
||
which one gets executed?
|
||
|
||
Good question.
|
||
|
||
Presuming that you don't use absolute path names for executables
|
||
(e.g./usr/bin/vim) every time you want to start a program, then
|
||
whichever executable is found first in your PATH statement. So, if
|
||
you have two copies of elvis (one from an original installation
|
||
and one from a new compile and install) then the one that is found
|
||
first is executed.
|
||
|
||
And how, do you suppose, I know this...?
|
||
|
||
Believe me, I've done it :-)
|
||
|
||
And the results can be impressively frustrating.
|
||
|
||
Specifically, I had upgraded a version of Tcl/Tk a while back and
|
||
when I ran all my favorite tcl/tk apps I started getting weird
|
||
messages about version incompatibilities and so forth. So I
|
||
recompiled and reinstalled and still got those annoying error
|
||
messages. It was driving me crazy. Finally, I tried running type
|
||
and noticed that the wish executable wasn't where I thought I'd
|
||
installed it. The breakthrough came when I tried:
|
||
|
||
type -a wish
|
||
wish is /usr/local/bin/wish
|
||
wish is /usr/bin/wish
|
||
Ah Ha!!
|
||
|
||
You see, there had been an old copy of a previous version lying
|
||
around and I had simply forgotten to delete/rename it. The old
|
||
version was being found first but it was incompatible with the tcl
|
||
scripts I was using. Renaming the old version cleared things up.
|
||
|
||
So the moral of the story is that if want to ensure that you have
|
||
only one copy of a program in the search PATH, then use type -a.
|
||
|
||
FINDING FILES WITH FIND & LOCATE
|
||
|
||
|
||
OK, so now you know how to find executables... what if what you're
|
||
looking for is NOT an executable? What then?
|
||
|
||
Well, these next two utilities deserve an entire article (and, in
|
||
fact, got just that in one of the recent issues of the Linux
|
||
Journal. Both find and locate will allow you to search anywhere
|
||
in your system for a given file. For the time being, I'm going to
|
||
use a simple example.
|
||
|
||
Suppose that I'm looking for a certain configuration file for the
|
||
lynx program. I've discovered that lynx has a config file that
|
||
will let me set various options -- but I don't know where this is
|
||
located except that I have a hunch that it is somewhere in
|
||
/usr/local/. Great! To find it, all we have to do is:
|
||
|
||
find /usr/local -name lynx* -print
|
||
/usr/local/bin/lynx
|
||
/usr/local/lib/lynx
|
||
/usr/local/lib/lynx/lynx.cfg
|
||
/usr/local/lib/lynx/lynx.hlp
|
||
/usr/local/lib/lynx/lynx.man
|
||
/usr/local/lib/lynx/lynx_help_main.html
|
||
/usr/local/lib/lynx.cfg
|
||
/usr/local/lib/lynx.cfg.color
|
||
/usr/local/man/man1/lynx.1
|
||
/usr/local/src/INSTALLED/lynx2-5FM.color.ELF.tgz
|
||
/usr/local/src/Incoming/lynx2-6.tar.gz
|
||
/usr/local/src/Incoming/lynx2-6.color.ELF.tgz
|
||
/usr/local/doc/lynx
|
||
Yow! Bonanza!
|
||
|
||
So there we go... find not only located our lynx configuration
|
||
file but also found that there were duplicates! Interesting :-) So
|
||
how do we do this for any file? Well, the basic pattern is:
|
||
|
||
find -name -print
|
||
That is, the first argument is the directory from which to START
|
||
looking. Find will automatically traverse all the subdirectories
|
||
beneath this. So, if you wanted to scour your entire system, you
|
||
just invoke find as:
|
||
|
||
find / -name lynx* -print
|
||
|
||
|
||
The second argument is "-name" followed by the pattern of the file
|
||
name you're looking for. And finally, the "-print" option
|
||
specifies that find should print the results to stdout. Keep in
|
||
mind, though, that the GNU version of find doesn't need the
|
||
"-print" option -- it defaults to printing to standard out (your
|
||
terminal :-).
|
||
|
||
The other handy-dandy little tool is locate. If this has been set
|
||
up correctly (that is, that the database of files is routinely
|
||
updated) then it is a LOT faster to use than find if all you are
|
||
looking for is a particular file name!
|
||
|
||
To use it just invoke it as:
|
||
|
||
locate lynx
|
||
/home/fiskjm/.lynx-bookmarks
|
||
/home/fiskjm/.lynxrc
|
||
/usr/bin/lynx
|
||
/usr/doc/lynx
|
||
/usr/doc/lynx/about_lynx
|
||
/usr/doc/lynx/about_lynx/about_lynx-dev.html.gz
|
||
/usr/doc/lynx/about_lynx/about_lynx.html.gz
|
||
/usr/doc/lynx/about_lynx/COPYHEADER.gz
|
||
/usr/doc/lynx/about_lynx/COPYING.gz
|
||
/usr/doc/lynx/CHANGES.gz
|
||
/usr/doc/lynx/CHANGES2-3.gz
|
||
/usr/doc/lynx/CHANGES2-4.gz
|
||
/usr/doc/lynx/CMU.announce.gz
|
||
/usr/doc/lynx/CRAWL.announce.gz
|
||
/usr/doc/lynx/DESC.gz
|
||
/usr/doc/lynx/docs
|
||
/usr/doc/lynx/docs/README.html.gz
|
||
/usr/doc/lynx/docs/README.txt.gz
|
||
/usr/doc/lynx/docs/RFC-MAILCAP.txt.gz
|
||
/usr/doc/lynx/FM.announce.gz
|
||
/usr/doc/lynx/IBMPC-charsets.announce.gz
|
||
/usr/doc/lynx/INSTALLATION.gz
|
||
/usr/doc/lynx/lynx_help
|
||
/usr/doc/lynx/lynx_help/keystroke_commands
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/bookmark_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/dired_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/edit_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/gopher_types_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/history_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/keystroke_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/movement_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/option_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/other_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/print_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/scrolling_help.html.gz
|
||
/usr/doc/lynx/lynx_help/keystroke_commands/xterm_help.html.gz
|
||
/usr/doc/lynx/lynx_help/lynx_help_main.html.gz
|
||
/usr/doc/lynx/lynx_help/Lynx_users_guide.html.gz
|
||
/usr/doc/lynx/PROBLEMS.gz
|
||
/usr/doc/lynx/README.gz
|
||
/usr/doc/lynx/RELEASE_STATEMENT.gz
|
||
/usr/doc/lynx/samples
|
||
/usr/doc/lynx/samples/jumpsUnix.html.gz
|
||
/usr/doc/lynx/samples/jumpsVMS.html.gz
|
||
/usr/doc/lynx/samples/lynx.cfg.gz
|
||
/usr/doc/lynx/samples/lynx.com.gz
|
||
/usr/doc/lynx/samples/mailcap.gz
|
||
/usr/doc/lynx/samples/mime.types.gz
|
||
/usr/doc/lynx/SOCKETSHR.announce.gz
|
||
/usr/doc/lynx/TCPWARE.announce.gz
|
||
/usr/doc/lynx/userdefs.h.gz
|
||
/usr/doc/lynx/VMSWAIS.announce.gz
|
||
/usr/lib/lynx
|
||
/usr/lib/lynx/lynx.cfg
|
||
/usr/lib/lynx/lynx.hlp
|
||
/usr/local/bin/lynx
|
||
/usr/local/doc/lynx
|
||
/usr/local/doc/lynx/LynxUser.guide.gz
|
||
/usr/local/lib/lynx
|
||
/usr/local/lib/lynx.cfg
|
||
/usr/local/lib/lynx.cfg.color
|
||
/usr/local/lib/lynx/keystroke_commands
|
||
/usr/local/lib/lynx/keystroke_commands/bookmark_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/dired_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/gopher_types_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/history_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/keystroke_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/movement_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/option_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/other_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/print_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/scrolling_help.html
|
||
/usr/local/lib/lynx/keystroke_commands/xterm_help.html
|
||
/usr/local/lib/lynx/lynx.cfg
|
||
/usr/local/lib/lynx/lynx.hlp
|
||
/usr/local/lib/lynx/lynx.man
|
||
/usr/local/lib/lynx/LynxStartFile.html
|
||
/usr/local/lib/lynx/lynx_help_main.html
|
||
/usr/local/lib/lynx/Lynx_users_guide.html
|
||
/usr/local/lib/lynx/new_installs.html
|
||
/usr/local/lib/lynx/readme.html
|
||
/usr/local/man/man1/lynx.1
|
||
/usr/local/src/Incoming/lynx2-6.color.ELF.tgz
|
||
/usr/local/src/Incoming/lynx2-6.tar.gz
|
||
/usr/local/src/INSTALLED/lynx2-5FM.color.ELF.tgz
|
||
/usr/man/man1/lynx.1.gz
|
||
/var/log/packages/lynx
|
||
/var/X11R6/lib/config/lynx.cf
|
||
YIKES!!
|
||
|
||
On my system, this took about 1 second to display and it printed
|
||
the location of EVERY instance of "lynx". Now, for some reason
|
||
which I haven't figured out yet why this doesn't work the way the
|
||
manual page indicates that it should. Maybe your system works
|
||
better than mine... :-)
|
||
|
||
The way that it should work is that you give locate a filename
|
||
pattern which it searches for. Such as:
|
||
|
||
locate lynx*
|
||
|
||
|
||
However, when I tried this on my system, it simply returned
|
||
nothing. Using locate lynx worked like a charm.
|
||
|
||
Got me.
|
||
|
||
Keep in mind, too, that find is a seriously powerful search tool
|
||
that has all kinds of options that let you do sophisticated
|
||
searches. You really do need to check out the article that
|
||
recently appeared in the Linux Journal. I'm sorry that I can't
|
||
recall offhand which issue it was in, but the LJ has put a number
|
||
of articles online on the Web and so you might try looking at
|
||
their web site for information.
|
||
|
||
FINDING SHARED LIBRARY INFORMATION WITH LDD
|
||
|
||
|
||
Finally, here's a nifty little trick that let's you see what
|
||
shared libraries a file is linked against. If you've ever wondered
|
||
whether a file was statically or dynamically linked, then here's
|
||
your answer!
|
||
|
||
Just invoke ldd with the name of the executable and it will print
|
||
out a listing of all the libraries that it is linked against AND
|
||
where these libraries are located on your system.
|
||
|
||
So, for example, running ldd against gvim (Graphical VIM), I get
|
||
the following output:
|
||
|
||
libXm.so.2 => /usr/X11R6/lib/libXm.so.2
|
||
libXt.so.6 => /usr/X11R6/lib/libXt.so.6
|
||
libSM.so.6 => /usr/X11R6/lib/libSM.so.6
|
||
libICE.so.6 => /usr/X11R6/lib/libICE.so.6
|
||
libXext.so.6 => /usr/X11R6/lib/libXext.so.6
|
||
libX11.so.6 => /usr/X11R6/lib/libX11.so.6
|
||
libncurses.so.3.0 => /lib/libncurses.so.3.0
|
||
libc.so.5 => /lib/libc.so.5.3.12
|
||
libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4
|
||
|
||
|
||
pretty nifty, eh?
|
||
|
||
Anyway, if you've ever picked up a pre-compiled binary and it just
|
||
simply won't execute, try running ldd against it to ensure that
|
||
all the needed libraries are being found.
|
||
|
||
So, that should do it!
|
||
|
||
I'm sure that there are many other tricks and means for prying
|
||
information out of an obscure file. As a parting note, if you've
|
||
ever wondered just exactly what a file does then you can try a
|
||
couple things. The first is to see whether there is a manual page
|
||
for the program. That's usually a good source of information. The
|
||
other maneuver you can try is simply something like:
|
||
|
||
prog --help
|
||
|
||
|
||
Presuming the program's name was "prog", then frequently using a
|
||
command line option such as "--help" will print a help message.
|
||
Also, a number of programs will, if they don't recognize a command
|
||
line option, go ahead and print a short usage statement anyway. If
|
||
you're in the dark, give it a whirl!
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[IMAGE] If you'd like, drop me a note at:
|
||
John M. Fisk <fiskjm@ctrvax.vanderbilt.edu>
|
||
|
||
|
||
Version Information:
|
||
$Id: issue11.txt,v 1.2 2002/10/09 22:24:16 lg Exp $
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
LINUX GAZETTE
|
||
|
||
Copyright © 1996 Specialized Systems Consultants, Inc.
|
||
For information regarding copying and distribution of this material see
|
||
the Copying License.
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
THE BACK PAGE
|
||
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
CONTENTS:
|
||
+ About This Month's Authors
|
||
+ Not Linux
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
ABOUT THIS MONTH'S AUTHORS
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
|
||
|
||
Larry Ayers
|
||
Larry Ayers lives on a small farm in northern Missouri, where he is
|
||
currently engaged in building a timber-frame house for his family.
|
||
He operates a portable band-saw mill, does general woodworking,
|
||
plays the fiddle and searches for rare prairie plants, as well as
|
||
growing shiitake mushrooms. He is also struggling with configuring
|
||
a Usenet news server for his local ISP.
|
||
|
||
Earl Brown
|
||
Earl Brown has been involved in the Internet for 4 or 5 years, and got
|
||
into Unix when he realized that Unix helped start the Internet and
|
||
that it is the future of the Internet, as well. He loves LINUX as
|
||
an operating system, because "The fact that it's free doesn't
|
||
hurt, but the important thing is that I think it's the best OS out
|
||
there." He is a computer programmer, an Internet specialist. He
|
||
has fantasies/dreams about becoming a writer and a college
|
||
teacher. For more of his work, see
|
||
http://www.lvinet.com/~gleep/CompKnow/CompIdx.htm. His personal
|
||
web page can be found at http://www.enol.com/~gleep/.
|
||
|
||
John M. Fisk
|
||
John Fisk is most noteworthy as the former editor of the Linux
|
||
Gazette. After three years as a General Surgery resident and
|
||
Research Fellow at the Vanderbilt University Medical Center, John
|
||
decided to "hang up the stethoscope", and pursue a career in
|
||
Medical Information Management. He's currently a full time student
|
||
at the Middle Tennessee State University and hopes to complete a
|
||
graduate degree in Computer Science before entering a Medical
|
||
Informatics Fellowship. In his dwindling free time he and his wife
|
||
Faith enjoy hiking and camping in Tennessee's beautiful Great
|
||
Smoky Mountains. He has been an avid Linux fan, since his first
|
||
Slackware 2.0.0 installation a year and a half ago.
|
||
|
||
Michael J. Hammel
|
||
Michael J. Hammel, is a transient software engineer with a background
|
||
in everything from data communications to GUI development to
|
||
Interactive Cable systems--all based in Unix. His interests
|
||
outside of computers include 5K/10K races, skiing, Thai food and
|
||
gardening. He suggests if you have any serious interest in finding
|
||
out more about him, you visit his home pages at
|
||
http://www.csn.net/~mjhammel. You'll find out more there than you
|
||
really wanted to know.
|
||
|
||
Phil Hughes
|
||
Phil Hughes is the publisher of Linux Journal, and thereby Linux
|
||
Gazette. As an employer, Phil is "Vicious, Evil, Mean, & Nasty,
|
||
but kind of mellow" as a boss should be. He dreams of permanently
|
||
tele-commuting from his home on the Pacific coast of the Olympic
|
||
Peninsula.
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
NOT LINUX
|
||
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
|
||
|
||
Thanks to all our authors, not just the ones above, but also those
|
||
who wrote giving us their tips and tricks and making suggestions.
|
||
Thanks also to our new mirror sites.
|
||
|
||
Since I've chosen to celebrate Halloween in this issue, I'll
|
||
include a few Halloween and weird links in hopes that they will
|
||
not disappear on November 1.
|
||
|
||
|
||
+ YABOO A YAHOO parody page with only Halloween links. Some
|
||
neat links to Halloween history, ghost stories, etc.
|
||
+ Virtual Jack-0-Lantern Have fun creating your own virtual
|
||
jack-o-lantern.
|
||
+ Virtual Haunted House Looked interesting, but not open until
|
||
October 31. Check it out.
|
||
+ Forest J. Ackerman of monster and "Sci Fi" movies has a very
|
||
weird site indeed.
|
||
+ The Island of Dr. Moreau movie site.
|
||
+ Halloween Mystery Billed as an interactive MUD-like page,
|
||
this turned out to be a game that you play following text
|
||
instructions and story-line to solve a mystery.
|
||
+ Discworld is not exactly Halloween, but is definitely weird
|
||
and fun. Another MUD game based on Terry Pratchett's fantasy
|
||
novels.
|
||
|
||
|
||
If you would like some personal information about me, clicking on
|
||
my name below will take you to my home page. It's getting jazzier
|
||
by the moment.
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
Marjorie L. Richardson
|
||
Editor, Linux Gazette gazette@ssc.com
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back
|
||
|
||
|
||
_____________________________________________________________
|
||
|
||
|
||
|
||
Linux Gazette, http://www.ssc.com/lg/
|
||
This page written and maintained by the Editor of Linux Gazette,
|
||
gazette@ssc.com
|