6825 lines
324 KiB
Plaintext
6825 lines
324 KiB
Plaintext
|
||
Linux Gazette... making Linux just a little more fun!
|
||
|
||
Copyright © 1996-98 Specialized Systems Consultants, Inc.
|
||
_________________________________________________________________
|
||
|
||
Welcome to Linux Gazette! (tm)
|
||
_________________________________________________________________
|
||
|
||
Published by:
|
||
|
||
Linux Journal
|
||
_________________________________________________________________
|
||
|
||
Sponsored by:
|
||
|
||
InfoMagic
|
||
|
||
S.u.S.E.
|
||
|
||
Red Hat
|
||
|
||
LinuxMall
|
||
|
||
Linux Resources
|
||
|
||
Mozilla
|
||
|
||
Our sponsors make financial contributions toward the costs of
|
||
publishing Linux Gazette. If you would like to become a sponsor of LG,
|
||
e-mail us at sponsor@ssc.com.
|
||
|
||
Linux Gazette is a non-commercial, freely available publication and
|
||
will remain that way. Show your support by using the products of our
|
||
sponsors and publisher.
|
||
_________________________________________________________________
|
||
|
||
Table of Contents
|
||
July 1998 Issue #30
|
||
_________________________________________________________________
|
||
|
||
* The Front Page
|
||
* The MailBag
|
||
+ Help Wanted
|
||
+ General Mail
|
||
* More 2 Cent Tips
|
||
+ Producing a Resume in PDF with LaTeX
|
||
+ UNIX System man Pages
|
||
+ ext2 Partitions
|
||
+ Re: bpp 16 Question
|
||
+ Network Cards
|
||
+ Tip for using Windows 95 buttons in KDE
|
||
+ PPP, SLIP and Other Remote Service
|
||
+ News Bytes
|
||
o News in General
|
||
o Software Announcements
|
||
+ The Answer Guy, by James T. Dennis
|
||
+ CHAOS: CHeap Array of Obsolete Systems, by Alex Vrenios
|
||
+ Clueless at the Prompt, by Mike List
|
||
+ 8 Reasons to Make the Switch, by Bill Bennet
|
||
+ Integrated Software Development with WipeOut, by Gerd Mueller
|
||
+ Install New Icons in Caldera's Looking Glass Desktop, by
|
||
David Nelson
|
||
+ Installing Microsoft & Linux , by Manish P. Pagey
|
||
+ Linux Expo
|
||
o Linux Expo a Smashing Success!, by Norman M. Jacobowitz
|
||
o Linux Expo Editor Wars!, by Eric S. Raymond
|
||
o The Fourth Annual Linux Expo, by David Penland
|
||
+ LinuxCAD Impressions, by Robert Wuest
|
||
+ Book Review: A Methodology for Developing and Deploying
|
||
Internet & Intranet Solutions, by Jan Rooijackers
|
||
+ New Release Reviews, by Larry Ayers
|
||
o The Blackbox Window-Manager
|
||
o Lesstif: One User's Impressions
|
||
o Sabre: An Svgalib Flight Sim
|
||
o SFM: A New GTK-Based Application
|
||
+ Portable GUI C++ Libraries, by Sean C. Starkey
|
||
+ Using Linux Instead of an X Emulator, by Al Koscielny
|
||
+ USENIX 1998, by Aaron Mauck
|
||
+ The Back Page
|
||
o About This Month's Authors
|
||
o Not Linux
|
||
The Answer Guy
|
||
The Graphics Muse Will Return
|
||
_________________________________________________________________
|
||
|
||
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
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
The Mailbag!
|
||
|
||
Write the Gazette at gazette@ssc.com
|
||
|
||
Contents:
|
||
|
||
* Help Wanted -- Article Ideas
|
||
* General Mail
|
||
_________________________________________________________________
|
||
|
||
Help Wanted -- Article Ideas
|
||
_________________________________________________________________
|
||
|
||
Date: Wed, 03 Jun 1998 11:05:23 +0100
|
||
From: Maurizio Ferrari, Maurizio.Ferrari@tin.it
|
||
Subject: Photogrammetry tools for Linux?
|
||
|
||
I am looking for a Linux program to do some close-range
|
||
photogrammetry. Close range photogrammetry is a technique that enables
|
||
to reconstruct 3D images from a series of 2D pictures. There are a few
|
||
powerful (and relatively inexpensive) tools for Windows but none so
|
||
far for Linux, that I know of. There was something once upon a time
|
||
called Photo4D. Despite my massive Internet search, any occurrence of
|
||
Photo4D seems to have been wipe erased from the face of earth. It is
|
||
listed in SAL but all the links fail.
|
||
|
||
I don't want to resort to buy and use Windows software for this. Help,
|
||
anyone?
|
||
|
||
Maurizio
|
||
_________________________________________________________________
|
||
|
||
Date: Sun, 07 Jun 1998 11:36:33 -0500
|
||
From: Mike Godwin, mgodwin@socket.net
|
||
Subject: Searching (somewhat in vain) for sources on shell scripting
|
||
|
||
I recently came across an excellent mini-howto on overcoming some of
|
||
the pitfalls of having a dynamic IP address
|
||
(ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/unmaintained/mini/Dynamic-
|
||
IP-Hacks).
|
||
|
||
Reading this document has refueled my desire to learn shell scripting,
|
||
sed rules and the like. My search of the Internet for information on
|
||
these topics has, however, been fruitless.
|
||
|
||
I would be most grateful if someone could point me to a good shell
|
||
scripting tutorial or book.
|
||
|
||
Thanks in advance.
|
||
|
||
Mike
|
||
_________________________________________________________________
|
||
|
||
Date: Fri, 5 Jun 1998 22:58:11 +0200
|
||
From: "Himbeergarten Hummel", himbeergarten.hummel@nanet.at
|
||
Subject: X Window System on a monochrome notebook
|
||
|
||
I've a 486dx notebook with a monochrome display what shall I do to
|
||
make X windows run?
|
||
|
||
Himbeergarten Hummel
|
||
_________________________________________________________________
|
||
|
||
Date: Tue, 09 Jun 1998 13:06:28 PDT
|
||
From: "Dave Stevens", davestevens@hotmail.com
|
||
Subject: kudos
|
||
|
||
I think the Coldiron article on replacing NT with Linux is the best
|
||
thing I've seen in the gazette. Congratulations. More such articles
|
||
are needed. I am especially interested in an article explaining why
|
||
Linux doesn't come with a "system requirements" box on the package (no
|
||
package??). Seriously, though, I am a computer dealer and have many
|
||
times advised people to buy their application software first then buy
|
||
a computer that will run that package. If I tell my customers to go
|
||
out and buy a 386 with 16 MB of ram and a half MB video card and a 200
|
||
MB hard drive, they will think I am [characterization deleted!] in the
|
||
head. And maybe they'll be right. How much difference does the
|
||
underlying hardware make to the user of an X application, and how can
|
||
I assess (for them) the varying cost effectiveness of a faster
|
||
processor versus more RAM versus a SCSI disk versus just a bigger IDE
|
||
disk. Maybe you can commission an article like this. (Don't even THINK
|
||
of asking me). Someone of your loyal readers must have relevant
|
||
experience to write up.
|
||
|
||
Great magazine, keep up the good work. If ever you find yourself in
|
||
northern BC I will happily buy you a beer.
|
||
|
||
Dave Stevens
|
||
_________________________________________________________________
|
||
|
||
Date: Fri, 12 Jun 1998 08:49:05 -0700 (PDT)
|
||
From: Renato Weiner, reweiner@yahoo.com
|
||
Subject: Suggestion for Article
|
||
|
||
Recently I was looking at the Gazette and I think I have a good
|
||
suggestion of an article that will be very useful for the Linux
|
||
community.
|
||
|
||
I have had some technical difficulties of having two simultaneous
|
||
versions of Kernels in my system. I mean a stable one and a developing
|
||
one. I searched the net looking for information of how to co-exist
|
||
both but it's completely fragmented.
|
||
|
||
If somebody more experienced could put all this information together,
|
||
it will certainly help a lot of people from kernels developers to
|
||
end-users.
|
||
|
||
Thanks a lot for your patience.
|
||
Renato.
|
||
_________________________________________________________________
|
||
|
||
Date: Tue, 16 Jun 1998 10:42:06 +0200
|
||
From: Carlo Vinante, vinante@igi.pd.cnr.it
|
||
Subject: Printing Problems
|
||
|
||
I've just updated to Red Hat 5.0, and I cannot print anymore documents
|
||
using Ghostview, or LyX or whatever. Tests are OK. Have somebody a
|
||
suggestion ?
|
||
|
||
Carlo Vinante
|
||
_________________________________________________________________
|
||
|
||
Date: Mon, 15 Jun 1998 15:46:35 +0200 (MET DST)
|
||
From: Sara Briganti mat.1510, briganti@CsR.UniBo.IT
|
||
Subject: Information
|
||
|
||
We are 4 Italian students and we're just have a look about ELM's
|
||
sources. We have a lot of problems about these...
|
||
Could you ELM us? Do you know any interesting site about how ELM
|
||
works? And about sendmail?
|
||
|
||
Thank you a lot. Bye.
|
||
|
||
Sara, Elsa, Michele, Livio
|
||
_________________________________________________________________
|
||
|
||
Date: Sat, 13 Jun 1998 22:24:47 +0200
|
||
From: Daniele Verzelloni, dverzel@tin.it
|
||
Subject: Network configuring
|
||
|
||
Help me in configuring Red Hat Linux about networking. I've a ISDN
|
||
Adapter by Asuscom that I use for Internet in Windows95 and I can't
|
||
configure it! I've even got an Ethernet adapter to go to another
|
||
computer and in the same way I can't configure it! Thank you and sorry
|
||
for my bad English, I'm Italian.
|
||
|
||
Daniele
|
||
_________________________________________________________________
|
||
|
||
Date: Thu, 18 Jun 1998 23:12:30 +0200
|
||
From: Eric CANAL, Eric.Canal@supelec.fr
|
||
Subject: a question
|
||
|
||
I've recently bought a CD-ROM recorder I would like to know if it is
|
||
legal to make a Red Hat CD distribution for my own use. My idea is to
|
||
copy the FTP distribution on a CD and to install it. I've tried but it
|
||
tells me that I don't have a Red Hat CD-ROM. Do I miss a particular
|
||
file?
|
||
|
||
thanks for your answer and BRAVO for your Gazette :)
|
||
|
||
a French reader, Eric Canal
|
||
|
||
(Better check with Red Hat about legalities. --Editor)
|
||
_________________________________________________________________
|
||
|
||
Date: Tue, 23 Jun 1998 23:54:20 -0700
|
||
From: Ruth Milne, rmilne@mail.bulkley.net
|
||
Subject: article idea
|
||
|
||
I have been reading a lot of speculation about whether Linux can ever
|
||
displace Microsoft on the desktop. In the course of wading through a
|
||
lot of hype I haven't seen much actual experience reported about an
|
||
ordinary computer user installing Linux on their PC. I don't mean
|
||
someone who is already a Linux enthusiast and I don't mean someone
|
||
with a computer science degree either. Just an ordinary computer user
|
||
with an IQ bigger than a shoe size, sitting down with a brand new
|
||
Intel box and a Red Hat 5.1 package, say, and going through the hoops
|
||
up to the point where X starts up okay and the modem is a working
|
||
Internet device. This ought to be compared to such a person doing the
|
||
same operation with a new box and a copy of W98. I think that would
|
||
make a useful comparison.
|
||
|
||
Dave Stevens
|
||
_________________________________________________________________
|
||
|
||
Date: Thu, 25 Jun 1998 03:32:11 EDT
|
||
From: RangeScale@aol.com
|
||
Subject: Need older Linux
|
||
|
||
Okay, I am pretty new to Linux and am trying to learn it. The main
|
||
problem is, is that I always have my desktop tied up doing more
|
||
important things, and also don't have the room on it to hold Linux. My
|
||
solution is to pull out my old 286 laptop (old but very good) and use
|
||
that to start learning Linux. My big problem, though, is finding a
|
||
version that will run on that. I have the Debian 1.3, but min reg. are
|
||
386+. Is there a ver. that will run on 286 - and where can I get it?
|
||
_________________________________________________________________
|
||
|
||
Date: Sun, 28 Jun 1998 00:47:14 +0200
|
||
From: B.L.Michielsen, BMichielsen@csi.com
|
||
Subject: Communication Problem
|
||
|
||
I have a problem communicating with Compuserve through Seyon since I
|
||
installed a 16650A serial card on my Dell 486DX2 66MHz running RedHat
|
||
4.1 Kernel 2.0.17. and a USRobotics SportsterMessagePlus
|
||
|
||
modem. Before, I used a 14.4 Hayes compatible modem connected to a
|
||
serial port with a 16450 IC, in that configuration everything was slow
|
||
|
||
but OK. I am connecting to a Compuserve server with baud rates to
|
||
28.800bps. The characters in the Seyon terminal form unreadable
|
||
garbage, and I cannot find out how to parameterize the connection to
|
||
get it right. To complete the information, when I make a ppp
|
||
connection to a 56kbps server of Compuserve and use Netscape
|
||
communicator, everything runs perfectly well, so I guess the Seyon
|
||
problem is not related to kernel parameters but rather to xterm?
|
||
|
||
Any help would be greatly appreciated.
|
||
|
||
Bas L. Michielsen
|
||
_________________________________________________________________
|
||
|
||
General Mail
|
||
_________________________________________________________________
|
||
|
||
Date: Tue, 02 Jun 98 12:19:28 -0500
|
||
From: cokeydepercin@pmsc.com
|
||
Subject: Article on home networking.
|
||
|
||
I just read a reply to the home networking article by Mr. Gray and I
|
||
agree that home networking is cheap and easy. I disagree somewhat
|
||
about the 100baseT. I've just upgraded from 10baseT to 100baseT. The
|
||
hub was $100USD for an eight port hub with uplink and the cards were
|
||
$30USD (Dec Tulip chip set). I've heard there may be some cheaper NICs
|
||
now $20~25USD. My upgrade cost was $250 for 5 machines - 3 Win95,
|
||
Linux server, multi-boot Linux/win95/NT - the cable was CAT5 to begin
|
||
with. The additional cost of putting in 100 vs 10 is so slight, about
|
||
$115 in this case as the cable is the same, that it isn't worth
|
||
installing 10baseT. The advantage is that 100baseT and a reasonably
|
||
fast Linux machine allows a Win95 machine to access apps almost as
|
||
fast (in some cases faster) from the network than from its own drive.
|
||
Note that I too build from junk as much as possible and the children's
|
||
machines (the Win95 ones) are very low end Pentium and have old slow
|
||
small drives than contain only the OS and swap. Everything else is on
|
||
the server (install once use many!).
|
||
|
||
There is a caveat to this of course. 100baseT NICs for ISA machines
|
||
are VERY expensive so if you have ISA machines, your only realistic
|
||
choice is 10baseT. The one 100baseT ISA NCI I priced (3Com) cost more
|
||
than all the PCI NICs for my upgrade.
|
||
|
||
Just my $0.02 or so. Keep up the good work, I really enjoy the
|
||
magazine.
|
||
|
||
Cokey
|
||
_________________________________________________________________
|
||
|
||
Date: Tue, 02 Jun 1998 15:48:27 +0100
|
||
From: Raphael Marvie, raphael.marvie@cs.man.ac.uk
|
||
Subject: Comment about LG last review
|
||
|
||
It took me 3 tries to get the full article about "Replacing NT by
|
||
Linux" but I finally did it. I am very pleased to see people from the
|
||
"real-world" as they call themselves to admit that Linux can avoid lot
|
||
of people using bad softwares. There is only one thing that make me
|
||
sad, the only people who are going to read this article are Linux
|
||
users.
|
||
|
||
Is there any solution to make "real-world" people reading such
|
||
article? I not talking of a holy war against M$, but I think the worse
|
||
thing for Linux and other brilliant systems or soft is that the end
|
||
user never heard of this solution.
|
||
|
||
The fact that Netscape has moved to Open Source Software was a big
|
||
advert for the GNU/Linux solutions. I hope we will be able to take
|
||
advantage of it to say to managers "Hey, we can do every thing you
|
||
want, and in a better way than it is done yet by Micro$oft and Co. You
|
||
just have not to think in buying a solution 60,000$ each year for
|
||
updates but paying someone 60,000$ a year for building you the exact
|
||
solution you need using Open Source Software. Which means for you
|
||
having a *personal* *reliable* *IT* solution."
|
||
|
||
That is the challenge: teach them that a man or a woman is more
|
||
important than a soft, because this man or this woman can adapt
|
||
(him|her)self to the need of a firm, and is more important for the end
|
||
user as a spring of information than a bad-written manual.
|
||
|
||
Keep on LG, the job you are doing is brilliant.
|
||
|
||
Linuxly yours, Raphael
|
||
_________________________________________________________________
|
||
|
||
Date: Tue, 02 Jun 1998 13:36:06 +0000
|
||
From: Andrew Josey, a.josey@opengroup.org
|
||
Subject: Web resource - UNIX 98 Spec online
|
||
|
||
With the recent announcements concerning Linux and conformance to the
|
||
UNIX 98 specification, I thought it would be useful to send you the
|
||
URL where the online specification can be browsed, searched and
|
||
downloaded.
|
||
|
||
Its at http://www.UNIX-systems.org/go/unix/
|
||
|
||
Perhaps you could include this as a tip in the next Linux gazette.
|
||
|
||
best regards, Andrew
|
||
_________________________________________________________________
|
||
|
||
Date: Tue, 2 Jun 1998 12:19:44 +1000 (EST)
|
||
From: Con Zymaris, conz@cyber.com.au
|
||
Subject: Article ideas...
|
||
|
||
It would be of general interest, and help the linux/open source
|
||
community, if people out there were introduced to the concept of
|
||
advocating that their local University had its Computer Science
|
||
students' major final year projects written as open-source. For
|
||
reasons why the students would want to do this, check out:
|
||
http://www.cyber.com.au/misc/frsbiz/students.htm
|
||
|
||
Cheers, Con
|
||
_________________________________________________________________
|
||
|
||
Date: Mon, 1 Jun 1998 16:04:12 -0700
|
||
From: "Travis Clark", hilt@telepath.com
|
||
Subject: Simple Suggestion
|
||
|
||
To further Linux in this world of ours, I think it fitting that Linux
|
||
Programmers look at two different ways this can be accomplished:
|
||
1. Applications - This does not end in Word Processors... Desktop
|
||
Publishing systems, a simple database system, Accounting Software,
|
||
the whole nine yards. If we focused on software that companies use
|
||
at a lower price (or freeware) than Windoze, and comparable or
|
||
better performance, then Linux would be more acceptable world
|
||
wide.
|
||
2. Games - As much as I hate to admit it, Games are a must in this PC
|
||
world. There are versions of popular games for linux, but there
|
||
are no MAJOR companies designing games for Linux. If we can get a
|
||
Doom/Myst/DeerHunter type game specifically designed for Linux,
|
||
then Linux will definitely have more interest in the market.
|
||
|
||
That's my two cents...
|
||
|
||
Travis Clark
|
||
_________________________________________________________________
|
||
|
||
Date: Mon, 22 Jun 1998 14:50:45 -0400
|
||
From: Brian Catlin, Brian_Catlin@BayNetworks.COM
|
||
Subject: Suggestions to improve readability
|
||
|
||
First, I would like to express my appreciation to all the authors for
|
||
taking time to write excellent articles.
|
||
|
||
I do, however, have a suggestion or two that will make the
|
||
accessibility of the zine that much better.
|
||
|
||
As background, I am one of your readers that prints out the zine, then
|
||
reads it. It is much easier for my tired old eyes that way, and I also
|
||
get a nice resource to use when the screen is cluttered with windows
|
||
of different things for the project I am working on.
|
||
|
||
With that said, I have a couple problems that can be easily solved.
|
||
* The first thing is links in the articles. The usual standard one
|
||
sees on the net is to put the URL in the body of the article and
|
||
then link it. This way us off-line readers can fire up a browser
|
||
later and go directly to the site mentioned without having to find
|
||
the link in the online version of the article.
|
||
* Secondly, and this came up in the latest issue BTW, when giving
|
||
source code, config or other text-based examples, please keep them
|
||
as text. Putting backgrounds behind the code makes them hard to
|
||
read, and if they are in fact graphics, one has to type in the
|
||
code by hand. A better way is to delineate it with some sort of
|
||
blocking character string and use the appropriate HTML tag to show
|
||
it is an example. I tend to use the following to start and stop
|
||
sections of code:
|
||
#-----------------------------
|
||
(Note: it is a pound sign with a bunch of dashes).
|
||
This will speed loading into browsers online, allow cut and paste
|
||
operations, and ensure readability for the off-line printout
|
||
readers. (I know that more people that just I do this!)
|
||
|
||
Thanks again for a great zine!
|
||
|
||
Brian
|
||
|
||
(Okay, one, I'm guessing you are objecting to the practice of using
|
||
word instead of the address in the link so the text version only
|
||
shows the word and drops the address. I can make sure this happens
|
||
in sections that I do myself, but I really don't have time to do it
|
||
for every article. I will print your letter and maybe that will
|
||
give authors a push in the right direction. Second, I use whatever
|
||
the authors send as listings and most do keep them between
|
||
<pre></pre> tags without backgrounds. Mr. Coldiron article last
|
||
month did use backgrounds. His article has been quite popular.
|
||
Thanks for writing, --Editor)
|
||
_________________________________________________________________
|
||
|
||
Published in Linux Gazette Issue 30, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Next
|
||
|
||
This page written and maintained by the Editor of Linux Gazette,
|
||
gazette@ssc.com
|
||
Copyright © 1998 Specialized Systems Consultants, Inc.
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
More 2¢ Tips!
|
||
|
||
Send Linux Tips and Tricks to gazette@ssc.com
|
||
_________________________________________________________________
|
||
|
||
Contents:
|
||
|
||
* Producing a Resume in PDF with LaTeX
|
||
* UNIX System man Pages
|
||
* ext2 Partitions
|
||
* Re: bpp 16 Question
|
||
* Network Cards
|
||
* Tip for using Windows 95 buttons in KDE
|
||
* PPP, SLIP and Other Remote Service Support
|
||
_________________________________________________________________
|
||
|
||
Producing a resume in PDF with LaTeX
|
||
|
||
From: David M. Cook davecook@hotmail.com
|
||
Date: Mon, 01 Jun 1998 23:05:24 +0000
|
||
|
||
LaTeX and the resume.sty package are an easy way to produce a very
|
||
attractive resume under Linux. One just needs to fill in the
|
||
boilerplate provided. resume.sty is available from any CTAN archive,
|
||
such as cdrom.com:
|
||
htp://ftp.cdrom.com/.1/tex/ctan/macros/latex209/contrib/resume
|
||
|
||
However, I've found that windows users are often not familiar with the
|
||
usual Postscript output of the dvips program or how to view it.
|
||
Luckily, Ghostscript provides the ps2pdf program for converting
|
||
Postscript to Adobe's Portable Document Format, which is fairly
|
||
familiar to windows users.
|
||
|
||
However, converted ps documents that were produced from LaTeX source
|
||
using the default Computer Modern fonts look very poor when read with
|
||
the Adobe PDF reader. The trick is to use the times package, which
|
||
changes all the fonts produced by your LaTeX source to one the Adobe
|
||
reader can handle. Just include the package like this in your
|
||
document:
|
||
|
||
\documentclass[12pt]{article}
|
||
\usepackage{resume,times}
|
||
%other preamble commands
|
||
\begin{document}
|
||
%document body
|
||
\end{document}
|
||
|
||
Some other things worth mentioning here: PStill, another PS->PDF
|
||
converter; pdfTeX, which produces PDF instead of DVI files from TeX
|
||
input; and finally the TeX User's Group page which has tons of great
|
||
links:
|
||
ftp://ftp.cstug.cz/pub/tex/local/cstug/thanh/pdftex/
|
||
http://www.this.net/~frank/pstill.html
|
||
http://www.tug.org/interest.html
|
||
|
||
--
|
||
Dave Cook
|
||
_________________________________________________________________
|
||
|
||
UNIX system man pages
|
||
|
||
From: Andrew Josey a.josey@opengroup.org
|
||
Date: Wed, 03 Jun 1998 10:10:41 +0000
|
||
|
||
Hello, included is a possible tip for the Linux Gazette.
|
||
|
||
Ever needed to know what the official UNIX man page for a particular
|
||
command or function says? A new web resource from The Open Group is
|
||
the Common Access to the UNIX Man Pages, a hypertext html set of
|
||
browsable pages common to all UNIX 95 and UNIX 98 branded systems.
|
||
|
||
To try it out see http://www.opengroup.org/common_access/
|
||
|
||
--
|
||
Andrew Josey
|
||
_________________________________________________________________
|
||
|
||
ext2 Partitions
|
||
|
||
From: Albert T. Croft acroft@cyber-wizard
|
||
Date: Mon, 08 Jun 1998 14:57:03 -0500
|
||
|
||
I recently ran into a small problem, and I think the results of it
|
||
might be helpful to others. I was recently helping out a friend with a
|
||
problem on his Linux machine, and we needed to find a
|
||
file-unfortunately, neither of us knew where it might've been
|
||
installed.
|
||
|
||
Having both ext2 and vfat partitions, we realized that doing a find
|
||
command might take a while, and would probably give some false
|
||
results. We knew there might be files with similar names on his vfat
|
||
partition-files we were sure were not the ones we were looking for. We
|
||
knew the files we were looking for would only be on the ext2
|
||
partitions.
|
||
|
||
We started looking for an answer with the -mount option for the find
|
||
command; unfortunately for us, it only looked at files on the same
|
||
device as the path given to the find command. (A look at the results
|
||
of the mount command shows why that would be a problem for us.)
|
||
|
||
/dev/hda2 on / type ext2 (rw)
|
||
none on /proc type proc (rw)
|
||
/dev/hda6 on /home type ext2 (rw)
|
||
/dev/hda8 on /tmp type ext2 (rw)
|
||
/dev/hda7 on /usr type ext2 (rw)
|
||
/dev/hda1 on /win95 type vfat (rw,umask=0111)
|
||
|
||
We tried writing a batch file, using grep and gawk to get the mount
|
||
points for the ext2 partitions and handing them to find. This proved
|
||
unworkable if we were looking for patterns, such as h2*. We then tried
|
||
to write just a find command, using gawk and grep to get the mount
|
||
points. This was somewhat better, but using a print statement in gawk
|
||
to get the names of the mount points wouldn't work. Some help came
|
||
with remembering that gawk has a printf statement, allow.
|
||
|
||
Our final product, which we found quite useful and now have in our
|
||
.bashrc files as linuxfind, is the following:
|
||
|
||
find `mount|grep ext2|gawk '{printf "%s ", $3}'` -name
|
||
|
||
To use as an alias:
|
||
alias linuxfind="find `mount|grep ext2|gawk '{printf "%s ", $3}'` -name "
|
||
|
||
Written this way, other options to the find command can be specified,
|
||
such as -perm, -exec and -type. To use it, we simply type something
|
||
like:
|
||
|
||
linuxfind less
|
||
linuxfind h2*
|
||
linuxfind x* -perm -2000
|
||
|
||
The only problems we can see with this command so far are (1) if there
|
||
are drives mounted at login that are unmounted during the session, the
|
||
mount points are still searched, and (2) if a drive is mounted after
|
||
login, it is not included unless the .bashrc files is sourced.
|
||
|
||
--
|
||
Albert Croft
|
||
_________________________________________________________________
|
||
|
||
Re: bpp 16 Question
|
||
|
||
From: Michael Huttinger mhutt.removespam@netnitco.net
|
||
Date: Sun, 14 Jun 1998 19:56:41 +0000
|
||
|
||
In regards to the question on starting X with 16 bitplanes instead of
|
||
8 (LG#28)...
|
||
|
||
I have done the following (assuming you are using XFree86)
|
||
|
||
Open up and edit your XF86Config file.
|
||
|
||
Look for the "Screen" section you are using. Add an entry right after
|
||
that specifying the default colors of the format:
|
||
|
||
DefaultColorDepth 16
|
||
|
||
This will default your screen to 16 bit planes.
|
||
|
||
My example screen section follows:
|
||
Section "Screen"
|
||
Driver "accel"
|
||
Device "STB Velocity 128"
|
||
Monitor "My Monitor"
|
||
DefaultColorDepth 16
|
||
Subsection "Display"
|
||
Depth 8
|
||
Modes "1024x768" "800x600" "640x480"
|
||
ViewPort 0 0
|
||
EndSubsection
|
||
Subsection "Display"
|
||
Depth 16
|
||
Modes "1024x768" "800x600" "640x480"
|
||
ViewPort 0 0
|
||
EndSubsection
|
||
Subsection "Display"
|
||
Depth 24
|
||
Modes "1024x768" "800x600" "640x480"
|
||
ViewPort 0 0
|
||
EndSubsection
|
||
Subsection "Display"
|
||
Depth 32
|
||
Modes "1024x768" "800x600" "640x480"
|
||
ViewPort 0 0
|
||
EndSubsection
|
||
EndSection
|
||
|
||
--
|
||
Mike Huttinger
|
||
_________________________________________________________________
|
||
|
||
Network Cards
|
||
|
||
From: Wari Wahab wari@tecnologist.com
|
||
Date: Sat, 13 Jun 1998 21:36:27 +0800
|
||
|
||
Hi, there just like to give some tip or two regarding Network cards
|
||
you have in you Linux Box.
|
||
|
||
I have a 3Com 3c90x in my computer and it's not working up to speed, I
|
||
replaced it with anther one of the same kind and the most I get out of
|
||
ftp transfers from my machine is a measly 220 KB/s.. Samba acted
|
||
weird.. I thought that it's my network that caused the problem,
|
||
indeed, it is the problem..
|
||
|
||
Our network is all Cisco and there seems to be some disagreement
|
||
between the two brands, Changed my card to an Intel 'eepro100' and I
|
||
can max out at 800 KB/s on a 10 Mbs network.. Cool.
|
||
|
||
So, if you find out that performance is not as cool (those Win NT guys
|
||
may be laughing at you as they did to me wondering why Linux is Super
|
||
Slow) as it should be, it could be the network card itself..
|
||
|
||
Regards,
|
||
Wari Wahab
|
||
_________________________________________________________________
|
||
|
||
Tip for using Windows 95 buttons in KDE
|
||
|
||
From: Jochen A. Stein jst@writeme.com
|
||
Date: Fri, 19 Jun 1998 21:05:21 +0200
|
||
|
||
Following up to Andreas Ehliar's 2cent article in the June Linux
|
||
Gazette, I took the same approach and made a patch for KDE to shift
|
||
some functionality from ALT to the W95 key. Full instructions and
|
||
patch against Beta-4 can be found on
|
||
http://home.pages.de/~jst/kde-w95.html.
|
||
|
||
--
|
||
Jochen Stein
|
||
_________________________________________________________________
|
||
|
||
PPP, SLIP and Other Remote Service Support
|
||
|
||
From: Daniel Blezek blezek@worldnet.att.net
|
||
Date: Wed, 17 Jun 1998 22:40:48 -0500
|
||
|
||
Hi, here's a short tip:
|
||
|
||
Recently, I started working from home on a UNIX system. The system I
|
||
was working on did not support PPP, SLIP, or any other remote service
|
||
except shell sessions over a 9600 baud modem. So I decided to download
|
||
SLIrP(a program to emulate PPP/SLIP using only a shell session) to the
|
||
remote system to emulate PPP over a shell connection. Here is the
|
||
snag, the remote system did not support zmodem, ymodem, kermit or any
|
||
of the other file transfer protocols. Since I had no TCP/IP
|
||
connection, I could not use rsh, or ftp. Solution? I used uuencode to
|
||
convert the SLIrP binary to text, started vi on the remote system, and
|
||
copied and pasted the entire text(all 360K) into the remote shell
|
||
session. After eating dinner, I returned to write the uuencoded binary
|
||
to the remote hard disk, uudecoded it, uncompressed it, and started up
|
||
SLIrP on the remote system. After pppd came up on my LINUX system, I
|
||
was fully connected.
|
||
|
||
Ain't LINUX fun?
|
||
|
||
--
|
||
Dan
|
||
_________________________________________________________________
|
||
|
||
Published in Linux Gazette Issue 30, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
This page maintained by the Editor of Linux Gazette, gazette@ssc.com
|
||
Copyright © 1998 Specialized Systems Consultants, Inc.
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
News Bytes
|
||
|
||
Contents:
|
||
|
||
* News in General
|
||
* Software Announcements
|
||
_________________________________________________________________
|
||
|
||
News in General
|
||
_________________________________________________________________
|
||
|
||
August Linux Journal
|
||
|
||
The August issue of Linux Journal will be hitting the newsstands July
|
||
10. The focus of this issue is Navigating Linux and our feature
|
||
article is an interview with Marc Andressen and Tom Paqin of Netscape
|
||
done by Doc Searls. interview.html is the introduction to this
|
||
interview. Check out the Table of Contents at
|
||
http://www.linuxjournal.com/issue52/index.html. To subscribe to Linux
|
||
Journal, go to http://www.linuxjournal.com/ljsubsorder.html.
|
||
_________________________________________________________________
|
||
|
||
An Invitation: The Future of Linux with Linus Torvalds
|
||
|
||
On July 14, 1998, at 6:00PM, Taos Mountain ( http://www.taos.com/ ) in
|
||
association with the Silicon Valley Linux User Group
|
||
(http://www.svlug.org/) will present a panel discussion on THE FUTURE
|
||
OF LINUX. Linux is a freely available version of the UNIX operating
|
||
system.
|
||
|
||
Panelists will include Linus Torvalds, the creator of Linux; Robert
|
||
Hart from retail Linux distributor Red Hat Software; Larry Augustin of
|
||
the Silicon Valley Linux User Group and director of Linux
|
||
International, a non-profit consortium of Linux users and vendors; and
|
||
Jeremy Allison, the developer of SAMBA. Phillip Hughes, publisher of
|
||
Linux Journal, will question the panelists.
|
||
|
||
Complete Press Release
|
||
|
||
For more information:
|
||
Michael Masterson, MMasterson@taos.com
|
||
_________________________________________________________________
|
||
|
||
LINC: Linux conference in Silicon Valley, California
|
||
|
||
Mon, 15 Jun 1998 23:56:32 +0000
|
||
LINC, the International Linux Conference and Exposition, will be held
|
||
in Silicon Valley, California next January.
|
||
|
||
We have just issued a Call for Papers, and we encourage Linux
|
||
developers to send abstracts for talks or tutorials.
|
||
|
||
More info at: http://lincexpo.org/
|
||
|
||
Complete Press Release If you have any questions, please mail me.
|
||
|
||
For more information:
|
||
Don Marti, dmarti@electriclichen.com
|
||
_________________________________________________________________
|
||
|
||
Position Available: network security - development/maintenance
|
||
|
||
Tue, 23 Jun 1998
|
||
SecurePipe Communications is currently accepting resumes for a network
|
||
security support and development position.
|
||
|
||
Responsibilities will include support of installed firewalls,
|
||
development and maintenance of open-source network security solutions,
|
||
and support of existing mail and web servers.
|
||
|
||
For more information:
|
||
http://www.securepipe.com/jobs.html
|
||
|
||
Joshua Heling, jrh@securepipe.com
|
||
SecurePipe Communications, Inc.
|
||
_________________________________________________________________
|
||
|
||
GNU Utilities Integrated Development Environment project
|
||
|
||
Mon, 15 Jun 1998 08:47:02 GMT
|
||
GUIDE: GNU Utilities Integrated Development Environment
|
||
|
||
The purpose of this project is to merge existing GNU and GPL utilities
|
||
into a graphical GPL Integrated Development Environment, which contain
|
||
editor, class browser, debugger, profiler, man generator, code
|
||
checking, testing, animation, and management.
|
||
|
||
Go to http://sunsite.auc.dk/GUIDE/ and join the mailing list.
|
||
|
||
For more information:
|
||
Knud Haugaard Sxrensen, khs@mi.aau.dk
|
||
_________________________________________________________________
|
||
|
||
WWW: Linux search engine in beta
|
||
|
||
Mon, 15 Jun 1998 08:50:18 GMT
|
||
Take a look at http://linux.ncg.net/search/
|
||
|
||
A search engine with a different twist.... We index only Linux related
|
||
web pages, and in addition to searching in the robot index, we'll look
|
||
up the keywords in our resource listings as well.
|
||
|
||
The engine uses heuristics to exclude most pages that aren't relevant
|
||
to Linux. Currently the engine is in early beta, with a small index of
|
||
about 75.000 documents as of 11th June, and growing at a rate of a few
|
||
thousand documents pr. day. It might seem small, but the index
|
||
contains most of the important Linux sites already, and is getting
|
||
quite useful.
|
||
|
||
Since we track what subjects that are most popular to search for, you
|
||
also help us improve the resource listing by testing the engine.
|
||
|
||
As soon as the indexer is well enough tested, we'll increase indexing
|
||
speed dramatically (from 10 documents at a time currently, to about
|
||
300).
|
||
|
||
For more information:
|
||
Vidar Hokstad, vidarh@ncg.net
|
||
_________________________________________________________________
|
||
|
||
The Freefire Project (IT security solutions)
|
||
|
||
Wed, 17 Jun 1998 13:26:28 GMT
|
||
After some time in the dark I am happy to Announce the Freefire
|
||
Project
|
||
|
||
The Freefire Project tries to support Developers and Integrators in
|
||
building IT Security Solutions (especially Firewalls) based on Free
|
||
Tools (Open Source). It is not Operating System dependent, but a lot
|
||
of the Tools on the Page can be used with Linux.
|
||
|
||
The Project features a web site where you can find a lot of useful
|
||
links to free Security Tools and Resources. There is a monthly
|
||
Bulletin giving some articles about recently discovered tools.
|
||
|
||
There is a Mailing list for Developers. You DO NOT need to subscribe
|
||
if you don't develop tools on your own. In this case it will be enough
|
||
to enter you= r E-Mail in the Announce-Form on the Web Pages or
|
||
monitor the Web-Pages.
|
||
|
||
http://www.inka.de/sites/lina/freefire-l/index.en.html
|
||
|
||
The Start page is also available in German:
|
||
|
||
http://www.inka.de/sites/lina/freefire-l/index.de.html
|
||
|
||
Also searching for contributors to the Bulletin and for Links to Tools
|
||
which are not yet on the Pages.
|
||
|
||
For more information:
|
||
Bernd Eckenfels. ecki@lina.inka.de
|
||
_________________________________________________________________
|
||
|
||
Linux Links
|
||
|
||
The Trove Project Press Release: trove.txt
|
||
|
||
Open Source Devloper Day Press Release: opensource.pr
|
||
|
||
The Open Source Index: http://home.maine.rr.com/sickthing/osi
|
||
|
||
List of Linux Mailing Lists: www.linuxrx.com/Lists/Lists.perl
|
||
|
||
Linux Buyers Guide: http://www.linuxbuyersguide.com/
|
||
|
||
Linux Applications: http://www.cynetcity.com/cyberzone/497/ Linux Book
|
||
Guide: http://members.bellatlantic.net/~ptgeiger/guidehome.htm
|
||
|
||
Article about Linux in Computer Currents Magazine:
|
||
http://www.currents.net/magazine/national/1612/inet1612.html
|
||
|
||
The Linux Console Tools: http://www.mygale.org/~ydirson/en/lct/
|
||
|
||
Article "How Linux Could Kill Windows NT":
|
||
http://www.zdnet.com/chkpt/adem2fpf/www.anchordesk.com/story/story_224
|
||
1.html
|
||
|
||
Linux Rally: http://www.penguincomputing.com/svlug-rally.html
|
||
|
||
Time Magazine Article:
|
||
http://cgi.pathfinder.com/netly/article/0,2334,13820,00.html
|
||
_________________________________________________________________
|
||
|
||
Software Announcements
|
||
_________________________________________________________________
|
||
|
||
PC-Internet
|
||
|
||
Check out the new PC-Internet at http://www.pc-internet.com/ (the site
|
||
is in Spanish only)
|
||
_________________________________________________________________
|
||
|
||
WrapBit 0.2.1 - virtual object storage and programming environment
|
||
|
||
Thu Jun 25 12:47:56 1998
|
||
The WrapBit version 0.2.1 is now available. Read more about it from
|
||
the active server at http://public.comput.com/WrapBit/ WrapBit is a
|
||
virtual, persistant, write once object storage and programing
|
||
environment. A small kernel serves forge proofed data, meta data and
|
||
dynamic views (object invocation). XML is featured (but not imposed)
|
||
for object control messages.
|
||
_________________________________________________________________
|
||
|
||
w3mir 1.0.3 - HTTP copying and mirroring tool
|
||
|
||
Thu Jun 25 12:56:55 1998
|
||
w3mir 1.0.3 has been released and is available at
|
||
http://www.math.uio.no/ now.
|
||
|
||
Fixes include
|
||
* -R/remove option to remove files is no longer more destructive
|
||
than intended.
|
||
* Files with 'unsafe' characters in their filename is now saved as
|
||
"foo bar" instead of "foo%20bar"
|
||
* The -B switch works once again.
|
||
|
||
w3mir is a all purpose HTTP copying and mirroring tool. The main focus
|
||
of w3mir is to create and maintain a browsable copy of one, or
|
||
several, remote WWW site(s). Used to the max w3mir can retrive the
|
||
contents of several related sites and leave the mirror browseable via
|
||
a local web server, or from a filesystem, such as directly from a
|
||
CDROM.
|
||
|
||
w3mir supports HTML4, and has partial support for CSS, Java, ActiveX
|
||
and Adobe Acrobat (PDF) files.
|
||
_________________________________________________________________
|
||
|
||
Alphanumeric Paging Software beta test
|
||
|
||
Mon, 15 Jun 1998 09:02:46 GMT
|
||
EtherPage(TM) is now available on Linux
|
||
|
||
Calling beta testers for our EtherPage product running under Linux. If
|
||
interested, you can download software and request an evaluation
|
||
license code from http://www.ppt.com/eval/version30.html
|
||
|
||
EtherPage is a client/server based product for delivering messages
|
||
from computers to wireless messaging services such as alphanumeric and
|
||
numeric pagers. The product includes a web interface for interactive
|
||
use and administration, a command line interface and a C API.
|
||
_________________________________________________________________
|
||
|
||
tomsrtbt-1.4.66
|
||
|
||
Mon, 15 Jun 1998 09:01:35 GMT
|
||
tomsrtbt-1.4.66.tar.gz is available at Sunsite.unc.edu to be placed
|
||
into system/recovery and http://www.toms.net/~toenser/rb/.
|
||
|
||
It is a boot/root rescue/emergency floppy image with more stuff than
|
||
fits. Bzip2, 1722Mb formatting, and tighter compilation options helped
|
||
jam it on. tomsrtbt is useful for "learn unix on a floppy" as it runs
|
||
from ramdisk, includes the man-pages for everything, and behaves in a
|
||
generally predictable way.
|
||
|
||
The home page is: http://www.clark.net/~toehser/rb/.
|
||
_________________________________________________________________
|
||
|
||
MpegTV Player 1.0 released for Linux/Alpha
|
||
|
||
Mon, 15 Jun 1998 10:30:37 GMT
|
||
MpegT@ Player 1.0 has been released for Linux/Alpha. MpegTV Player 1.0
|
||
is a realtime software MPEG Video player with audio/sync.
|
||
|
||
MpegTV Player is a Shareware (US$10) for personal and non-profit use.
|
||
Commercial licenses available.
|
||
|
||
Key features include support for 8 bit, 16 bit and 24 bit display,
|
||
random access, frame capture and a VCR-like graphic front-end.
|
||
|
||
Download MpegTV Player 1.0 (mtv) for linux-alpha from:
|
||
ftp://ftp.mgegtw.com/pub/mpeg/mpegtv/player/alpha-unkown-linux/
|
||
_________________________________________________________________
|
||
|
||
Motif Interface Builder VDX 1.2
|
||
|
||
Mon, 15 Jun 1998 11:16:16 GMT
|
||
Release 1.2 of VDX, the Motif Interface Builder for Linux is ready for
|
||
download. The VDX provides the interactive design of user interfaces
|
||
based on OSF/Motif and generates portable C and C++ source code. Tools
|
||
like Resource Editor, Browser and the interactive WYSIWYG View make
|
||
the design process very easy. Their object oriented interface and the
|
||
adaptable code generation are cool features.
|
||
|
||
Interested? Visit the VDX Home Page at http://www.bredex.de/EN/vdx/
|
||
_________________________________________________________________
|
||
|
||
R 0.62.1 released: statistical computation and graphics
|
||
|
||
Wed, 17 Jun 1998 13:20:17 GMT
|
||
R version 0.62.1 has been released and will propagate through the CRAN
|
||
mirrors within the next few days. The have been lots of changes, any R
|
||
user should definetely upgrade to this version.
|
||
|
||
R is a system for statistical computation and graphics. It consists of
|
||
a language plus a run-time environment with graphics, a debugger,
|
||
access to certain system functions, and the ability to run programs
|
||
stored in script files.
|
||
|
||
CRAN is a network of ftp and web servers around the world that store
|
||
identical, up-to-date, versions of code and documentation for the R
|
||
statistical package. Please use the CRAN site nearest to you to
|
||
minimise network load.
|
||
|
||
The CRAN master site can be found at the URL
|
||
http://www.ci.tuwien.ac.at/
|
||
_________________________________________________________________
|
||
|
||
Mobitex Radio Modem Driver
|
||
|
||
Wed, 17 Jun 1998 13:21:40 GMT
|
||
Announcing the release of a new network driver which implements the
|
||
MASC data link layer protocol, enabling Linux to use Mobitex radio
|
||
modems as network devices. Armed with radio modems and a subscription
|
||
to a Mobitex operator, you can create a network interconnecting two or
|
||
more Linux systems wirelessly using TCP/IP or your own custom
|
||
protocol.
|
||
|
||
The driver has been verified to be stable on 2.0.30 through 2.0.33
|
||
kernels and is hence ready for release. The package includes a basic
|
||
FAQ list, a HOWTO document, driver source and a couple of tools.
|
||
|
||
Take a look at ftp://ftp.linuxrx.com/pub/linux-contrib/
|
||
_________________________________________________________________
|
||
|
||
sfm 1.4 - Simple File Manager
|
||
|
||
Wed, 17 Jun 1998 14:02:46 GMT
|
||
Announcing the release a new version of sfm. There's a lot of great
|
||
improvements between this version and the 1.1 version.
|
||
|
||
Some important changes:
|
||
* you can associate actions with files (using its extension or its
|
||
type given by file(1))
|
||
* a popup menu gives you the available commands and shortcuts
|
||
|
||
For more information look at http://www.chez.com/prigaux/sfm.html
|
||
|
||
You can find there a binary (i386, glibc, gtk+) version. It has been
|
||
tested (not fully) on i386 and solaris.
|
||
|
||
Any remarks and bug reports are welcome at pixel_@geocities.com.
|
||
_________________________________________________________________
|
||
|
||
Linux Router Project v2.9.2 - networking centric mini-distribution
|
||
|
||
Sat, 20 Jun 1998 17:32:40 GMT
|
||
v2.9.2 of linux router is out. LRP is now fully glibc based, and this
|
||
is a very solid release.
|
||
|
||
You can download it from: ftp://ftp.psychosis.com/linux/linux-router/
|
||
|
||
And get more info from: http:/www.psychosis.com/linux-router
|
||
_________________________________________________________________
|
||
|
||
Slidedraw-0.10 - drawing/presentation program
|
||
|
||
Sat, 20 Jun 1998 17:29:11 GMT
|
||
Slidedraw is a drawing program for presentation slides.
|
||
|
||
Some new features added:
|
||
* distinct canvas-window/drawing/print size
|
||
* grouping of objects, creating composites
|
||
* new and improved menu hierarchy
|
||
|
||
Get it at http://sunsite.unc.edu/pub/Linux/Incoming
|
||
_________________________________________________________________
|
||
|
||
SFS Software's iavaZIP
|
||
|
||
04 Jun 98 0100 WN
|
||
SFS Software announced a new version of it's certified 100% pure Java
|
||
compression utility iavaZIP. The full-featured, pioneering file
|
||
compression program offers some unique features.
|
||
|
||
iavaZIP's key advantage is that it lets you create archives containing
|
||
files from multiple folders and subfolders--even from different
|
||
volumes--in the same session.
|
||
|
||
iavaZIP is compatible with PKZIP, supports 10 compression levels and
|
||
runs cross-platform on every Java 1.1 supported operating system like
|
||
Windows 95/NT, Unix, Linux, SGI, AIX and OS/2. The Java Archive format
|
||
(JAR) is also supported. The product is available now through
|
||
shareware distribution and is priced at $49 for the standard single
|
||
user license. Also available are Academic Single user licenses ($29)
|
||
and attractive high volume discounts.
|
||
|
||
SFS Software's WebSite at http:www.sfs-software.com
|
||
_________________________________________________________________
|
||
|
||
Protecting Networks w/SATAN
|
||
|
||
Mon, 8 Jun 1998 15:48:49 -0700 (PDT)
|
||
Because SATAN (Security Administrator's Tool for Analyzing Networks)
|
||
could detect weaknesses on other systems (as well as your own) through
|
||
its web interface, it earned notoriety when released in April 1995 as
|
||
the tool that would "wreak havoc" on the Internet. The Oakland Tribune
|
||
even wrote: "It's like randomly mailing automatic rifles to 5000
|
||
addresses. I hope some crazy teen doesn't get ahold of one."
|
||
|
||
But as more and more "mission critical" applications are accessible
|
||
through the web, administrators are turning their attention to the
|
||
danger of attempted intrusion from outside the networked host. SATAN
|
||
is a powerful aid for system administrators. It performs "security
|
||
audits," scanning host computers for security vulnerabilities caused
|
||
by erroneous configurations or by known software errors in frequently
|
||
used programs. O'Reilly's latest release, "Protecting Networks with
|
||
SATAN", is an invaluable tool for network and security administrators
|
||
working with SATAN.
|
||
|
||
Protecting Networks with SATAN
|
||
By Martin Freiss
|
||
1st Edition June 1998 (US)
|
||
112 pages, 1-56592-425-8, $19.95 (US$)
|
||
http://www.oreilly.com
|
||
_________________________________________________________________
|
||
|
||
Conix 3D Explorer
|
||
|
||
Wed, 17 Jun 1998 19:51:05 -0800
|
||
Conix Enterprises, Inc. announce the release of Conix 3D Explorer on
|
||
Linux. With a single command 3D Explorer brings your Mathematica
|
||
graphics to life in an interactive OpenGL window, providing advanced
|
||
rendering capabilities previously reserved for high-end rendering
|
||
systems.
|
||
|
||
3D Explorer provides a new graphics type, GLGraphics, with extended
|
||
graphics primitives and directives. New features include continuous
|
||
surfaces, display lists, inline transformations, and per-element
|
||
control over all graphics options.
|
||
|
||
3D Explorer comes with online documentation, including user's guide,
|
||
reference manual, programming examples, and demos. Quality email
|
||
technical support is provided by Conix Enterprises Inc.,
|
||
tech@conix3d.com. For more information, see http://www.conix3d.com
|
||
_________________________________________________________________
|
||
|
||
LinuxCAD v 1.55
|
||
|
||
Thu, 18 Jun 1998 06:34:43 +0000
|
||
Software Forge Inc. announcing the availablity of LinuxCAD v 1.55 at
|
||
July 25 , 1998. LinuxCAD v 1.55 includes all hardcopy capabilities
|
||
namely:
|
||
* output to LaserJet family of printers,
|
||
* output to PostScript Black and White as well as Color,
|
||
* output to HP-GL compatible plotters,
|
||
* output to LinuxCAD MS-Windows print server, in the base version.
|
||
|
||
LinuxCAD v 1.55 will be priced at the same level $75+tax and shipping.
|
||
All users who will prepay LinuxCAD v 1.55 before July 25, will get
|
||
extended free upgrades until July 1999.
|
||
|
||
To learn more about LinuxCAD visit http://www.linuxcad.com
|
||
_________________________________________________________________
|
||
|
||
Nighthawk 2.1 and FunktrackerGOLD 1.5 (announcement)
|
||
|
||
Mon, 22 Jun 1998 23:13:50 +0930 (CST)
|
||
Nighthawk 2.1 (nighthawk-2.1.tgz) and FunktrackerGOLD 1.5
|
||
(funktracker-1.5.tgz) have now been released. You can find them on:
|
||
http://www.downunder.net.au/~jsno/rel/unix_projects
|
||
|
||
Nighthawk is an X11 arcade game with sound and music. FunktrackerGOLD
|
||
is a digital music tracker. Read my page for more details on them.
|
||
Take a look at http://www.downunder.net.au/~jsno both come under the
|
||
GNU GPL.
|
||
_________________________________________________________________
|
||
|
||
CYBERSCHEDULER FOR LINUX v2.1
|
||
|
||
Wed, 24 Jun 1998 18:34:09 -0700
|
||
CrossWind Technologies offers CyberScheduler, web-based calendaring
|
||
and scheduling software for workgroups. It has been designed to
|
||
leverage an organization's existing web resources:
|
||
* running on Apache's web server
|
||
* with end user access from any desktop browser.
|
||
|
||
More information about CrossWind Technologies and a live on-line demo
|
||
of CyberScheduler is available on the Web site at
|
||
http://www.crosswind.com
|
||
_________________________________________________________________
|
||
|
||
Published in Linux Gazette Issue 30, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
This page written and maintained by the Editor of Linux Gazette,
|
||
gazette@ssc.com
|
||
Copyright © 1998 Specialized Systems Consultants, Inc.
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
(?) The Answer Guy (!)
|
||
|
||
By James T. Dennis, linux-questions-only@ssc.com
|
||
Starshine Technical Services, http://www.starshine.org/
|
||
_________________________________________________________________
|
||
|
||
Contents:
|
||
|
||
(!)Greetings from Jim Dennis
|
||
|
||
(?) Linux and SCO Keymap --or--
|
||
SCO Compatible Console Keymaps?
|
||
|
||
(?) linux kernel security --or--
|
||
Breakin' Out of the chroot() Jail adding "disabilities" to
|
||
Linux
|
||
|
||
(?)Dosemu and virtual terminals? --or--
|
||
Clipper/xBase Capacity Problems --- DOSemu as a Solution? "I
|
||
don't think so."
|
||
|
||
(?) NT Domain and Linux --or--
|
||
Linux as a "Domain Controller" for a WinNT Domain? Not Yet!
|
||
Linux use of an NT PDC/BDC for authentication?
|
||
|
||
(?) DAO software for linux? --or--
|
||
"DAO" (Disk at Once) CDR? Stump Me!
|
||
|
||
(?)tn3270 security
|
||
|
||
(?)readdress COM port to 3 or 4
|
||
|
||
(?) Lilo won't boot --or--
|
||
Installed on a Secondary SCSI HD: Lilo Stops at LI
|
||
|
||
(?)help on unix --or--
|
||
Running Unix/Linux Under Win '9x
|
||
|
||
(?)winprinters & MTAs: Pointers and Corrections
|
||
|
||
(?) FoxPlus for Linux? --or--
|
||
Dreaming about xBase tools for Linux
|
||
|
||
(?)auto response for email ?
|
||
|
||
(?)Connecting Linux to Win '95 via Null Modem
|
||
|
||
(?) PC lockups --or--
|
||
Hardware Lockups due to Graphics Load
|
||
|
||
(?) gzip from C program --or--
|
||
Compression Libraries to Link into a C Program
|
||
|
||
(?)LOVE THE NEW LOOK!!!!
|
||
|
||
(?)please, advice about Linux and C500 --or--
|
||
Linux PPC on the Umax C500 SuperMac: Not A Good Idea
|
||
|
||
(?)printing Solaris->Linux --or--
|
||
Remote lpd from Solaris to Linux
|
||
|
||
(?) Help Wanted --or--
|
||
User Shell on Virtual Console 1
|
||
|
||
(?) Memory deallocation problems --or--
|
||
Linux Memory Usage vs. Leakage
|
||
|
||
(?)tv cards and dual monitor
|
||
____________________________
|
||
|
||
Greetings from Jim Dennis
|
||
|
||
Well another month is upon us. This last month was particularly busy
|
||
since I was able to afford the USENIX technical conference, in New
|
||
Orleans --- the best annual gathering of fellow Unix and Linux nerds
|
||
I've ever found. If you can get your boss to send you to just one
|
||
computing technical conference in the next year --- ask for it to be
|
||
this one (or the USENIX/LISA --- Large Installation Systems
|
||
Administration which will be in December).
|
||
|
||
Linus was there with his wife, Tove, and their two baby daughters. He
|
||
agreed to host an "intimate little BoF" (Birds of a Feather
|
||
discussion) which turned out to have over half of the conference
|
||
attending it (much to his surprise).
|
||
|
||
The '97 USENIX in Anaheim had a "parallel track" for Linux. This year
|
||
had one for "Freenix" (collectively referring to FreeBSD, NetBSD,
|
||
OpenBSD, and the GNU HURD, in addition to Linux). It's important for
|
||
us (Linux users) to recognize that Linux wasn't the first "free" Unix
|
||
kernel, and it is by no means the only one.
|
||
|
||
I've been trying to encourage the free *BSD users (all variants) to
|
||
come out of the woodwork and show up at their local Linux user's group
|
||
meetings. I know they'll be welcome at the Silicon Valley LUG
|
||
(http://www.svlug.org) and I sincerely hope that they'll be welcome at
|
||
other Linux events. Now that we're getting enough market share to get
|
||
noticed in the press, and to have some effect on the decisions of
|
||
hardware and software vendors (particularly in the areas that relate
|
||
to documentation and NDA's) --- it would be a very bad time for us to
|
||
get embroiled in the sorts of infighting that's been stifling the
|
||
commercial Unix vendors for so long.
|
||
|
||
I noticed an interesting press release (forwarded to me by my wife)
|
||
regarding Microsoft's new "WISE" (Windows Interface Source
|
||
Environment: http://www.microsoft.com/win32dev/base/wise.htm) which
|
||
basically looks like a scheme to bolster the commercial Unix vendors
|
||
up in their battle against the free Unix clones (by providing them
|
||
with some limited support for running Windows '95 software). (From the
|
||
looks of it the WINE and Bochs projects may eventually be more
|
||
capable).
|
||
|
||
Luckily these, and the other interesting user space projects that are
|
||
going to make Linux more accessible to non-technical users, like
|
||
GNOME, KDE, and GNUStep are portable. Linux has been a primary
|
||
development platform for many of these projects --- but they all run
|
||
under other versions of Unix.
|
||
|
||
So, while it may look like Linux is "taking over the world" --- it is
|
||
also opening up a world of opportunity for all of the other Unix
|
||
variants. There are now a few million users of Linux that will feel
|
||
right at home in just about any Unix on just about any hardware.
|
||
|
||
Perhaps that's why Sun and SGI are both supporting Linux projects.
|
||
_________________________________________________
|
||
|
||
(?) SCO Compatible Console Keymaps?
|
||
|
||
From Jim Kjorlaug on 25 Jun 1998
|
||
I work for a company that sells vertical solutions using SCO unix as a
|
||
platform. We are currently looking at linux as another possible
|
||
platform and I have found a possible contention. Does there exist a
|
||
keytable that causes the linux keyboard to behave like an SCO console.
|
||
I have already worked out the termcap for SCO ansi to work on linux
|
||
but some of the keymaps have me stumped. Any suggestions or advice
|
||
would be greatly appreciated. I realize that we could modify our
|
||
application but it would be much easier if it were possible with a
|
||
keytable.
|
||
Thanks in advance for any help you can provide.
|
||
Jim Kjorlaug
|
||
Teleflora Technologies
|
||
|
||
(!) I don't know how a SCO console keymap is supposed to behave ---
|
||
but Linux does have utilities to remap the console keyboard to your
|
||
heart's content. All of the popular distributions include the
|
||
'loadkeys' and 'dumpkeys' programs (parts of Andries Brouwer's
|
||
'kbd' package). You can look at the man pages for these for
|
||
details.
|
||
I've never used these packages much --- just once to set up "sticky
|
||
shift" keys for a friend who lost most of the use in one arm to a
|
||
stroke a couple of years ago and again to answer some other
|
||
question back before I started this column.
|
||
It does seem quite odd that you'd go for console specific binding
|
||
rather than using the more portable termcap/terminfo
|
||
(curses/ncurses) interfaces which would allow your app to be
|
||
accessed via terminals, over modem/dial-up connections, across
|
||
telnet sessions and from within xterms. However, I'm sure you have
|
||
your reasons.
|
||
Yann Dirson is working on a package called "Linux console tools"
|
||
which enhances the kbd package.
|
||
There is also a console fonts package (the 'setfont' command is
|
||
also included with many Linux distributions; it allows you to
|
||
choose from among about 100 different VGA/EGA compatible console
|
||
fonts, some of which are quite silly). Andries Brouwer is
|
||
apparentlly the co-author of the console fonts package, too.
|
||
Good luck on the port and welcome to the club.
|
||
_________________________________________________
|
||
|
||
(?) Breakin' Out of the chroot() Jail
|
||
|
||
Or: adding "disabilities" to Linux
|
||
|
||
From Ron Arts on 25 Jun 1998
|
||
Hello,
|
||
I saw a post by your hand from 26 Apr 98 in
|
||
comp.os.linux.development.system where you said a lot of noteworthy
|
||
things on linux security. Also I have been talking to Jos Vos from
|
||
Xopen Systems (who wrote the ipfwadm package).
|
||
Both you and he noted the possibility to break out of a chroot jail
|
||
(once you become root there). It seems that devices are the weak
|
||
factor.
|
||
|
||
(!) It seems that letting anyone "become root there" is the weak
|
||
factor! If we can reduce the need to "become root" --- by providing
|
||
mechanisms other than "SUID" and "SGID" programs for accessing
|
||
"privileged" operations than we have made some progress.
|
||
One approach would be the POSIX.1e "capabilities" (which are more
|
||
like VMS style "privileges" than true "capabilities"). There is a
|
||
bit of preliminary work being done on this in the 2.1.x kernels ---
|
||
but nothing is likely be usable in 2.2 (so you're looking at Linux
|
||
2.4 before there is "stable" support for any of that).
|
||
Another approach is to limit the damage that 'root' can do using
|
||
something like the BSD securelevel features. Last I heard on the
|
||
Linux kernel mailing list they had dropped plans to put in simple
|
||
'securelevel' support in favor of a "more flexible" approach ---
|
||
which would mesh better with the eventual POSIX.1e ("Orange Book")
|
||
work.
|
||
* (The implementations of 'securelevel' in all of the popular BSD
|
||
variants, free and commercial have been vulnerable to a few
|
||
attacks via the /proc filesystem and more recently via ptrace()
|
||
--- so having Linux adopt one of those designs might not be a
|
||
sound idea. We'll see).
|
||
|
||
I'm a little shy on the implementation details and design but I
|
||
think they said it would essentially be a bit field of limitations
|
||
that would be set on a per process basis. There would be bits to
|
||
prevent various syscalls like mknod(), chroot(), mount(), etc. In
|
||
the POSIX.1e model this would later become the "maximum privileges
|
||
mask" --- and the individual privileges would be set by meta data
|
||
on the executable files (think of that as a list of about 80 "P"
|
||
bits rather than just the SUID and SGID bits we have now).
|
||
The argument for this is that we could set any set of this bits we
|
||
want on the 'init' process (PID 1) to accomplish the same
|
||
limitations as we get with BSD's 'securelevel'.
|
||
That's a pretty compelling argument so far as I'm concerned. My
|
||
main hesitation beyond that has to do with code complexity. The BSD
|
||
crowd has been trying to get their 'securelevel' implementations
|
||
right for years --- and the ptrace() bug was just found a couple of
|
||
weeks ago.
|
||
It's not a simple problem. NT's "object" model (and I use the term
|
||
"object" very loosely) provides ACL's on files, registry keys, and
|
||
all sorts of other OS elements. There is work underway to add ACL
|
||
support to Linux --- over some filesystems at least. However, I'm
|
||
convinced that ACL's are a fundamentally flawed security model ---
|
||
and that opinion is based on some pretty good academic work.
|
||
Unfortunately the true capabilities security model entails a
|
||
completely different programming paradigm --- it doesn't translate
|
||
to Unix conventions at all. In my research (purely "armchair" or
|
||
"book larnin'") I spent most of my energy trying to unlearn the
|
||
Unix, Netware, and NT approaches.
|
||
You can read more about the capabilities security model at Jonathan
|
||
Shapiro's "EROS" (extremely reliable OS) web site:
|
||
|
||
http://www.cis.upenn.edu/~eros/
|
||
|
||
(EROS is an ongoing research project which will hopefully
|
||
eventually be available as a production operating system).
|
||
|
||
(?) I have been thinking about disabling the mount() or better the
|
||
mknod() systemcall when executed from chroot'ed programs (patching the
|
||
kernel).
|
||
|
||
(!) I think the "capabilities" (or Linux "securelevel" or
|
||
"privmask") patches will allow you to disable access to these sorts
|
||
of syscalls. I also suspect that these "disabilities" (a more apt
|
||
description really) will be inherited by all forked processes. They
|
||
will certainly need to be immutable (by the process) and will have
|
||
to imply certain disabilities with regards to kmem and /proc access
|
||
by the 'root' processes that are running within these process
|
||
groups.
|
||
You can look at the existing patches (in the recent 2.1.1xx
|
||
kernels) and possibly build on that.
|
||
|
||
(?) Do you think that would be worth the effort? We currently run
|
||
ftpd, telnetd, sshd and some more things chroot'ed in a very minimal
|
||
linux environment. Based on the false assumption that even when you
|
||
make it to becoming root you cannot break out of that.
|
||
|
||
(!) The assumption that the chroot() jail is inescapable by rogue
|
||
root processes is very bad. You've discovered that.
|
||
The main advantage for chroot() have to do with limiting the number
|
||
of SUID/SGID programs that are accessible in the effort to exploit
|
||
various vulnerabilities that are used to get root or other
|
||
unauthorized access. The other advantage is that you can limit the
|
||
amount of snooping that a class of users (anonymous and guestgroup
|
||
ftp, for example) can perpetrate on other users on the system.
|
||
In other words you can limit the exposure of your "general" users
|
||
from some classes of other users. For a long time the most
|
||
important element of this was to prevent FTP users from grabbing
|
||
your passwd file and running 'crack' on it. With the advent of
|
||
shadow password systems that has been much less of a concern.
|
||
These days the most common approach to securing systems is to
|
||
create special, sacrificial hosts for each service and class of
|
||
users. Linux and {Free|Net|Open}-BSD have made this an increasingly
|
||
economical and attractive option since we can put any old "junker"
|
||
386 or better to work in this sort of role (some people are giving
|
||
away 386 and 486 systems these days). This is easy enough for
|
||
commercial sites --- but more of a problem for ISP's and
|
||
educational sites, which traditionally still have shell access to
|
||
at least some of their machines.
|
||
|
||
(?) I think very few programs use mknod(), and that probably are the
|
||
programs you wouldn't allow in a chroot'ed environment anyway. I also
|
||
think it would be a relatively small patch, I've done some digging and
|
||
- not being a kernel expert - it seemed pretty easy. The only thing
|
||
left to find out is how to detect in the kernel that the current env
|
||
is chroot'ed.
|
||
|
||
(!) The kernel obviously already tracks the 'root' directory
|
||
(device:inode) for every process. I think it's a field in the uarea
|
||
struct (a data structure maintained by the kernel for every
|
||
process).
|
||
|
||
(?) Can you offer any thoughts on this, I'd like to know if I am on
|
||
the wrong track (again) here.
|
||
Thanks in advance,
|
||
Ron Arts
|
||
Netland Internet Services
|
||
|
||
(!) Look at the existing (2.1.x) sources for references to
|
||
"securelevel" and "capabilities" --- I'm sure they're in there
|
||
somewhere. You can also consider contributing to the Linux Security
|
||
Audit project. See the following URL's for more details:
|
||
|
||
The Linux Weekly News article on it (search on the keyword "audit"):
|
||
http://www.lwn.net/980625/
|
||
|
||
Their currently archives/web site:
|
||
http://www.nas.nasa.gov/Pubs/Mail/archive/linux-security-audit/
|
||
|
||
If your organization needs these features and is willing to donate
|
||
some web space and some personnel time and expertise to the project
|
||
--- you'll be doing yourself and all of us alot of good.
|
||
_________________________________________________
|
||
|
||
(?) Clipper/xBase Capacity Problems --- DOSemu as a Solution?
|
||
|
||
"I don't think so."
|
||
|
||
From Steven Jackson on 25 Jun 1998
|
||
Hi AnswerGuy,
|
||
I was reading an article on the web about diskless workstations and
|
||
redhat when I recognised your name, (I think you helped me out with
|
||
redhat a long time ago, thanks).
|
||
|
||
(!) You're welcome.
|
||
|
||
(?) I look after a small network of 4 pcs at a doctors surgery which
|
||
runs an accounting package and an appointments diary compiled under
|
||
Clipper. System Manager is run on the host pc which does all of the
|
||
local processing of these applications and the clients run as virtual
|
||
terminals.
|
||
|
||
(!) I don't know what you mean by "system manager" --- from what I
|
||
remember/know of dBase and Clipper these were designed as
|
||
single-user database systems. The multi-user deployment of xBase
|
||
applications normally relies on "record locking" (similar to file
|
||
locking but allowing one to request exclusive access to a portion
|
||
of a file).
|
||
In this model the .DBF files are normally stored on a network
|
||
filesystem (Netware, LANtastic, and later WfW among others). I
|
||
don't know if Samba or the Mars-NWE (Netware emulator) supports
|
||
these forms of record locking.
|
||
It is unclear from your description how your are running this. You
|
||
mention 4-PC's and Clipper (a DOS based compiler/developement
|
||
package for dBase programming), which leads me to think of
|
||
networked DOS systems --- then you mention "virtual terminal" which
|
||
suggests that you're using a multi-user OS (like Linux).
|
||
Are you running DR or CCI's "Concurrent DOS" (or their later
|
||
"M-DOS" or "Multi-user DOS") or something like TSL's "PC-MOS"
|
||
(another multi-user MS-DOS clone)? Is "System Manager" yet another
|
||
multi-user DOS?
|
||
|
||
(?) Over the past year or so the system has run slower gradually to
|
||
the point where it is getting annoying. I'd like to try running linux
|
||
on the fileserver and somehow run the dos based clipper programs under
|
||
dosemu. I think it would be wise to keep all the *.dbf files on the
|
||
server rather than sending them over the network. I got the idea from
|
||
the recent Linux Journal article about the Latvian Police dept.
|
||
|
||
(!)
|
||
|
||
The first question is:
|
||
Why is the performance degenerating?
|
||
|
||
The obvious suggestions are:
|
||
Have you been regularly "pack"-ing your databases (purging
|
||
deleted records and transactions)?
|
||
Have you been maintaining your indices? (Indexing is usually a
|
||
vital key to db performance).
|
||
Have you been defragmenting your filesystems regularly?
|
||
Has your system utilization increased in some marked way
|
||
(you've added *lots* more customers, etc)?
|
||
Does your current design have any features or support for
|
||
migrating old and inactive records to "archival" or
|
||
"historical" databases (tables) so that the "active" db
|
||
routines are maintained at feasible sizes?
|
||
Are there other activities on your LAN that might be causing
|
||
network congestion?
|
||
|
||
Regarding the notion of running the existing program under DOSemu .
|
||
. .
|
||
I don't know if that will do any good at all. Since we don't know
|
||
what is causing the problem, it seems premature to recommend
|
||
solutions. My first thought is that moving the processing from four
|
||
systems onto a single one (even a single system under a superior
|
||
OS) is unlikely to improve overall performance.
|
||
|
||
(?) Do you have any ideas about how I could embark upon this?
|
||
Thanks,
|
||
Steve Jackson
|
||
|
||
(!) I have many ideas. The first, and most obvious, would be to
|
||
port the application to a client/server database design --- one
|
||
that's designed to be multi-user and scalable at the outset.
|
||
Another, less radical approach would be to take the existing
|
||
Clipper sources and port them to Flagship (an xBase to C
|
||
development package from WorkGroup Solutions).
|
||
... their web pages suggest that they will soon be shipping betas
|
||
of a "visual" frontend for xBase programming. That should be
|
||
interesting for all those "VB" and "VC++" developers that are still
|
||
clinging desperately to Microsoft's platform.
|
||
Or you might try X2C from:
|
||
|
||
http://www.on-the-net.com/x2c/
|
||
|
||
The questions I asked above may give you some ideas for some
|
||
"stopgap" measures (re-index, defrag, migrate inactive records,
|
||
etc). In the long run you'll want to do some analysis to see if the
|
||
current system can continue to meet your needs.
|
||
If you do decide to go with a client server model you have many
|
||
choices that run under Linux. There are the free and shareware
|
||
packages like mSQL, Beagle and MySQL and there are a number of
|
||
commercial packages like InfoFlex Adabas, and the JustLogic SQL.
|
||
Rather than give URL's to all of these I'll just point you at the
|
||
definitive guide to RDBMS packages for Linux --- maintained by
|
||
Christopher B. Browne at:
|
||
|
||
http://www.hex.net/~cbbrowne/
|
||
http://www.ntlug.org/~cbbrowne/rdbms.html
|
||
|
||
... and another excellent list of Linux business applications
|
||
maintained by Linas Vepstas (NOT to be confused with Linus the
|
||
kernel guy) at:
|
||
|
||
http://www.linas.org
|
||
http://www.linas.org/linux/db.html
|
||
|
||
I should mention that you aren't limited to just xBase or SQL ---
|
||
there are a number of alternative DBMS system that are available to
|
||
Linux and other Unix users and programmers --- including a number
|
||
of object-oriented and hybrid systems. Allegedly there's even Linux
|
||
support for the venerable Pick system.
|
||
_________________________________________________
|
||
|
||
(?) Linux as a "Domain Controller" for a WinNT Domain? Not Yet!
|
||
|
||
or: Linux use of an NT PDC/BDC for authentication?
|
||
|
||
From Cesar Augusto Kant Grossmann on 25 Jun 1998
|
||
Hi James!
|
||
Again a problem to me, and a exercise to you.
|
||
Is it possible to make the Linux Box do login authentication requests
|
||
from a NT Domain Server?
|
||
|
||
(!) Not yet. The Samba team is working on this and hopes to have
|
||
something ready within a couple of months. Lest you think this is
|
||
all wasted effort (on the thought that Microsoft will ship NT 5.x
|
||
in a year or so) --- the indications seem to be that the MS NT
|
||
implementation of Kerberos will still rely heavily on the data
|
||
structures that they currently use in their PDC/BDC protocol. So,
|
||
the work being done now is an investment to the future as well as a
|
||
hope for the near-present.
|
||
|
||
(?) I have a Linux box in a TCP/IP network, part of a large NT Domain,
|
||
and want to allow NT domain-users to log in the Linux Box and access
|
||
Internet in it. The idea is provide access to the Linux Box without
|
||
having to register every user. The users don´t need a regular account,
|
||
with home directory, because Internet access is not frequent (thanks
|
||
to a low connection) and they only use it to surfing (not email, not
|
||
FTP).
|
||
|
||
(!) Hmm. It looks like I read too much into your first paragraph.
|
||
This sounds like you want Linux to be a client to an NT domain
|
||
controller. I think there is a PAM (pluggable authentication
|
||
module) for doing this.
|
||
Since the whole PAM project is still in beta (and not moving nearly
|
||
fast enough for my tastes --- not that I've contributed to it nor
|
||
that the programmers would want me to) I can't make any promises on
|
||
how well it will work.
|
||
However the state of PAM can speak for itself at:
|
||
|
||
http://www.kernel.org/pub/linux/libs/pam/
|
||
|
||
(Andrew Morgan's pages on the Transmeta sponsored Linux site).
|
||
The module you might want to play with is by David Airlie and is
|
||
at:
|
||
|
||
http://www.csn.ul.ie/~airlied/pam_smb/
|
||
|
||
Other modules (for things like one-time passwords, authentication
|
||
on a Netware server, a couple of different "SecureCard" and
|
||
"DESGold" cards, RADIUS, and support Kerberos realms, etc) can be
|
||
found by browsing around at:
|
||
|
||
http://www.kernel.org/pub/linux/libs/pam/modules.html
|
||
|
||
(?) No, I don't want to make the Linux Box act as a firewall (I don't
|
||
have authorization to do that). And, again, sorry my bad english...
|
||
TIA
|
||
Cesar Augusto Kant Grossmann
|
||
Uruguaiana - RS - Brasil
|
||
|
||
(!) Given the muddy murky nature of the term "firewall" the
|
||
difference between what you're doing and "acting as a firewall" may
|
||
be purely a matter of semantics. However, if it'll keep your
|
||
management happy I'll go into a Brazilian court of law as an
|
||
"expert witness" to state my opinion that this is not a "firewall."
|
||
If by "surfing" you mean that your users will only be using the
|
||
Linux system as a web proxy --- why are you fussing with
|
||
authenticating them at all? Why not just install Apache and
|
||
configure it purely for caching/proxy use --- or use Squid (there
|
||
are RPM's avaiable --- they were included with my copies of
|
||
S.u.S.E.
|
||
Apache, CERN, and Squid can all be configured as caching web
|
||
proxy/servers and can all be configured with a variety of
|
||
limitations on which systems are allowed through in which
|
||
directions. Do you really care which user is logged into the
|
||
workstation that is using these proxies? That seems like an odd
|
||
requirement unless you're also trying to enforce some other
|
||
policies (like certain classes of employees are only allowed to
|
||
"surf" during their lunch hour, etc).
|
||
I suggest you actually review your requirements a bit further. It
|
||
sounds like you are complicating matters more than the situation
|
||
requires.
|
||
_________________________________________________
|
||
|
||
(?) "DAO" (Disk at Once) CDR?
|
||
|
||
Stump me!
|
||
|
||
From Mark Heath on 25 Jun 1998
|
||
Hi there,
|
||
I've been searching high and low for DAO (disk at once) CDR recording
|
||
software for linux. Does any exist, Commercial or otherwise?
|
||
I've email Jeff Arnold about a Linux port and he bluntly refused.
|
||
I've email'd HyCD who have a tool that appeared to support DAO and
|
||
claimed UNIX support. But their software didn't support DAO and they
|
||
weren't interested in a Linux port. I've informed them of this hole in
|
||
the Linux software market.
|
||
The closest thing that appears to be available is that Joerg
|
||
Schilling's cdrecord supports DAO MMC-3 (err i think that is the spec)
|
||
Of course my CDR (HP 4020i) isn't MMC compatible.
|
||
I've had a look at writing my own but it appears that every CDR has a
|
||
different command set to write in DAO mode. I think is was a little
|
||
out of my depth, since I couldn't even get the CDR to read raw
|
||
sectors.
|
||
So your help would be much appreciated. Thanks.
|
||
Mark.
|
||
|
||
(!) Well, you have me stumped.
|
||
I don't know anything about the difference between DAO and other
|
||
forms of CDR recording. Normally, I'd spend an hour or two hunting
|
||
around on Alta Vista, Yahoo!, Savvy Search, DejaNews, etc and
|
||
pulling out more of my hair to find out. However, I have a book to
|
||
write and a wife to feed, and it is just too close to my deadline
|
||
for me to wait until tomorrow.
|
||
So, what is DAO and why would you need it? What is the difference
|
||
between cdrecord and cdwrite (the one I use with my Ricoh CDR)?
|
||
Have you tried them both? What is MMC? Who is Jeff Arnold? Who are
|
||
HyCD and should we care enough to start another Linux grassroots
|
||
"petition-the-vendor" campaign or should we just write more code to
|
||
"do-it-ourselves"?
|
||
I'll publish this one --- and let you and the rest of my readership
|
||
nail me with the answers. (Naturally I'll bounce you copies of the
|
||
other responses as they trickle in).
|
||
_________________________________________________
|
||
|
||
(?) tn3270 security
|
||
|
||
From Art Blair on 25 Jun 1998
|
||
When I try to use tn3270 or X3270 on my redhat 5.0 box to connect to
|
||
our school's system I get
|
||
|
||
TELNET Server: Session security is required.
|
||
TELNET Server: Good-bye!!!
|
||
Connection closed by foreign host.
|
||
|
||
Is there a different version of tn3270 that has session security or
|
||
some way to enable it with what I have?
|
||
Thanx, Art Blair.
|
||
|
||
(!) Are you sure you want to be using tn3270 (or x3270) to make this
|
||
connection? Are you connecting to an IBM mainframe or minicomputer
|
||
(presumably using the 3270 "block mode" --- full-screen protocol ---
|
||
and EBCDIC)?
|
||
Also does your site use Kerberos or some form of SNA security
|
||
(encryption or host-to-host authentication)?
|
||
The sad fact is that I know nothing about 3270 emulation or about the
|
||
SNA protocols. You'll want to contact your site admin or help desk to
|
||
find out more about their requirements. They should also be able to
|
||
let you know if there are any freely available client/terminal
|
||
emulation packages that are suitable for use with their facilities.
|
||
|
||
(?) please do not publish my email address or use it for advertising
|
||
|
||
(!) We usually strip out e-mail addresses from the published
|
||
version of the column.
|
||
_________________________________________________
|
||
|
||
(?) readdress COM port to 3 or 4
|
||
|
||
From PJ on 25 Jun 1998
|
||
can you tell me how to readdress COM port2 to port 3 or 4? I need to
|
||
use COM port 2 for other device.
|
||
|
||
(!) No. I can't. You'll want to refer to the documentation that
|
||
should have come with your hardware (this is almost certainly a
|
||
hardware issue that is completely unrelated to the OS or software
|
||
that you're running). The details vary among manufacturer, devices
|
||
and models.
|
||
If you have a couple of COM ports built into your motherboard it is
|
||
possible that you can disable or reset the I/O addresses, IRQ's and
|
||
other details for your COM ports via the CMOS setup program (the
|
||
interface through which you set the date and time, the hard drive
|
||
type and geometry and various other firmware settings that are
|
||
stored in extra registers of your PC's clock chip --- a chip which
|
||
uses CMOS technology so that it dissipates very low power
|
||
consumption and is thus suitable for operation off of a battery
|
||
while the system is powered down).
|
||
This "setup" program is usually (almost always) stored in the
|
||
system firmware (the BIOS ROM's on your motherboard) and is
|
||
typically accessible at boot/power-up via some system dependent
|
||
keystroke. Usually there is a message that is briefly displayed to
|
||
note what the magic keystroke would be --- something like:
|
||
|
||
"Press <Del> not to enter Setup"
|
||
|
||
If that doesn't work (either because your COM ports are not on your
|
||
motherboard or for other reasons) you can open up the case and look
|
||
at the various DIP and/or "berg" (jumper pins) settings that you'll
|
||
find. Some of them may be labelled. There might also be a
|
||
manufacturer's mark that might lead you to a website or phone
|
||
number where you can get support and documentation for the device.
|
||
If you can't find any documentation for some cheap multi-function
|
||
(IDE, floppy, COM, and parallel port) card --- your best bet is to
|
||
buy a new one (typically $10 to $35 US) and toss the old one into a
|
||
drawer as an emergency spare.
|
||
As a final note: please consider what it's like to answer such a
|
||
question. You give no details about what sort of system you have,
|
||
what you've tried (do you have any docs, have you looked at them),
|
||
what device you're trying to add (odd that it must be on COM2 ---
|
||
how do you know that), what OS distribution and software you're
|
||
running, etc.
|
||
You send a two line question which cannot be reasonably answered in
|
||
less than fifty. In IRC and on most newsgroups and mailing lists
|
||
you'd either be ignored or flamed. We're all volunteers here and
|
||
the one thing we ask is that you do your homework before you post.
|
||
I'm not saying this just to sound crabby (if I was going to be
|
||
irate, I'd've just deleted this). If you don't do your homework ---
|
||
and put considerably more thought and energy into your questions
|
||
than you won't get any satisfaction out of the Linux community.
|
||
_________________________________________________
|
||
|
||
(?) Installed on a Secondary SCSI HD: Lilo Stops at LI
|
||
|
||
From Rick V Smith on 9 Jun 1998
|
||
|
||
(?) I have installed linux on my second scsi drive the swap on a small
|
||
partition on my first scsi. and lilo on a big mbr for my win 95. the
|
||
start of linux went well but when I shut down and went to restart all
|
||
that happens is Li and the system hang's
|
||
Any Idea's.
|
||
Thank's Rick
|
||
|
||
(!) I don't know what you mean by "and like on a big mbr" --- all
|
||
MBR's (master boot records) are the same size on PC's --- one
|
||
sector!
|
||
It sounds like your BIOS can't "see" the 2nd SCSI drive -- so Lilo
|
||
can't "see" it either. The easiest solution would be to install
|
||
LOADLIN into a DOS/Win '96 directory --- with a copy of your
|
||
kernel(s). The kernel doesn't rely on the BIOS to access your
|
||
drives (since it provide 32 bit native drivers for your SCSI card
|
||
--- etc) so it will find its root filesystem with no problem.
|
||
Another think to try is to add the "linear" switch to your
|
||
/etc/lilo.conf --- and then rebuild the boot block and boot map
|
||
using the /sbin/lilo command. Read the lilo man pages and/or look
|
||
at the lilo "user" and "tech" .dvi files using xdvi (under X
|
||
Windows) for details.
|
||
There may be other settings that you'll have to tweak to get it
|
||
working. This is particularly true if you have a large SCSI drive
|
||
(my guess is that your second drive is bigger than 2 Gb -- and your
|
||
first one isn't). Look in the CMOS/Setup settings (or whatever your
|
||
SCSI card provides) for things that suggest that it is doing
|
||
something "fun" to make the large drive "DOS compatible").
|
||
Jim,
|
||
|
||
(?) I found the following line you wrote in a responce to someone else
|
||
and this cured my hair loss problem, that probably worked better than
|
||
Rogain. Thank's for the time and insight.
|
||
Rick
|
||
|
||
# The stanza for booting Linux.
|
||
image = /vmlinuz # The kernel is in /vmlinuz
|
||
label = linux # Give it the name "linux"
|
||
root = /dev/hda2 # Use /dev/hda2 as the root
|
||
filesystem
|
||
vga = ask # Prompt for VGA mode
|
||
append = "aha152x=0x340,11,7,1"
|
||
# Add this to the boot options,
|
||
# for detecting the SCSI controller
|
||
|
||
http://sunsite.unc.edu/LDP/HOWTO/Installation-HOWTO-8.html#ss8.2
|
||
_________________________________________________
|
||
|
||
(?) Running Unix/Linux Under Win '9x
|
||
|
||
From John Riddoch on the comp.unix.questions newsgroup on 05 Jun 1998
|
||
Jeff wrote:
|
||
I need a question answered. I am running Windows 95 and soon 98. ...
|
||
I was wondering if there is any way to run the unix program itself in
|
||
a program window in Win 95,
|
||
unix is not a program; it is an operating system. You _cannot_ run two
|
||
operating systems at the same time on the same hardware. Dual-booting
|
||
is a different matter.
|
||
|
||
(!) And running an OS under simulation or under a VM is also a
|
||
"different matter." Also not that the phrase "OS" is not so
|
||
precisely defined that you can defend this position. For example
|
||
the IBM mainframes support VM's (virtual machines) that would allow
|
||
the concurrent use of multiple OS'. Also consider the case of Tenon
|
||
Systems' "MachTen" a microkernel OS that support MacOS running as a
|
||
personality under the microkernel.
|
||
|
||
(?) just like you can run win 95 the same way on a mac.
|
||
???? I sincerely doubt it. Perhaps the mac had an emulator that ran
|
||
win 95 programs. Apart from anything else, win 95 is i386 only and
|
||
won't run on a 68000 (or whatever macs use these days).
|
||
|
||
(!) He's probably referring to VirtualPC --- an emulation of the
|
||
hardware, including CPU, video, disk, I/O, and ethernet chipsets.
|
||
There's also RealPC. These are the most popular PC emulators under
|
||
MacOS.
|
||
Modern Macs run the G3 (PowerPC) processor, and the performance of
|
||
Win '95 under VirtualPC is tolerable (about equivalent to a Pentium
|
||
90 on a 250 Mhz G3 Powerbook (laptop) and about a Pentium 75 on a
|
||
180 Mhz Performa).
|
||
Getting back to the original question:
|
||
There is a shareware package (distributed as source code and
|
||
available for free evaluation) by Kevin Lawton called Bochs.
|
||
This started as a PC emulator (hardware) emulation for Unix
|
||
(including Linux) that is allegedly capable of supporting Win '95
|
||
under emulation. It apparently isn't quite up to supporting NT
|
||
(apparently the CPU emulation is only 386 and NT requires 486 or
|
||
Pentium emulation). For info on that look at the Bochs web site:
|
||
(http://world.std.com/~bochs/). It looks like Kevin will be
|
||
upgrading the processor emulation as time (and possibly funds)
|
||
allow. Apparently you can License this package for $25. (I haven't
|
||
used it yet, but I might send him the money just 'cause I'm so
|
||
impressed by the effort).
|
||
I know this doesn't answer the question Yet but hang with me a
|
||
moment. Someone named David Ross seems to have ported Bochs to the
|
||
Win32 platform, thus allegedly allowing one to run Linux, FreeBSD,
|
||
or (presumably) most other forms of x86 Unix.
|
||
|
||
(?) if you can gimmie a hand and maybe tell me some sites where i can
|
||
download some software please tell me.
|
||
|
||
(!) See above.
|
||
|
||
(?) You might try http://www.linux.org/ for a few pointers. Do some
|
||
web searches for linux and read some stuff. RedHat linux 5.0 is a
|
||
reasonable version which is nicely pre-packaged for you and fairly
|
||
easy to install (http://www.redhat.com/).
|
||
|
||
(!) Having answered the basic question (where can you find a PC
|
||
emulator for Win '9x) I have to add my own suggestion:
|
||
|
||
Don't do it.
|
||
|
||
You can buy a cheap PC (even an old used 486) for next to nothing
|
||
(I've recently had one 40Mhz 386 given to me for free); and you can
|
||
install Linux on that.
|
||
(My main household server is a 10 year old 386/33 with 32 Mb of
|
||
RAM. Eventually I'll install some extra RAM and a new disk into
|
||
that "new" 386 and throw it up as an extra server on my LAN).
|
||
Once you have a machine (give it at least 16Mb and at least a 540Mb
|
||
drive) then you can just slap a null modem between it and you
|
||
desktop machine, or toss in a couple of ether cards and a
|
||
cross-over 10BaseT cord (or even by a little 4 or 5 port hub). Once
|
||
that's done you can use a terminal package (like Hyperterm, Telix,
|
||
or K95 -- Columbia U's Kermit for Win '9x), or even Kermit for DOS)
|
||
to connect to the Linux box. If you go the ethernet route you can
|
||
use Win '95's 'TELNET.EXE' or you can still use K95 (it's also a
|
||
telnet client --- and it's terminal emulation is far less buggy
|
||
than Microsoft's --- so you won't need a custom termcap/terminfo
|
||
file to run "curses" (Unix/Linux "full scree" terminal/console)
|
||
applications).
|
||
There are two reasons for me to suggest this approach:
|
||
First, you are likely to be very unhappy with the performance of
|
||
running any form of Unix under emulation. Although Linux performs
|
||
adequately on a 386 with only 16Mb of RAM --- and some kernels can
|
||
run in as little as 2Mb --- you'll probably just find emulation to
|
||
be too frustrating to be useful --- particularly when using any
|
||
Unix networking utilities.
|
||
The only two viable reasons I can see for the mode of operation
|
||
that you've requested are:
|
||
* You want to play with Unix to learn it.
|
||
* You want to use Perl/awk, or other text processing tools that are
|
||
considered to be "Unix" utilities.
|
||
|
||
You won't learn as much about Unix by running it under emulation
|
||
--- and you'll probably end up being too frustrated by its
|
||
performance to come away with a realistic appreciation of it.
|
||
In the other case you can get versions of Perl, awk, and most other
|
||
Unix utilities, shells, editors and many other tools that have been
|
||
ported to Win32 (and even to DOS, often using the GNU'ish Go32 "DOS
|
||
extender").
|
||
The other reason for my suggestion is that Linux, even on a lowly
|
||
386, makes a great server. My box has over 6Gb of online storage
|
||
(which I'll probably double in the 40Mhz) a magneto optical drive,
|
||
a CD-ROM and a CDR recorder, a 4mm DAT autochanger, a modem line
|
||
(which handles uucp, incoming and outgoing fax, dial out
|
||
terminal/BBS'ing, dial in terminal, and dial out PPP and will
|
||
handle dial-up PPP when I get around to configuring it), a null
|
||
modem into the living room (for use from an old XT laptop) and some
|
||
other toys.
|
||
The machine has currently been up for about three months.
|
||
I forget why I rebooted three months ago, maybe I built a new
|
||
kernel for it or maybe I just made some changes to the startup
|
||
files and wanted to make sure it would come up automatically. It's
|
||
been used as my mail gateway and newserver for a few years --- and
|
||
it was used as my primary interactive machine (mostly text editing)
|
||
for years. My wife and our various house guests sometime still use
|
||
it or the dumb terminal to read their mail (if they don't want to
|
||
use one of the Pentium's in the living room or in my bedroom).
|
||
Sometimes I dial into to it from a client site (I'm a consultant)
|
||
or even from some local coffee house using the Ricochet wireless to
|
||
telco gateway (offered in selected areas by Metricom:
|
||
(http://www.metricom.com/).
|
||
You can use Linux as a gateway. Its kernel offers an optional
|
||
feature called "IP Masquerading" which is a special form of
|
||
"network address translation" (NAT) that allows you to hide a whole
|
||
network of computers (using "private net IP addresses" like
|
||
10.*.*.*, 192.168.*.* and others defined in the RFC 1918). It is
|
||
trivial to install a package called 'diald' that will dial up your
|
||
ISP on demand (automatically when any of you computers try to
|
||
access the Internet -- or any other non-local nets) and will
|
||
automatically drop the line after a configurable period of
|
||
inactivity. This puts virtually no load on a machine (not
|
||
measurable on my 386!).
|
||
Another handy server role you can assign to your Unix box (Linux or
|
||
otherwise) is as a household schedule/reminder service. The Unix
|
||
'cron' and 'at' facilities are just perfect for this. You can write
|
||
simple scripts and schedule them for periodic execution (cron) or
|
||
for one time execution in the future (at). With slightly more
|
||
complex scripts (using the GNU 'date' command, and simple shell
|
||
conditionals and tests) you can do arbitrarily complex scheduling.
|
||
It is truly easy to set this up to automatically e-mail you
|
||
reminders post them to your "intranet web server" or to even page
|
||
you (using a normal modem) as an alarm service.
|
||
Eventually I expect someone to release a set of CGI scripts to act
|
||
as a front end to a reminder/alarm service --- which you could toss
|
||
up on your "intranet" server.
|
||
Using a little box as an "intranet" web server for a household or
|
||
small business also takes almost no memory or CPU power on a Linux
|
||
or FreeBSD box. I think the overhead is about 70K for a small web
|
||
server, and you can even configure them to be "dynamically" loaded
|
||
if you're really pressed for RAM. The little box can also function
|
||
as a fileserver for you Win '95 box by using Samba, a Unix package
|
||
that provides Windows/NT compatible file sharing. It's easy to run
|
||
all of these functions on the same box, they don't conflict with
|
||
one another at all, and most of them present very little load on
|
||
the server.
|
||
On top of all that you can use the old clunker to run household
|
||
appliance over the old BSR X-10 "Powerhouse" interface (also sold
|
||
as "ActiveHome"). Larry Wall just gave a talk at the Silicon Valley
|
||
Linux user's group showing us a demo of how he's automated his
|
||
house. It was incredibly amusing. He has a detector on his clothes
|
||
dryer, in the garage, that announces through the household PA
|
||
system when the laundry is done; and motion sensors on the walk way
|
||
leading up to the front door to announce visitors, and scripts to
|
||
tell his wife and kids when they get mail (presumably he gets too
|
||
much mail to want such an announcment for himself).
|
||
Naturally you can put a sound card in the PC and run PA/Speakers
|
||
off of it to do various cool things.
|
||
The point is that you can't do all of this when you're running Unix
|
||
in an emulator under Win '95 (since the chances are too great that
|
||
you'll need to reboot it, and also since your emulator won't have
|
||
access to most of the hardware that we're talking about --- it can
|
||
only access the virtual/emulated hardware. The other problem is
|
||
that Win '95 is generally not nearly as stable as any form of Unix.
|
||
Even NT doesn't come close to Linux, FreeBSD, or any of the popular
|
||
forms of Unix for stability.
|
||
For the same reasons you won't benefit nearly as much from a dual
|
||
or multi boot configuration. There's not much point to having a
|
||
"server" that you keep rebooting to play Doom (which is available
|
||
for Linux, BTW) or to read that MS Word document.
|
||
Although I've focused on Linux (and I prefer it for my personal
|
||
use) all of what I've said applies to FreeBSD, NetBSD, and OpenBSD
|
||
among others. (There are some differences, the *BSD's don't have
|
||
their NAT/masquerading and packet filtering in the kernel -- it's
|
||
run as a user process, things like that. If you're learning Unix
|
||
for professional reasons I'd definitely suggest that you clock in
|
||
some time and practice on any one of the BSD systems as well as on
|
||
a Linux box. Potential employers (in Unix savvy companies) will be
|
||
far more intrigued by entry level applicants who've worked with
|
||
BSD.
|
||
Also, if you want to play with the X Window system (the dominant
|
||
tehnology for supporting GUI's under Unix --- though, technically,
|
||
it is a communications protocol and programming API --- and not a
|
||
"GUI") you won't want to run it on less than a Pentium. In that
|
||
situation I'd put one (character only) installation on the
|
||
cheap/used PC and install a dual boot configuration on your main
|
||
(Win '95) workstation. The best way to do that is to install an
|
||
extra hard drive on the workstation (so you don't need to
|
||
repartition your existing drives).
|
||
Even you decide to put one of the BSD's on your cheap/used server
|
||
you should probably still put Linux on your Win '9x workstation.
|
||
There are two reasons for this:
|
||
1. there are more commercially available productivity applications
|
||
available for Linux (WordPerfect, StarOffice, Applixware, Cliq,
|
||
Wingz, etc).
|
||
2. Linux has very good support for DOS, and Windows filesystems (and
|
||
even some, read-only and even NTFS and HPFS). You can even install
|
||
a small Linux distributions directly into a DOS subdirectory.
|
||
|
||
You could install Linux on the workstation and have it access most
|
||
of its files (almost all of them) over the network (over NFS). All
|
||
you need on a Unix box is a fairly small "root" filesystem. 20 Mb
|
||
is enough for all the "root" files (all you really need is /etc,
|
||
/dev/, and /sbin -- the rest can all be mounted over the LAN though
|
||
I'd suggest adding a local swap file or partition, and a local /tmp
|
||
directory).
|
||
If you do an installation like this: (with one server installation
|
||
on a dedicated PC and another on your workstation -- say FreeBSD on
|
||
the server and Linux on a multi-boot for your Win '9x box) you'll
|
||
get the maximum benefits and you'll learn enough about Unix to
|
||
qualify for professional work in the field.
|
||
So, in conclusion: You won't learn nearly as much about Unix from
|
||
any form of "emulation" or dual-boot arrangement. The principle
|
||
advantage of Unix has always been the client server model it uses.
|
||
Unix "wants" to be a server. It's as important to learn this
|
||
philosophy as it is to learn the syntax for a couple hundred Unix
|
||
commands. So, that's the best approach to installing and learning
|
||
it around your house.
|
||
_________________________________________________
|
||
|
||
(?) winprinters & MTAs
|
||
|
||
Pointers and Corrections
|
||
|
||
From John Levon on 05 Jun 1998
|
||
Hi, two points:
|
||
1) for win printers, someone has written a PPA driver. i don't have
|
||
the URL, but it was mentioned in 2 cent tips a while ago i think. This
|
||
possibly enables win printers to be used with linux
|
||
|
||
(!) In fact I had heard of it. However, it had not progressed far
|
||
enough along, last I checked, to be worth mention in LG. It's a
|
||
tough call for me whether to go dig up the latest scoop on a
|
||
digression or whether to gloss over it in the interests of
|
||
conveying the more important message.
|
||
The important message is that "Winprinters" and "Winmodems" are a
|
||
big lose for everyone involved (even for Windows '95 users, who may
|
||
find them "abandoned" in future versions of Windows and NT). These
|
||
are not "progressive" developments in the hardware market. The
|
||
other important message is that we shouldn't have to reverse
|
||
engineer these protocols.
|
||
While I admire the heroic efforts of people like Andrew Tridgell
|
||
(original architect of Samba, who implemented it by analysis of the
|
||
packets off "the wire")
|
||
For those that are interested in some info on the HP PPA printer
|
||
drivers for Ghostscript and Linux look at:
|
||
|
||
Ghostscript Printer Compatibility
|
||
http://www.cs.wisc.edu/~ghost/printer.html
|
||
|
||
... and follow their link to:
|
||
|
||
(Tim Norman's) PPA for the masses
|
||
http://www.rpi.edu/~normat/technical/ppa/index.html
|
||
|
||
... and for other printer stuff for Linux try Goob's:
|
||
|
||
Linux Links: Software : Utilities : Printer
|
||
http://www.linuxlinks.com/Software/Utilities/Printer/
|
||
|
||
(?) 2) instead of www.faq.org, try www.faqs.org. this is a top site
|
||
that automatically contains HTML versions of FAQs on rtfm.mit.edu
|
||
thanks,
|
||
john.
|
||
|
||
(!) Doh! I looked for that by memory and tried "faq.org" first. I
|
||
didn't think to try "faqs.org" (and it wasn't in the bookmark file
|
||
on the machine I was typing from at that moment). I remember being
|
||
impressed with faqs.org and as disappointed when I look "back"
|
||
(finding the wrong one).
|
||
Thanks for catching that!
|
||
_________________________________________________
|
||
|
||
(?) Dreaming about xBase tools for Linux
|
||
|
||
From Michael "Mookie" Kepler on the L.U.S.T List on 04 Jun 1998
|
||
Is there a FoxPlus program for Linux ? When I use the SCO FoxPlus on
|
||
Linux with iBCS module running, it can not read the data files.
|
||
Thanks,
|
||
Jyh-shing Chen
|
||
Michael "Mookie" Kepler
|
||
Ha! Dream on! I'm decloaking and posting just because I'm glad to meet
|
||
another living dinosaur. I, too, have too much experience with and an
|
||
irrational attachment to FoxPlus.
|
||
|
||
(!) I presume Fox-Plus is an xBase product related or similar to
|
||
FoxPro. If so you might look at WorkGroup Solutions "Flagship"
|
||
(http://www.wgs.com/fsad.html).
|
||
This is a full dBase compatible system, and xBase compiler.
|
||
(Actually I think it does a "compile to C" --- then you'd use gcc
|
||
to actually produce your binaries. That makes it more portable I
|
||
suppose).
|
||
You could also look at Christopher B. Browne's incredible annotated
|
||
link farm of Linux business and productivity applications:
|
||
|
||
http://www.hex.net/~cbbrowne/
|
||
|
||
... which has a page specifically one xBase dbms packages for Linux
|
||
at: http://www.ntlug.org/~cbbrowne/rdbms05.html
|
||
Oddly enough Christopher doesn't mention Versasoft's dbMan (dbMan
|
||
IV or dbMan 5.x). Perhaps the product has been discontinued. I
|
||
couldn't find any URL for it though there are a number of
|
||
references. I just guessed at "versasoft.com" and glanced at their
|
||
web site, which only mentions one product (VersaTOOLS; a FoxPro
|
||
add-on?). I've blind-copied the one e-mail address listed thereon,
|
||
so that he can respond with any info on the fate of dbMan, if he
|
||
feels so inclined.
|
||
So in answer to your question:
|
||
Yes! Dream on! There are dbms apps for Linux, and you DON'T have to
|
||
use SQL.
|
||
(Also, if you ever want to work with a dbms package that's less
|
||
like "DOS" and xBase, nothing like SQL and more like Unix shell
|
||
script programming, look at Revolutionary Software's package: /rdb
|
||
-- they have a Linux version. Apparently this /rdb is related to
|
||
Rand/Hobbs RDB -- Christopher's pages talk about this a little bit.
|
||
|
||
(?) I made my living pushing the limits of Sco FoxPlus for five years,
|
||
starting in 1989, making it do things it was never meant to do. It is
|
||
frustrating that so many people think that SQL and Relational are
|
||
synonyms, and that Relational and XBase are mutually exclusive. Every
|
||
database application I created with FoxPlus conformed to the
|
||
Relational data model. There is nothing in FoxPlus to prevent this.
|
||
Please let me know if you find anything FoxPlus-esque that works under
|
||
Linux. I've been looking myself and have found nothing comparable. If
|
||
they would just release the source code, we could get somewhere.
|
||
Whenever I encounter a trivial programming task, especially ones
|
||
involving tabular data, I always think of how much quicker and easier
|
||
it would be to turn it out in FoxPlus than 'C', or _shudder_ PlSql
|
||
(yuck!).
|
||
____________________________
|
||
|
||
(?) From Thomas Good on the L.U.S.T List on 5 Jun 1998
|
||
Jim - I have the opposite problem. I want to lose foxpro in favour of
|
||
SQL. I run an odd mix of dbs including Postgres, Progress and FoxPro.
|
||
The foxpro is sitting on a dos box and is need of extinction. It is
|
||
(obviously) single user and so the person who sits on the box has to
|
||
do all of the data input and answer the phone - doing queries as
|
||
requested.
|
||
I am moving her data onto a linux box and I want to shift the code
|
||
from foxpro to SQL. Any converters out there? Front end is not too
|
||
important as I will use perl (5 with DBI 0.91 and DBD-Pg 0.69). I just
|
||
need to rework the existing queries...thanks!
|
||
Tom
|
||
----------- Sisters of Charity Medical Center ----------
|
||
Department of Psychiatry
|
||
Thomas Good, System Administrator
|
||
North Richmond CMHC/Residential Services
|
||
|
||
(!) Look at Christopher's web pages (I cited it in my longer
|
||
message but it's at: http://www.hex.net/~cbbrowne/)
|
||
Specifically he lists a some conversion utilities and .DBF
|
||
libraries at: http://www.ntlug.org/~cbbrowne/rdbms05.html
|
||
Also don't forget to check the LSM (Linux Software Map). Here's a
|
||
couple of entries from there (not listed on CBB's pages):
|
||
|
||
.......
|
||
|
||
Title: Light DBF client/server dbms (LDBF)
|
||
Version: 0.9.9 beta
|
||
Entered-date: 17NOV95
|
||
Description: This is client/server dbms that operate with
|
||
DBF files and compatible with Foxpro CDX indexes.
|
||
Clients connecting with server via TCP/IP
|
||
and works with databases as on local machine.
|
||
Supports transactions,multi-user operation,
|
||
stored procedures,triggers,
|
||
password security,logging all operations,
|
||
flexible configuration.Implemented main suite of
|
||
xBase operators.
|
||
Includes DLL of LDBF API for Windows.
|
||
Keywords: LDBF,ldbf
|
||
Author: vlad@torn.ktts.kharkov.ua (Vlad Seriakov)
|
||
Maintained-by: vlad@torn.ktts.kharkov.ua
|
||
Primary-site: sunsite.unc.edu (/pub/Linux/Incoming)
|
||
707 Kb ldbf-0.9.9.tar.gz
|
||
930 b ldbf.lsm
|
||
Alternate-site: ftp.kiae.su ( /linux/misc )
|
||
Original-site:
|
||
Platforms: Linux 1.2.0 or later with IPC support
|
||
Copying-policy: Freeware
|
||
|
||
.......
|
||
|
||
Title: dbview
|
||
Version: 1.0.0
|
||
Entered-date: 20APR96
|
||
Description: dbview is a little tool that will display dBase III and
|
||
IV files. You can also use it to convert your old .dbf
|
||
files for further use with Unix.
|
||
Keywords: database dbase view convert
|
||
Author: joey@infodrom.north.de (Martin Schulze)
|
||
Maintained-by: joey@infodrom.north.de (Martin Schulze)
|
||
Primary-site: sunsite.unc.edu /pub/Linux/apps/databases
|
||
10kB dbview-1.0.0.tar.gz
|
||
Original-site: ftp.infodrom.north.de /pub/Linux/Devel/dbview
|
||
10kB dbview-1.0.0.tar.gz
|
||
Copying-policy: GPL
|
||
|
||
.......
|
||
Title: libdbf
|
||
Version: 1.4
|
||
Description: Tools for manipulating dBase files
|
||
Keywords: unix dbase
|
||
Author: beacker@sgi.com
|
||
Maintained-by: Nobody to my knowledge
|
||
Primary-site: Wherever you put it.
|
||
Original-site: news::comp.sources.misc
|
||
Platforms: Unix (This copy linuxified)
|
||
Copying-policy: No commercial use, no charging for distribution (see README).
|
||
Entered-date: 01JAN96
|
||
|
||
Those were all found just using the "dbf" search string on a local
|
||
copy of the LSM (just a text file I keep around since I do so much
|
||
Linux support work).
|
||
There's are several Linux Software Map search engines and
|
||
searchable Linux Software Database sites out on the web. I don't
|
||
even have a "favorite" one any more.
|
||
Try:
|
||
|
||
Linux Search Database
|
||
http://www.egypt.pca.net/LSDB/lynx.html
|
||
|
||
... which found this one:
|
||
|
||
Title: AppGEN
|
||
Version: 0.2 alpha
|
||
Entered Date: 11JUL96
|
||
Description: Database application generator and 4GL for Postgres95 and
|
||
HTTPD. DBase DBF file to SQL Convertor.
|
||
Key Words: Application Generator 4GL SQL Web WWW Forms Postgres95 DBF
|
||
Author: Andrew Whaley
|
||
Primary Site: sunsite.unc.edu /pub/Linux/apps/databases/postgres
|
||
appgen-0.2-alpha.tar.gz
|
||
Alternate Site: GPL'ish End
|
||
|
||
... or try:
|
||
|
||
Linux Links (by Goob!) at:
|
||
http://www.croftj.net/~goob/
|
||
|
||
(The search engine is not too hot, but the hierarchy of links is
|
||
great). There is a reference there to a semi-free package called
|
||
X2c (the portable xBase compiler). X2c seems to have some features
|
||
for creating binary CGI interfaces to your DBF databases. Which
|
||
might be an alternative to converting it to SQL, if you aren't
|
||
worried about some of the concurrency and integrity and business
|
||
rules enforcement that are associated with SQL --- or even if you
|
||
just need a quick interim solution to use while you're doing the
|
||
xBase to SQL port.
|
||
Another place to check into is:
|
||
|
||
The #LinuxOS Webpage: Linux Software Search Engines and Indices
|
||
http://www.linuxos.org/Lsoftsearch.html
|
||
|
||
As the name suggests that site is maintained by principals of the
|
||
#LinuxOS IRC channel on EFNet and it contains a list of Linux link
|
||
farms, search engines and indices (what a surprise!).
|
||
So, I'd say there's plenty of places to look.
|
||
____________________________
|
||
|
||
(?) From Michael Kepler on the L.U.S.T List on 5 Jun 1998
|
||
I'd just like to thank you (Jim Dennis) for your very comprehensive
|
||
and helpful responses to the XBase question. I had no idea there were
|
||
so many database options available for Linux. I joined this
|
||
conversation out of idle personal interest, but now I think I see some
|
||
possibilities for solutions for current needs we have at our company.
|
||
Thanks again,
|
||
Michael Kepler
|
||
VP Systems Development
|
||
Metro One Telecommunications
|
||
_________________________________________________
|
||
|
||
(?) auto response for email ?
|
||
|
||
From Ted via the L.U.S.T List on 04 Jun 1998
|
||
Whatever you do, don't do this if you are on a mailing list. Think
|
||
about the consequences...
|
||
Ted the Lurker
|
||
|
||
(!) Ted, when replying to L.U.S.T. messages, please remove the
|
||
extraneous quoting.
|
||
|
||
(?) Hi,
|
||
How does one set up sendmail for automatically responding to an email
|
||
indicating that one is out of the office and will be responding to the
|
||
incoming emails at a later date ?
|
||
Thanks,
|
||
Jyh-shing Chen
|
||
|
||
(!) Normally one doesn't set up 'sendmail' to do the automated
|
||
response. Normally one would put in a .forward file with something
|
||
like:
|
||
|
||
"| /usr/local/bin/vacation...."
|
||
|
||
(or something like that).
|
||
There is an old program named "vacation" (written by Eric Allman,
|
||
author of sendmail) which can be used for this purpose. You can
|
||
read the man page for it if you like. It does some checks to
|
||
prevent replies to mailing lists (looks for a "Precedence: bulk"
|
||
header line) and system accounts (Mailer-Daemon, Postmaster, etc).
|
||
It also maintains a "cache" of addresses to which the "vacation
|
||
message" (or other auto-response) has been sent to prevent spurious
|
||
(and very annoying) duplicate responses to the same address.
|
||
(In other words, if you really are "on vacation" and someone
|
||
routinely copies you on some sort of mail, usually as part of a
|
||
workgroup list, they only need to hear about it once. I think
|
||
vacation defaults to an eight day limit between responses).
|
||
That would be one way one might do it.
|
||
However, this is Linux and there are even better ways. Most Linux
|
||
distributions default to 'sendmail' as the MTA (mail transport
|
||
agent) and use procmail as the MDA (mail delivery agent). (You
|
||
presumably use elm, pine, MH, or whatever you like as your MUA ---
|
||
mail user agent).
|
||
'procmail' is a "mail processing package" consisting of a few small
|
||
programs that you call upon via your own .procmailrc scripts. I
|
||
wrote an article about them for Linux Gazette about a year ago. You
|
||
can still find it, and some hot links, at the
|
||
http://www.linuxgazette.com/ web site.
|
||
The procmail documentation is a bit confusing so let me offer a
|
||
couple of quick notes: procmail is a very simple scripting
|
||
language. A procmail program consists of a list of "recipes" When
|
||
an item arrives (is delivered via procmail) the procmail binary
|
||
traverses the script from the top, scanning for the beginnings of
|
||
recipes (usually starting with a line like):
|
||
|
||
:0
|
||
|
||
... or
|
||
|
||
:0 B
|
||
|
||
(where B is a "flag" --- and there are several of those which mean
|
||
different things).
|
||
The rest of each recipe consists of some number of "conditions"
|
||
(patterns) and one "action" (disposition). Each of the condition
|
||
lines is of the form:
|
||
|
||
* ^From:.*foo...
|
||
|
||
... where ^From:.*foo... is a regular expression that is checked
|
||
against portions of the mail message that is currently "in hand"
|
||
(as it were). Usually your patterns will only be applied to the
|
||
messages headers. If you use the B flag on the recipe line or you
|
||
can put flags on your condition lines using a syntax like: * B ??
|
||
$PATTERN (where you replace $PATTERN with the regex for your
|
||
pattern).
|
||
All of the conditions which are logically AND'ed for each recipe
|
||
--- so something like:
|
||
|
||
:0
|
||
* ^From: joe.*
|
||
* ^Precedence: bulk
|
||
|
||
... would match mail that was from joe (in this case any joe at any
|
||
address) AND had a header indicating that is was of "bulk"
|
||
precedence.
|
||
After any/all of your condition lines, in a given recipe you have
|
||
an action line. The actions you can take are:
|
||
|
||
|
||
"file it"
|
||
"forward it"
|
||
"pipe it into a program" (such as an autoreply 'bot).
|
||
|
||
To "forget it" you just "file it" to /dev/null. In general any
|
||
filename on the action line will be consider to be a mail folder.
|
||
Any filename with no path elements will be considered standard mbox
|
||
(elm/pine compatible) folder under your ~/Mail directory (??).
|
||
(Normally you'll have a MAILDIR variable set. You can assign and
|
||
reference variables in procmail in pretty much the same ways as in
|
||
sh (Bourne shell)).
|
||
A name that refers to a directory will cause procmail to write each
|
||
message into a separate file in that directory (this is called a
|
||
"directory folder"). If you use a folder of the form: foo/. then
|
||
procmail will write the messages into the $MAILDIR/foo/ directory
|
||
using an MH compatible name and format.
|
||
To forward your mail you start the action line with a "!" (bang)
|
||
and simply give it an address. Be very careful about forwarding to
|
||
any address that might have its own procmail or other forwarding
|
||
agent attached. Otherwise you'll create a mail loop. For this
|
||
reason most procmail wizards never use the "!" forwarding operator
|
||
--- they pass the message to a pipe, adding their own headers and
|
||
formatting the message to the new address (still forwarding it --
|
||
but with some checks and changes in the headers).
|
||
So, here's how you pipe the message (to forward or autoreply) You
|
||
start your action line with a | (pipe) symbol and the rest is just
|
||
the command line. The procmail suite comes with a program called
|
||
'formail' (FORmat some MAIL headers).
|
||
So if you pipe mail to formail with the "-r" switch it will format
|
||
a "reply" and if you add the -A switch it will "Add" a custom
|
||
header line (replacing any previously matching header).
|
||
Here's an example:
|
||
|
||
:0
|
||
* !^FROM_MAILER
|
||
* !^FROM_DAEMON
|
||
* < 10000
|
||
* ^Subject: info
|
||
* !^X-Loop: info@starshine.org
|
||
| ((formail -rk -A "Precedence: junk" \
|
||
-A "X-Loop: info@starshine.org" ; \
|
||
echo "Info Request received on:" `date`) \
|
||
| $HOME/insert.doc -v file=$DOC/general.info) | $SENDMAIL -t -oi
|
||
-oe
|
||
|
||
... note this one is unusually complex since I am "keeping" the
|
||
senders message, checking if the whole thing is over 10K, appending
|
||
the date on which I received the message, and inserting (via a two
|
||
line awk script named "insert.doc") a response. Also those
|
||
"FROM_MAILER" and "FROM_DAEMON" patterns are a couple of "magic"
|
||
patterns that procmail recognizes --- they are actually expanded to
|
||
some hefty regexes internally.
|
||
... in other words, this action line is doing alot more than most
|
||
auto-reply. The point is that I can use formail to create the reply
|
||
headers (which it gets by filtering the header as procmail passes
|
||
the header and body of the mail into the pipe). I can then ship the
|
||
results of that to some other process (to do other processing on
|
||
the body or whatever) and finally passing that all to a copy of
|
||
sendmail (the full, local path to which is conveniently stored in
|
||
the $SENDMAIL variable). The -t switch on 'sendmail' means: "Take
|
||
the 'to' addresses from the headers on your standard input" ---
|
||
this is the safest and cleanest way to pipe messages into sendmail.
|
||
That's a short course on procmail. The tutorial I wrote for Linux
|
||
Gazette is even more basic than that --- so if I rattled through
|
||
some of that too fast: go read it.
|
||
One last note: There are 5 man pages on procmail, one for the
|
||
binary, one on the rc file syntax (the programming language) one
|
||
that's full of examples, and another on the "weighted scoring"
|
||
extensions (which allow you to add and subtract values to a
|
||
"weight" using various conditional patterns, which can be sensitive
|
||
to how many times a pattern appears in a message --- so you could
|
||
automatically descriminate against messages that were more than
|
||
have "quoted" lines).
|
||
The weighted scoring stuff is high wizardry --- I don't use it. The
|
||
examples are mostly suitable for cut and paste.
|
||
Keep in mind that you can call all sorts of programs, not just
|
||
'formail' --- so you could write a simple procmail script call on a
|
||
"sendpage" program when someone really important sends you mail
|
||
about something "really important"
|
||
Also 'formail' has the -D switch, which means one thing if used in
|
||
conjunction with -r (the combo means, "Don't duplicate" our reply
|
||
-- like vacation; where it checks for the ). It means something
|
||
else when used without the -r (don't deliver to this folder if this
|
||
is a duplicate according to the Message-ID: header line). Both
|
||
meanings have quite a bit to do with "duplication" --- but are much
|
||
different in usage.
|
||
If you subscribe to lists, like L.U.S.T, I suggest procmail for
|
||
auto sorting your mail. When you want to add auto replies --- even
|
||
if you're just going to call on Eric's 'vacation' program, you
|
||
should add that as a recipe after any procmail sorting (and spam
|
||
filtering) and with the * !^FROM_ and X-Loop: patterns. That will
|
||
prevent auto-replies to mailing lists that don't put in their
|
||
"Precedence: Bulk" line, and that might be from daemons and mailers
|
||
(other auto responders) that 'vacation' doesn't "see" ('procmail'
|
||
and 'formail' are more recent and benefit from a few more years of
|
||
experience with Internet "standards drift").
|
||
One of these days I may write a whole book on procmail. It would be
|
||
pretty short (like the O'Reilly 'vi' book, or their one on
|
||
"termcaps"). It's a very powerful utility that currently is passed
|
||
on as an "oral tradition" among sysadmins and Unix hacks. I think I
|
||
heard that TDG (the dotfile generator) provides a menu-driven
|
||
(GUI?) front end to creating .procmailrc files --- among many
|
||
others. That would probably be a good place to look for more info.
|
||
[He may have read about it in issue 17's article -- Heather]
|
||
_________________________________________________
|
||
|
||
(?) Connecting Linux to Win '95 via Null Modem
|
||
|
||
From Chris Gushue on 04 Jun 1998
|
||
I have two systems, a 486 and a K6, and I was wondering how (if) I
|
||
could connect them using a serial (null modem) cable. One system will
|
||
be running Windows 98, the other running Linux. I can't seem to find
|
||
any info on the LDP or other webpages. Thanks.
|
||
|
||
(!) Certainly you can connect them for some purposes.
|
||
I don't know anything about Win '98 but I presume it comes with
|
||
some sort of terminal emulation package (like the Hyperterm that MS
|
||
licensed from Hilgreave for Win '95, or that cheesy old "Terminal"
|
||
that they used to ship with Windows 3.x).
|
||
You could also get any of several shareware, free, or commercial
|
||
communications packages such as Telix (Windows or DOS), Kermit
|
||
(DOS) or K95 (Windows), etc.
|
||
All of these should have a "direct" or "null modem" option listed
|
||
among their "connection/modem" types.
|
||
This will give you a basic, character modem terminal login to your
|
||
Linux box. This not a networking connection --- it is just like
|
||
connecting a dumb terminal to the machine (which still gives you
|
||
access to most of the applications and almost all of the utilities
|
||
and programming tools on your Linux system).
|
||
If you want networking between these two systems, over the serial
|
||
line; that's a different story. You should be able to establish a
|
||
SLIP or PPP connection between the two. Once you've done that you
|
||
could run any of the TCP/IP protocols over the line. However, it's
|
||
much trickier to do that --- and I have no idea how Win '98 will
|
||
handle it.
|
||
(Under early revisions of Win '95 I remember complaints that the
|
||
supplied PPP drivers and their user interface was configured to
|
||
work with MSN (Microsoft Network --- their ISP) and that it
|
||
required some utility from the "Plus Pack" to allow one to create
|
||
and maintain a "chat" script --- a way to log in and
|
||
configure/establish a PPP session with any other ISP.
|
||
It seems that MS also added features in their NT 4.x (RAS?, RRAS?)
|
||
that allow these systems to act as recipients of the stock Win '95
|
||
MS-CHAP authentication method. I guess this was a bid to convince
|
||
ISP's to adopt Windows NT for their work.
|
||
Meanwhile Gert Doering (and others?) released the AutoPPP
|
||
extensions or patches to 'mgetty.'
|
||
'mgetty' is Gert's very popular "modem getty" line that allows a
|
||
modem line to be shared between terminal, fax, network and even
|
||
voice (with some modems) for both incoming and outgoing use. One of
|
||
the features of 'mgetty' is that it can be configured to recognize
|
||
certain login strings ("user name patterns") as a directive to use
|
||
an alternative 'login' program.
|
||
Thus you can configure you modem line to use ppplogin when given a
|
||
"user" name of the form: Pmaryjoe, and to use a traditional 'login'
|
||
when presented with others.
|
||
I personally haven't set up AutoPPP. However, a quick Yahoo! search
|
||
on the string: "+mgetty +autoppp" gives about 450 Alta Vista hits.
|
||
Most of these are from the Linux ISP mailing list. I didn't spot
|
||
any that covered AutoPPP over a null modem.
|
||
Trying a search string like: + "null modem" +mgetty +win + "95"
|
||
... didn't help either. Though it did return a bunch of links to
|
||
Linux Gazett mirror sites carrying issues 18, 25, and 28 (false
|
||
hits in this case)
|
||
Somewhere on the Linux ISP mailing list archives I found a thread
|
||
about "null serial" that was on target but not very informative.
|
||
Someone mentioned that the Win '95 PPP couldn't handle direct
|
||
connection --- and suggested Trumpet Winsock (a third party TCP/IP
|
||
suite for Windows --- and DOS --- for years before MS had ever
|
||
heard of TCP/IP).
|
||
So, it may not be easy to get networking configured over a null
|
||
modem line so long as Win '9x is on one end of it. However, I bet
|
||
it would be possible. You should probabl create a "modem emulation"
|
||
driver for Linux that would allow the Win '9x box to work as though
|
||
it were sending AT commands to a modem. The "modem emulation"
|
||
driver could implement a small AT command subset (responding to
|
||
every valid <pause>+++<pause>AT sequence with "OK" or the
|
||
appropriate response).
|
||
In the long run it's probably far easier to buy a couple of
|
||
ethernet cards (less than $30 each) and a 10baseT "cross over"
|
||
cable (necessary if you're not going through a hub, and sometimes
|
||
necessary to cascade one hub off of another). Not only is ethernet
|
||
much faster than serial --- it is currently much easier to
|
||
configure and support (for networking). Another advantage is that
|
||
you can later expand; buy a 4, 5 or 8 port ethernet hub and you can
|
||
wire up the whole house (actually I've almost filled two 8 port
|
||
hubs here --- but I'm a little different).
|
||
Conclusion: You can easily use the serial/null modem for simple
|
||
terminal access. You might be able to get it working as a
|
||
networking interface, but you might have quite a bit of trouble
|
||
convincing Win '9x to do PPP over a "direct" or "null modem"
|
||
connection. So you might have to look for a third party PPP
|
||
replacement (which may need to be upgraded between the Win '95 and
|
||
Win '98 versions) --- or you might be able to write some weird
|
||
"modem emulation" on the Linux side. For networking it will be much
|
||
easier to buy a couple of ethernet cards.
|
||
____________________________
|
||
|
||
(?) Linux help
|
||
|
||
From Chris Gushue on 04 Jun 1998
|
||
Thanks a lot for your thorough and quick response! It was just what I
|
||
was looking for, just a basic login to my Linux box to play around
|
||
with it until I get around to buying a hub and network cards. It kind
|
||
of funny though, using my K6/233 Win98 machine as a dumb terminal to
|
||
my 486/100 Linux box :-)
|
||
|
||
(!) I was using that VAResearch machine that I reviewed for the
|
||
Linux Journal ("betelgeuse": a 266Mhz PII with 64Mb of RAM and a
|
||
4Mb Matrox Millenium video) as a dumb terminal to my old 33Mhz 386
|
||
("antares") for months. The old 386 was where all my mail and news
|
||
was. It's still the network hub, mail and news server for the house
|
||
(though now I use 'fetchmail' everything over to "canopus" a home
|
||
built P166; the wife mostly took over the PII).
|
||
The 386 is the most stable machine in the house -- it's the only
|
||
one on a UPS.
|
||
_________________________________________________
|
||
|
||
(?) Hardware Lockups due to Graphics Load
|
||
|
||
From Brad Alexander on 30 May 1998
|
||
Hi Jim,
|
||
This isn't Linux-specific, but I'm having a problem and I'm hoping you
|
||
can help me come up with a workaround that isn't going to cost a lot
|
||
of money.
|
||
I have an Intel P-100 on an Amptron AM-7900 board with 64MB of EDO RAM
|
||
(2 32MB sticks), a gob of hard drives (a 2.2MB Quantum Fireball IDE
|
||
and a FutureDomain SCSI controller with a 420MB Conner, a 1GB Seagate,
|
||
1GB Micropolis and 1GB Quantum Empire), a Diamond Stealth 64 with 2MB
|
||
DRAM, and a SoundBlaster 16 Plug'n'Pray.
|
||
I'm running a heavily modified RedHat 5.0 machine with an 800MB DOS
|
||
partition on /dev/hda1 and a 200MB win95 partition on /dev/hda3
|
||
(Linux's /+/usr is on /dev/hda2).
|
||
I have been seeing system lockups for quite a while now. I noticed
|
||
them when running xlock in random mode initially, then noticed that I
|
||
was also starting to have problems with some of my dos apps, like
|
||
Jane's Longbow and Duke Nukem locking up. Under Linux, I settled on
|
||
using xlock in galaxy mode, and the lockups dropped to every couple of
|
||
weeks. (Note that during this time, I upgraded memory from 4 8MB
|
||
sticks to 2 32s.)
|
||
Everything went all right until I upgraded to RedHat 5.0, with XFree86
|
||
3.3.1. The lockups increased to about every 2 days. Once I upgraded to
|
||
XFree86 3.3.2, they dropped back down to about once a week.
|
||
I'm basically using you as a sounding board to see if I might have
|
||
missed something. I'm thinking its hardware, but where? The stealth?
|
||
The lockups seem to occur during graphics app use, xlock, or the gimp.
|
||
The motherboard? The chip? What can I start replacing without sinking
|
||
a whole bunch of money into it?
|
||
Thanks in advance,
|
||
--Brad Alexander
|
||
|
||
(!) Well, the first thought would be to try a different video card.
|
||
I don't have too much confidence that the problem is truly related
|
||
to the video card's activity --- so it's just a diagnostics start.
|
||
To see if this really is related to graphics, boot up the system in
|
||
text mode (don't run X, change your runlevel or initdefault to one
|
||
of the non-xdm modes if necessary). Now you can run a couple of
|
||
kernel builds on it (that's usually a pretty good stress test. Try
|
||
'make -j' to work it harder.
|
||
It would also be helpful to know what sort of lockup you're
|
||
getting. It may be that you could still login via a serial port
|
||
(using a null modem and a laptop or any other nearby computer or
|
||
terminal). Do do this simply add a line like
|
||
|
||
t1:23:respawn:/sbin/agetty -L 38400,19200,9600,2400,1200 ttyS1
|
||
vt100
|
||
|
||
... to your /etc/inittab. This should allow you to use one of your
|
||
serial lines to login. It is possible for the Linux X Windows
|
||
system and console to be dead while the kernel and other processes
|
||
are still up and running. Another test is to ping it from another
|
||
system (if you have an ethernet LAN connected to this machine).
|
||
Even if telnet doesn't work you want to ping it to see if the
|
||
kernel is still responding.
|
||
It's also probably worth trying the software watchdog timer code in
|
||
the newer kernels. These allow you to configure a kernel module to
|
||
emulate a hardware watchdog timer card. These WDT devices are
|
||
basically a "dead man's switch" for your system. If the timer isn't
|
||
periodically updated by the kernel (or by some other thread in the
|
||
kernel, in the case of the emulated WDT) then the WDT triggers a
|
||
system reset.
|
||
Obviously a software emulation of this isn't quite as reliable as a
|
||
hardware WDT --- since a completely hung kernel will never get
|
||
around to calling on that module's thread of execution. However, it
|
||
isn't too unlikely that the hang is in some specific kernel thread
|
||
and that some other thread continues to execute after other parts
|
||
have died.
|
||
Frankly I'm not sure what the difference between the kernel
|
||
watchdog emulation code and the boot "panic=" parameter. But that's
|
||
definitely another thing to try (just add something like panic=60
|
||
to your lilo "append=" directive, or manually when you boot up your
|
||
system). I guess that the difference would be that there may be
|
||
some conditions under which the kernel could get into a comatose or
|
||
unresponsive state without panic'ing (if it got tricked into some
|
||
really long timeout wait or something). The panic= option forces
|
||
the Linux kernel to reboot after a "panic" (a critical error
|
||
condition detected by the kernel, usually a corrupted table that
|
||
fails its consistency and integrity checks).
|
||
Normally the kernel would just display a "panic" message and sit
|
||
there waiting for human intervention. These are very rare (other
|
||
than the old "VFS kernel panic, unable to mount root" that occurs
|
||
when you have your kernel misconfigured for your arrangement of
|
||
hard drives --- or when you change the hardware setting of your
|
||
disk drives without updating your kernel (with the 'rdev' command
|
||
to set the root device flags) and/or without updating your LILO or
|
||
LOADLIN commands (which are usually used to pass these flags to
|
||
your kernel to over-ride the compiled in defaults).
|
||
Other than that common case I think I've only seen one or two Linux
|
||
kernel panics in the last 6 years. I've only had about a half dozen
|
||
unexplained system lockups over that period --- and that's on about
|
||
fifty Linux machines that I've managed during various portions of
|
||
that time. These lockups might have been panics in situations that
|
||
were so bad the kernel couldn't even display an error message,
|
||
there's no way to know).
|
||
I've only had to reboot unresponsive Linux boxes about a dozen or
|
||
so times in all the years I've used it. This was only a problem in
|
||
the late .99 and early 1.0x kernels when I was running a very busy
|
||
FTP/Web server that was simply overloaded -- the TCP/IP stack would
|
||
get so congested that the system would timeout between my login
|
||
name and password --- at the console (I'd've loved a working SAK
|
||
--- secure attention key back then). I was glad to see the major
|
||
TCP/IP re-write in between 1.2 and 2.x.
|
||
I'm not trying to tout Linux' horn here --- (well, maybe a little).
|
||
The point is that I don't get panics and lockups often enough to
|
||
see how the panic= parameter and the softdog/watchdog code would
|
||
work in those situations.
|
||
However, if you enabled the panic= and/or the softdog kernel
|
||
option, you may see that the machine reboots without a minute or
|
||
two after your lockup (wait for ten or fifteen). This tells you
|
||
that some part of the kernel was still running (and that the
|
||
hardware isn't completely wigged out).
|
||
Beyond that the things to do are to take out all non-essential
|
||
hardware (the sound card would be a great choice --- and the SCSI
|
||
card, since you mention that your Linux partitions are on the IDE
|
||
drives. As with most technical computing issues the it eventually
|
||
boils down to a matter of cost. You mentioned a couple of times how
|
||
you don't want to spend money on solving this problem. Ultimately
|
||
the time you spend fighting with it translates to money --- and
|
||
you'll have to eventually ask what your time is worth.
|
||
(The deeper part of this question is that you may find that your
|
||
home machine isn't worth the time or the money and you may content
|
||
yourself to just use any machines that you encounter at work, or
|
||
whatever. Strange as that sounds I've had friends who refuse to
|
||
keep a computer around the house specifically because they "spend
|
||
enough time with them at work" and feels that "home is for family
|
||
time").
|
||
At the same time I don't recommend throwing replacement components
|
||
at the problem without understanding the nature of the problem.
|
||
However, it may be that the best solution is to replace the
|
||
motherboard and/or the video card and/or the RAM.
|
||
Troubleshooting computers is difficult work. Whole books have been
|
||
devoted to the subject (I like the Win L. Rosch Hardware Bible
|
||
personally --- read it years ago and should probably get an updated
|
||
copy). There are also parts of the process that can't be gained
|
||
from any book --- that you must learn by experience and figure out
|
||
through some combination of analysis and intuition. As our
|
||
computers become more sophisticated the balance seems to lean more
|
||
for the intuition.
|
||
_________________________________________________
|
||
|
||
(?) Compression Libraries to Link into a C Program
|
||
|
||
From Corne van Biljon on the linuxprog mailing list on 30 May 1998
|
||
|
||
(?) Hello
|
||
I would like to zip a file, specified by the user, from within a C
|
||
program. Currently I use the system() command to invoke gzip. Is there
|
||
a compression library or routines out there somewhere, or is there a
|
||
better way of doing this ?
|
||
Thanks
|
||
|
||
(!) I can understand your concerns.
|
||
The system(), and popen() calls are notoriously insecure and can be
|
||
used to subvert your program to the users' will.
|
||
I would have started with some Yahoo! and Alta Vista searches
|
||
(actually I used Google --- a new and interesting search engine at
|
||
Stanford University: http://google.stanford.edu/).
|
||
The obvious phrase would be "+free +compression +library" (and
|
||
reasonable variations).
|
||
I get a bunch of links to the PKware Inc. pages (which are
|
||
presumably shareware and/or commercial) and then I find a link to
|
||
the zlib pages (which declare that they should not be confused with
|
||
the Linux zlibc compression libraries).
|
||
The zlib home pages are at:
|
||
|
||
http://www.cdrom.com/pub/infozip/zlib/
|
||
|
||
... and appear to be gzip compatible, and co-written by the primary
|
||
author/maintainer of gzip. However the impression I got from this
|
||
page is that zlib is not under a GPL or is under an LGPL --- that
|
||
your zlib linked code will not be encumbered.
|
||
Naturally you'll want to read the licenses yourself.
|
||
This zlib home page also has numerous links to other compresssion
|
||
software and programming resources.
|
||
_________________________________________________
|
||
|
||
(?) LOVE THE NEW LOOK!!!!
|
||
|
||
From David Rudder on 28 May 1998
|
||
Heather,
|
||
I love The Answer Guy's new look! Um, 'nuff said :)
|
||
-Dave
|
||
No Trespassing
|
||
4/17 of a haiku
|
||
|
||
(!) Glad you like it. I've been working pretty hard on it this
|
||
month, and I hope a lot of other people like it too.
|
||
So folks, what do you think of the footer? Does the double-footer
|
||
on these questions (a nav area for hopping amidst Answer Guy
|
||
entries, and the regular LinuxGazette section footer) make sense?
|
||
Should they be combined? Should the sectional footer only be shown
|
||
at the Answer Guy index?
|
||
For this month, I'll make it the same as last, because I kind of
|
||
like it... but you, the readers, should definitely let me know if
|
||
it's giving you trouble. Thanks and cheers are also welcome :)
|
||
Heather Stern
|
||
_________________________________________________
|
||
|
||
(?) Linux PPC on the Umax C500 SuperMac: Not A Good Idea
|
||
|
||
From Fahimy on 28 May 1998
|
||
Hello, I'm a french girl beginning some computer studies. I like
|
||
Macintosh so I'm looking after a second hand macintosh or clone in
|
||
order to work and learn C, Java and Linux on it. I'm perhaps about to
|
||
buy an Umax C500, but I'm wondering whether it would be able to run
|
||
linux. From a request to altavista, I found you were in a similar
|
||
situation some month ago. Quoting a message you sent to the linux-pmac
|
||
mailing list :
|
||
|
||
(!) Someone did send me a kernel that should be able to boot that
|
||
system. However I have had other things to keep me busy.
|
||
More importantly I can't recommend the Umax Mac clones at this
|
||
point. They have announced that they are discontinuing their whole
|
||
line of MacOS clones. So you'd be buying an orphan.
|
||
I'd suggest an Apple G3 based system --- though I'm still
|
||
disappointed about the lack of Mac clone manufacturers. I don't
|
||
believe Apple will survive if it is the only supplier of its
|
||
platform. On the other hand the G3 is the fastest processor out
|
||
there in a commodity microcomputer. In addition I've heard that IBM
|
||
has demonstrated a 1.1Ghz (1100Mhz!) version of the G3 architecture
|
||
in their labs --- so there is plenty of foreseeable future for this
|
||
platform.
|
||
As usual we'll see. One nice thing about Linux (and Unix in
|
||
general) is that it doesn't constrain us much in our choice of
|
||
hardware. We can migrate to a new hardware platform with little or
|
||
no effect on the majority of our utilities and applications --- and
|
||
a correspondingly modest learning curve.
|
||
_________________________________________________
|
||
|
||
(?) Remote lpd from Solaris to Linux
|
||
|
||
From kuksi on 27 May 1998
|
||
I like to print from Solaris to Linux. The /etc/hosts.lpd file
|
||
contents the sun IP address. I have installed the Linux printer on the
|
||
Sun by remote printer. It works fine, but when i print to the remote
|
||
linux printer, it is fail.
|
||
|
||
(!) I presume you mean that it works fine "locally" but fails from
|
||
the remote clients.
|
||
|
||
(?) the contents of the /var/log/message file:
|
||
linux_machine_name kernel: lp1 at 0x0378, (polling)
|
||
and the next time:
|
||
linux_machine_name lpd[number]: sun_machine_name recvjob
|
||
linux_machine_name lpd[number]: sun_machine_name request printjob
|
||
linux_machine_name lpd[number]: sun_machine_name request displaylong
|
||
|
||
(!) I guess this is a hacked up excerpt from one of your /var/log/
|
||
files.
|
||
|
||
(?) But the printer in local mode on linux works fine. (think i am :-)
|
||
)
|
||
kuksi
|
||
|
||
(!) Well, 'lpd' is black magic to me. I've got my remote printing
|
||
working on one pair of systems but not on another. Also 'lpd' seems
|
||
to be a security nightmare that's almost as bad as the older
|
||
'sendmail' releases.
|
||
One possibility would be to try installing LPRng (the next
|
||
generation of the lpr suite). I've printed out the manual for it
|
||
(over a hundred pages long) and worked through a bit of it. It does
|
||
seem to be an industrial strength printing/queueing system. Aye,
|
||
but there's the rub, it may be overkill for your situation.
|
||
So, all I can suggest is that you make sure that you've followed
|
||
all of the steps and suggestions in the Printing HOWTO and that you
|
||
try to get more specific debugging data.
|
||
____________________________
|
||
|
||
(!) On Wed, 27 May 1998, Jim Dennis wrote:
|
||
So, all I can suggest is that you make sure that you've followed
|
||
all of the steps and suggestions in the Printing HOWTO and that you
|
||
try to get more specific debugging data.
|
||
|
||
(?) Thanks for your e-mail. I have read many HOWTO about this, but I
|
||
am going to try everything.
|
||
(gondolom en :-) )
|
||
kuksi
|
||
_________________________________________________
|
||
|
||
(?) User Shell on Virtual Console 1
|
||
|
||
From Todd Blake on 27 May 1998
|
||
I like most people am the only person to use my linux system at home.
|
||
What I'd like to do is when my system is done booting to have me
|
||
automatically login as my main user account(not as root though) on one
|
||
virtual console(the first) and leave all other consoles and virtual
|
||
consoles alone, so that someone telnetting in will get a login prompt
|
||
like normal, just that I won't. I'd still like the other vc's have
|
||
login's for others to login and other reasons. I've tried just putting
|
||
/bin/sh in /etc/inittab and that didn't work, and I'm stumped. Does
|
||
anyone have any ideas on this?
|
||
Todd Blake
|
||
|
||
(!) Almost right.
|
||
If you want this to "always" be running (i.e. when you type "exit"
|
||
from that shell the system "respawns" a new shell under your UID --
|
||
you can use the 'open' command something like so:
|
||
|
||
# Run gettys in standard runlevels
|
||
## 1:12345:respawn:/sbin/mingetty tty1
|
||
1:12345:respawn:/usr/bin/open -c 1 -w -- su -c - todd /bin/sh
|
||
_________________________________________________
|
||
|
||
(?) Linux Memory Usage vs. Leakage
|
||
|
||
From Kevin Monceaux on 27 May 1998
|
||
Dear Answer Guy,
|
||
HELP!!!!!!!!!!!
|
||
I really enjoy "The Answer Guy" column, and I hope you can help me
|
||
with this one. I'm running Linux 2.0.29. I've been using this version
|
||
for quite a while now. Up until now everything's been fine. A couple
|
||
of days ago the problem developed. What appears to be happening is
|
||
that when programs are run they are not deallocating the memory they
|
||
used. Upon first booting the system there is already almost 9 megs of
|
||
RAM in use. I've run free to check the memory usage, ran another
|
||
command, such as ls, then ran free again and the free memory
|
||
decreases. I've noticed that if I run the same command, such as ls,
|
||
again the memory usage stays the same. It's only when commands that
|
||
haven't been executed before are run that the amount of free memory
|
||
decreases. It doesn't take long before I'm out of memory and have to
|
||
reboot. Any suggestions you could give me with this problem would be
|
||
greately appreciated.
|
||
Thanks in advance,
|
||
Kevin Monceaux
|
||
|
||
(!) If you suspect a memory leak I highly recommend getting a log
|
||
of your 'free' or 'vmstat' output before and after a few commands
|
||
-- several snapshots.
|
||
You can make a cron job to mail you a snapshot of this every hour
|
||
or so. You might want to append the output of a ps command to each
|
||
of these e-mail snapshots.
|
||
Unfortunately it isn't as easy to interpret the output of these
|
||
commands as it should be. It's entirely too easy to misinterpret
|
||
the output fields from them -- since Linux normally uses most of
|
||
the available memory for file cache buffers -- and large portions
|
||
of the shared libraries and memory allocated to forked process is
|
||
shared (the memory manager uses "copy-on-write" and other
|
||
techniques to minimize the utilization of physical memory). This
|
||
makes correlating actual memory usage difficult.
|
||
You can also use 'top' (which is a curses process viewer). It can
|
||
show you the current state of the system and sort by memory (M) or
|
||
CPU utilization (P). You want to isolate the specific process(es)
|
||
that is(are) causing the problem. Don't leave 'top' running
|
||
unattended, however, since it is a bit of a resource hog in its own
|
||
right.
|
||
If you do isolate this to a particular program you'll want to see
|
||
if there are updates available for it, or for any of the libraries
|
||
it uses. You may also want to consider getting a newer kernel ---
|
||
such as 2.0.33 or (if it's ready by the time you read this:
|
||
2.0.34).
|
||
Sorry I can't be more specific --- but you'll have to narrow down
|
||
the problem a bit before we can do more. Incidentally you can start
|
||
up in single user mode and manually start all of the daemons and
|
||
processes that you normally run your multi-user (initdefault) mode.
|
||
Do this slowly, one command/daemon at a time, to see when the
|
||
problem first appears. If it happens right away then boot with the
|
||
-b option to prevent the execution of any of your boot up scripts
|
||
and manually load any kernel modules you're using one at a time.
|
||
_________________________________________________
|
||
|
||
(?) tv cards and dual monitor
|
||
|
||
From Desperado on 27 May 1998
|
||
Hi!
|
||
Did you hear about TV cards in LInux? am I dreaming?
|
||
|
||
(!) I've heard about them. However, I don't have one to play with
|
||
and I haven't even found a decent HOWTO or website to explain
|
||
what's required and what's broken (if anything). [At press time,
|
||
the Hardware Compatability HOWTO section 22.5 mentions some
|
||
programs that support several TV tuner cards. It's mostly pointers
|
||
to tgz files, though, not real help with setup. -- Heather]
|
||
|
||
(?) What about dual monitors? In WIndows 98 it needs at least a PCI
|
||
bus, but what about 486 users? I found something relative for Linux
|
||
(multimon or something like that) but It works with a black and white
|
||
video card (don't remember exactly), anything to work with two monitor
|
||
in Linux, using two ISA video cards?
|
||
|
||
(!) As I've explained before, the classic situation with PC and
|
||
multiple monitors used to be that the you couldn't put two VGA
|
||
(actually any combination of two VGA/EGA) cards into the same
|
||
system. Thus you could put a monochrome video card (text only or
|
||
"Hercules" MGA) into a system to co-exist with a VGA or EGA.
|
||
Frankly I don't remember where CGA was in this mess, though I could
|
||
look it up if I really cared. I personally never used CGA --- it
|
||
was just the worst of all worlds.
|
||
The 'multimon' patches for the Linux kernel are very old -- and
|
||
probably haven't been updated to the 2.0.x (much less the 2.1.x)
|
||
kernels. I've never used them. I seem to recall that it only
|
||
applied to using a system with one VGA (or EGA?) card and one
|
||
"Hercules" MGA (monochrome graphics adapter) or possibly an old MDA
|
||
(text only monochrome display adapter --- the original IBM video
|
||
card).
|
||
Another approach that used to be possible was to use very
|
||
specialized adapters like the old TIGA (Texas Instruments Graphics
|
||
Array?) or DGA (?) cards. These were high resolution graphics
|
||
adapters that cost thousands of dollars and weren't compatible with
|
||
VGA or any other "standard" cards or software.
|
||
However I've never heard of Linux (XFree86) drivers for TIGA or DGA
|
||
cards --- and I'm not sure if they are still in production. In fact
|
||
I don't actually know anything about these old beasts --- I just
|
||
vaguely remember some discussions I had with other nerds back in
|
||
the late 80's where the subject came up.
|
||
When I last discussed this in LG (many moons ago) I didn't know
|
||
that some of the modern PCI video cards had the option to be used
|
||
in a "non-VGA" mode. Thus you can take some PCI video cards
|
||
configure them to co-exist in a system with another VGA video card.
|
||
I have heard that some of the commercial X servers support multiple
|
||
physical displays on some cards. I don't seem to recall any of them
|
||
for XFree86 --- but a search of their web pages:
|
||
|
||
http://www.xfree86.org/
|
||
|
||
...would provide a far more definitive answer.
|
||
The last I read none of the XFree86 servers support multi-headed
|
||
operation. This is from the following entry in their FAQ:
|
||
|
||
http://www.xfree86.org/FAQ/index.html#TwoCards
|
||
|
||
I have yet to see anyone using this feature. One of these days I
|
||
might try it. However, not this month.
|
||
The Commercial vendors to check with would be:
|
||
|
||
Xi Graphics (formerly X Inside):
|
||
http://www.xig.com/
|
||
|
||
... and:
|
||
|
||
Metrolink:
|
||
http://www.metrolink.com/
|
||
|
||
(there may be others but these are the two that I think of when I
|
||
think of the commercial X servers for Linux).
|
||
BTW: Metrolink didn't appear to have any online FAQ or web site
|
||
search engine. However Xi's FAQ lists a sample configuration for
|
||
use with two Matrox Millenium cards at
|
||
http://www.xig.com/support/faqs.servers.html#Anchor-a5
|
||
|
||
(?) What is inetd? when I am trying to install the ftp rpm, I get the
|
||
message "you need inetd", but in my Red Hat 5.0 CD, in the RPMS
|
||
directory there is nothing similar to that name.
|
||
|
||
(!) That sounds wrong to me. I would expect that message from the
|
||
ftpd (the FTP Server package). The default ftp client should be a
|
||
part of the NetKit package (probably in the base RPM).
|
||
'inetd' is a IP service dispatcher. It listens to a list of TCP/UDP
|
||
ports and dynamically launches programs as connections are
|
||
requested for the corresponding "well known services" The mapping
|
||
of ports to services is done via the /etc/services file, and the
|
||
mapping of programs (daemons) to services that will be managed by
|
||
inetd is in /etc/inetd.conf.
|
||
In all of the major Linux distributions most of the the inetd
|
||
services are configured to run tcpd (TCP Wrappers). This utility
|
||
will check the the IP address of the client that is making the
|
||
connection request against one or two lists of rules
|
||
(/etc/hosts.allow and /etc/hosts.deny). 'tcpd' also makes some
|
||
sanity checks, for example to see if the client's reverse mapping
|
||
(a DNS request --- gethostbyaddr() actually --- matches one of the
|
||
addresses that's returned by a forward mapping (gethostbyname).
|
||
That's called a "double reverse lookup" and is somewhat more
|
||
difficult for an attacker to "spoof" than just a reverse
|
||
(in-addr.arpa) entry.
|
||
Are you trying to use an ftp client or a server (daemon)? You might
|
||
also try ncftp (Mike Gleason?) which is a nice curses mode (full
|
||
screen) client. You can also try lftp which has some nice scripting
|
||
features. In fact ncftp also has some rather handy features for use
|
||
in scripts.
|
||
Another option is to use mc's (midnight commander) ftp features. To
|
||
do that just load the program and type cd ftp://..... (the URL form
|
||
of the ftp site's name).
|
||
Shortly thereafter you should see the files and directories from
|
||
your FTP site appear in one of mc's navigation panels --- you can
|
||
than navigate the other site, tagging, copying, and managing the
|
||
remote files as though there were in a local directory tree.
|
||
|
||
(?) One thing more, what about download managers? I use Get Right, but
|
||
there is no version for Linux, well there is no Java Runtime
|
||
Environment for Linux. Any other good application for that?
|
||
|
||
(!) I presume you mean that you'd like to select a number of files
|
||
in an ftp client and have the system continue to try downloading
|
||
('get'-ting) them until they are all successfully retrieved.
|
||
Perhaps you'd even like to just tag the files and defer the actual
|
||
download until later (say, late at night when there's just less
|
||
bandwidth in use all over the 'net).
|
||
I think there are many programs that can do this. I've used
|
||
'mirror' (Lee McLoughlin's Perl script) many times --- but that is
|
||
more of a programming utility and it has no interactive front end.
|
||
The best bet would be to search the Linux Software Map
|
||
(http://www.ssc.com/linux/apps.html) with the words "ftp" and
|
||
"client"
|
||
I suppose it would be nice to have an FTP client that had an option
|
||
write all your file selections to a file and execute the fetch
|
||
later as an 'at' job. Perhaps one of our readers will know of one.
|
||
Also there is quite a bit of Java support for Linux. I don't know
|
||
about the JRE specifically but it appears to be supported according
|
||
to the canonical Linux/Java site (http://www.blackdown.org):
|
||
|
||
Java-Linux: Javasoft(TM) Products
|
||
http://www.blackdown.org/java-linux/products.html
|
||
|
||
(?) Thank you for your help.
|
||
Desperado
|
||
|
||
(!) I hope that helps. Look at the Blackdown.org site for more info
|
||
about Java under Linux.
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, James T. Dennis
|
||
Published in Linux Gazette Issue 30 July 1998
|
||
_________________________________________________________________
|
||
|
||
[ Table Of Contents ] [ Front Page ] [ Back ] [ Next ]
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
CHAOS: CHeap Array of Obsolete Systems
|
||
|
||
By Alex Vrenios
|
||
_________________________________________________________________
|
||
|
||
Introduction
|
||
|
||
If you are anything like me, you're probably not exactly sure how fast
|
||
the latest processor is. You probably didn't wait in line to buy the
|
||
latest Windows upgrade, and the machine you use to get your work done
|
||
probably doesn't look too good next to even the $1000 specials. Maybe,
|
||
like me, you need a little spice in your computing time slice.
|
||
|
||
This article describes a year-long project to create a network of old
|
||
PCs - a loosely coupled multi-processor, if you will - all for the
|
||
cost of a reasonably priced PC, a lot of my personal time, and a
|
||
little bit of luck.
|
||
|
||
Last year our vintage 1988 Deskpro 386s reached the limits of their
|
||
upgradeability, and they still couldn't run all the applications I use
|
||
at work. It was time to buy new. My wife gets the first new one this
|
||
time, and I'll decide to wait a little while longer. The two old
|
||
machines were top of the line, in their day. I still have all the
|
||
manuals, the original maintenance diskettes, and a few spare parts.
|
||
I'll be sorry to see them go.
|
||
_________________________________________________________________
|
||
|
||
It Begins
|
||
|
||
With the new PC up and running I found myself reorganizing things. I
|
||
went to my favorite computer store for a cable. Being one to avoid
|
||
paying for a new cable whenever I can, I went into the back room - the
|
||
salvage area - very much like a high tech junk yard. There, near the
|
||
corner, on a bottom shelf, were three Deskpro 386s, just like my old
|
||
ones at home!
|
||
|
||
I moved closer. (Didn't want to cause a scene, you know.) Each was
|
||
priced from $100 to $150 and the stickers were yellow. The big sign on
|
||
the wall said yellow means I can take another 20% off. I did some
|
||
quick mental math and decided to offer him $300 for all three of them.
|
||
|
||
"Excuse me," I said. "The old Deskpro 386s in the corner?" "Twenty
|
||
bucks apiece," he said. I put my credit card on the counter and the
|
||
PCs in my trunk. He even threw in three AC cords. After the deed was
|
||
done, I heard myself asking about others like them because I had to
|
||
build a home network. He even agreed to give them to me at the same
|
||
rate!
|
||
|
||
I took them home, took them all apart, and blew out some nasty dust.
|
||
The cases cleaned up like new with a little spray cleaner. (Okay, a
|
||
lot of spray cleaner.) They all had at least 40 MB hard, and standard
|
||
floppy drives, and some even had extra memory. Every one of them
|
||
booted, and all the hard drives reformatted properly. This was surely
|
||
an omen.
|
||
|
||
The cheapest network cards I could find were NE2000 compatible 10Base2
|
||
at $29 each. I got commercially made coax cables because I know what I
|
||
can do to a BNC connector with a soldering iron. Where was I going to
|
||
put all this stuff?
|
||
_________________________________________________________________
|
||
|
||
The Plan
|
||
|
||
I have a desk, credenza, and a side table in my little office area at
|
||
home. The side table happens to be wide enough for three PCs to sit
|
||
side-by-side under it, on floor pads. I cut a shelf to fit under it
|
||
and got two sliding keyboard drawers for the top. Two on top, with
|
||
keyboards and monitors, three on the shelf, and three on the floor
|
||
makes eight - that's a nice sized network. I got a pair of 1x4 data
|
||
switches to connect the pair of VGA monitors and keyboards to each set
|
||
of four machines. Mice do not switch well, so only the top two
|
||
machines have them. For what I wanted to build, a lot of mice were not
|
||
necessary anyway.
|
||
|
||
I found three more matching 386s and a very clean Deskpro 486 that I
|
||
just couldn't pass up. (It even had a CD-ROM drive!) My final
|
||
configuration uses the 486 as the "build" machine, seven 386s as the
|
||
multi-processor test bed, and the eighth 386 as a spare. The two
|
||
monitors, keyboards, and mice look good up top. The matching PCs
|
||
underneath look very natural. The rats nest of wires are tucked out of
|
||
site.
|
||
|
||
The Red Hat Linux version 4.2 box said it would work in character mode
|
||
on a 40 MB hard drive, but required 8 MB of RAM to run. I did some
|
||
quick combinatorics and bought the minimum number of memory chips that
|
||
would bring every machine up to that standard. Time to saddle up.
|
||
|
||
I used a DOS boot diskette to bring up each machine, establish the
|
||
type codes for the hard drives, and initialize the network cards. Each
|
||
card came with a tee connector, and the coaxial cables went together
|
||
quickly.
|
||
|
||
I got a small label maker and named the 386s after the seven deadly
|
||
sins. The 486 was named omission. A local sysadmin friend said
|
||
192.64.9.1 through 192.64.9.8 would do fine for my IP addresses. This
|
||
was starting to look pretty good.
|
||
_________________________________________________________________
|
||
|
||
The Installation
|
||
|
||
I've done my share of software installations, including a few
|
||
operating systems. Red Hat tries to make things as easy as possible
|
||
for the reasonably experienced person, so I expected an easy time of
|
||
it. Not true.
|
||
|
||
In hind sight I guess it all makes perfect sense, but there were a few
|
||
dark moments. Asking for a "Default Gateway" and a "Primary,
|
||
Secondary, and Tertiary Nameserver" was a bit over my head. (I got
|
||
eight machines on a private network. I don't need no stinkin'
|
||
nameserver... Do I?) And a friend had to set me straight on how many
|
||
partitions I really needed, explaining how a single partition
|
||
containing a swap "file" works fine under Linux. Oddly, the
|
||
installation program doesn't ask for NFS mounts if only one partition
|
||
exists. (It seems to me like that's when you need them most.) I had to
|
||
add this information manually to the /etc/fstab file after the
|
||
installation was complete. I updated the /etc/hosts file and switched
|
||
both accounts to use the C shell, while I was at it.
|
||
|
||
I still haven't a clue how to create a Linux boot disk. Nor do I
|
||
understand the "rescue" mode on the installation boot floppies. When
|
||
the network card "autoprobe" actually recognized my NE2000 compatible,
|
||
however, I knew this was all going to work out fine. And when the
|
||
second machine started reading the CD-ROM drive in the first one, I
|
||
got a little smug.
|
||
|
||
When I got to one of the machines with a 40 MB hard drive, I
|
||
discovered that a 40 MB set of installation files doesn't fit. After
|
||
frantic posts on the news groups and the mailing lists, I discovered
|
||
that I could de-select some of the software components that I didn't
|
||
need and chip the installation set size down to 35 MB, which fit
|
||
nicely. With /home and /usr mounted through NFS from the big 486, I
|
||
had no fears of running out of work space. In addition to the root
|
||
account for maintenance, I created one user account for myself so I
|
||
could do the ordinary stuff.
|
||
_________________________________________________________________
|
||
|
||
The Network
|
||
|
||
With the evidence mounting, I still didn't really believe it all
|
||
worked until I actually switched to different systems and did pings
|
||
back and forth. When I compiled a simple client/server pair of test
|
||
programs, started the server on one, and the client on another, I was
|
||
convinced. This is good.
|
||
|
||
So what, you might ask, am I going to do with an 8-PC network?
|
||
|
||
I've taken a few graduate courses in distributed and fault tolerant
|
||
systems, and I read a lot. There is something I find fascinating about
|
||
a distributed algorithm: locally each of the individual processes
|
||
obeys the same set of rules, but globally the "system" exhibits an
|
||
emergent behavior. All these individual processes look like a single
|
||
machine to the casual user.
|
||
|
||
With sophisticated software running on each of the seven machines,
|
||
they can band together to form a single computer that runs application
|
||
software, taking advantage of the overlap inherent in most algorithms,
|
||
by running a piece of the whole on each machine, collecting and
|
||
combining results as each of them completes. The "sophisticated
|
||
software" is called a distributed operating system, and the
|
||
application it runs has to be modified by hand in order to realize any
|
||
performance improvements. The January 1998 issue of Linux Journal is
|
||
dedicated to such systems. Beowulf clusters, discussed in that issue,
|
||
are within my reach, now that Red Hat released their Extreme Linux CD,
|
||
with the associated NASA code and documentation.
|
||
|
||
Beyond number crunching clusters, there are database server clusters.
|
||
The many machines are used to distribute the client transaction loads
|
||
so no one machine crashes from overwork. If a process fails, an
|
||
associated monitor process might restart it on the same, or some other
|
||
machine. And when one machine gets bogged down for whatever reason,
|
||
some of its processes might be intentionally stopped and restarted
|
||
elsewhere just to redistribute the overall load. This is leading edge
|
||
fault tolerant research material.
|
||
|
||
Finally, there are dozens of simple distributed algorithms along with
|
||
dozens of variations on each. Without any add-on sophisticated
|
||
software, one may use a C compiler and some UDP socket programming to
|
||
first imitate what has been done, then perhaps improve on it. I expect
|
||
this will be what I work on first. The seven 386s can each run a copy
|
||
of the algorithm under test, instrumented to write behavior trace
|
||
records, and the 486 can monitor these traces, displaying the global
|
||
behavior in some way that makes sense to me.
|
||
_________________________________________________________________
|
||
|
||
Conclusion
|
||
|
||
Whatever your computing interests, a hardware architecture must come
|
||
first. The current glut of high performance PCs provides us an
|
||
opportunity to build a system that fits our needs, without spending
|
||
too much money. The Linux operating system provides a substrate upon
|
||
which an interesting software project may grow. I recognized that a
|
||
small network of PCs would provide me with a platform that fit well
|
||
with what I think is fun. I hope my experience will encourage you to
|
||
pursue your own.
|
||
|
||
My next step is to define and construct a framework for my 486 to
|
||
become the monitor, sampling and reporting the behavior of some
|
||
distributed algorithm running on the other machines. Maybe that will
|
||
be the subject of my next article here.
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Alex Vrenios
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
Clueless at the Prompt
|
||
|
||
By Mike List, troll@net-link.net
|
||
_________________________________________________________________
|
||
|
||
[INLINE]
|
||
|
||
Welcome to installment 5 of Clueless at the Prompt:
|
||
|
||
How's it goin'? This month I'm going to go into some basic admin ideas
|
||
that you can use to make your home linux box a little easier to deal
|
||
with, especially in an emergency.
|
||
|
||
I'm also going to hit xdm on a couple of points, although I've got the
|
||
merest understanding of all the differences between it and running
|
||
from "startx"
|
||
_________________________________________________________________
|
||
|
||
*Boot/Rescue Disks:
|
||
|
||
If you make a mockery of your filesystem by typing for instance a
|
||
space between "/" and the file you were trying to rm as root, or your
|
||
extraordinarily gifted child discovers how to cold boot your computer
|
||
while you're in X and have a dozen windows open, or you accidentally
|
||
kick the power strip while you're stretching, or geez, need I go on?
|
||
You may discover one of the handiest things (two, actually) is a
|
||
Boot/rescue/root disk combo.
|
||
|
||
To use these , you simply reboot or cycle offthe computer as
|
||
"gracefully" as possible. Insert the boot disk, which can be your
|
||
install boot disk and start the bootup. instead of using your install
|
||
root disk, you drop a rescue disk in when prompted. These disks can be
|
||
gotten from your distribution's ftp site or more conveniently, if you
|
||
have linux on CDROM, guess where you might get it, most likely
|
||
wherever you got your boot image. You can also roll your own, or use
|
||
Yard to make a custom rescue disk. As a side note, you can use this
|
||
method to make a usable, if not very flexible, minilinux system,
|
||
something like xdenu.
|
||
|
||
To use your rescue disk, boot up with your installation bootdisk, and
|
||
when you are prompted to insert root disk, just pop it in and hold
|
||
tight a second. when you get a prompt, you are almost ready to fix
|
||
your problems.You can run fsck on a disk partition without mounting
|
||
it, in fact that's the safest way to use it. If you bollixed any init
|
||
files, you can mount the /dev/?partition to "/mnt" cd /mnt and using
|
||
vi, edit the mistaken lines or even recreate them if need be. One
|
||
important note; your hard drive will be mounted below /mnt, so don't
|
||
do anything to "/" or you risk hosing your rescue disk, not a nice
|
||
thng to do when it's all that stands between you and your linux
|
||
system.There is even a defrag utility that you can use after you fsck
|
||
your filesystems, but you must make sure that you only run it on
|
||
UNMOUNTED filesystems or you'll be subject to a REAL LEARNING
|
||
EXPERIENCE!, as in learning to reinstall your box from scratch, or
|
||
practice on your backup routine.
|
||
_________________________________________________________________
|
||
|
||
*Xdm:
|
||
|
||
If you ever thought it would be cool to be able to start your linux
|
||
box in X mode and logging in from an X screen, it isn't too hard to
|
||
do, using xdm, the X Display Manager. You can easily start it by
|
||
simply typing:
|
||
|
||
xdm
|
||
|
||
if you have X configured. It should start with a login screen, and
|
||
look like the twm window manager, tweed background and all, and when
|
||
you login for the first time, it probably will be twm, particularly if
|
||
you got your XFree86 distribution from xfree86.org, although I'm
|
||
really only accustomed to Slackware so another window manager might
|
||
come as default in say, RedHat or SuSe, or Debian distributions. that
|
||
can be changed, as can the tweed root window, and the login message,
|
||
and a great many other small details. You should be aware that because
|
||
of the way xdm invokes X, the path will not be the same as if you run
|
||
startx. That means that you must either specify the full pathnames for
|
||
executables or change your path in the" " file.Your access to remote
|
||
xhosts will be different as well, a problem I haven't licked yet but
|
||
by the time you finish reading this I might(or you might, or we both
|
||
might or ...).
|
||
|
||
Better yet break out your favorite editor, save your /etc/inittab file
|
||
in case of disaster and find the line that starts with id?:default
|
||
runlevel? and read the file down a few lines to where it describes the
|
||
runlevels and change to the one that describes X11R6 in Slackware it
|
||
would be runlevel 4, so change the id and the runlevel description if
|
||
you are a slacker, it may be different on other distributions, since
|
||
they mostly use BSD style init and have their rc.files directly in
|
||
/etc. That's enough to start Linux in a login screen.You could run
|
||
|
||
locate xdm
|
||
|
||
to find the xdm files, and give them a good lookover. The files you'll
|
||
want to look at are the Xresources, Xsession, and Xsetup_0. There are
|
||
other files to work over but let's start with our local desktop.
|
||
|
||
If you look at your Xsession file you'll see you need these files in
|
||
your home directory:.xinitrc and .Xresources. The .xinitrc you may
|
||
have in your home directory is a reasonable default, and you can copy
|
||
the system Xresources to your home .Xresources. If you would like to
|
||
use other files as your startup and resources file, you'll need to
|
||
specify them in the Xsession file, at the lines that read:
|
||
startup=$HOME/.xinitrc
|
||
resources=$HOME/.Xresources
|
||
|
||
|
||
you might use .openwin, instead of .xinitrc and .Xdefaults instead of
|
||
.Xresources, you'll have to lok at what X related dotfiles are present
|
||
in your home directory.
|
||
|
||
Your Xsetup_0 fle can be used to start a background image in the login
|
||
screen using a command like:
|
||
|
||
xv -root -quit /your/image/here
|
||
|
||
assuming that you have xv installed on your system. You can use other
|
||
viewers to start the image, but you will have to read up on the
|
||
appropriate command line options for them. You can also enable or
|
||
disable the xconsole log, which can be used to notify you of errors in
|
||
execution, etc, by piping the xdm-errors file to it in this file,
|
||
although I haven't done it and am not real familiar with the the
|
||
specifics.
|
||
_________________________________________________________________
|
||
|
||
If you have any starting out type questions, or any tips you you think
|
||
would be handy for the newbie reader, please email me at:
|
||
|
||
troll@net-link.net
|
||
|
||
See you next month!
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1997, Mike List
|
||
Published in Issue 30 of the Linux Gazette, July 1997
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
8 Reasons to Make the Switch
|
||
|
||
By Bill Bennet
|
||
_________________________________________________________________
|
||
|
||
Here are 8 reasons to switch to Linux, the free OS:
|
||
1. It is free. Download from the Internet and install it now.
|
||
2. Free upgrades. Find the Kernel on the Internet and download the
|
||
latest guts for the system.
|
||
3. It runs Win3x,95,98,etc. Some programs, not all. Your programs
|
||
will run and look the same as in Windows. Find the Wine project.
|
||
It is trying to be 100% free of Microsoft code, in order to
|
||
further promote freedom of action on the PC. They use the API of
|
||
Windows, and write the code for free! When a Windows program won't
|
||
run in WINE or WABI the Linux system can be installed AFTER you
|
||
install Windows. Then the LILO bootloader can boot either Linux or
|
||
Windows, without any upset at all of your delicate and unstable
|
||
Windows setup. A dual-boot PC is able to run almost everything and
|
||
it tastes great, but is not less filling. Create with the GIMP,
|
||
post it to the net, save it in DOS and use it in your office
|
||
suite.
|
||
4. It runs DOS. Some programs, not all. See dual-boot, above. Your
|
||
programs will run using the Dosemu. It makes the programs see a
|
||
DOS system on your machine, and they go. Yes, even Warlords II
|
||
will run just fine. You just need a paid-for DOS version to
|
||
install and a hard disk partition is recommended.
|
||
5. It runs Unix. Your Linux is a PC version of the powerful Unix OS.
|
||
The universities, NASA, the research institutes, computer
|
||
scientists and software developers are using it since the old days
|
||
of computing. You now have access on the Internet to thousands of
|
||
programs. They range from obscure utilities to fully developed
|
||
productivity systems. Oh, by the way, they are free to download
|
||
and are written by the best minds in the computer world.
|
||
"Microserfs"(recruited by the monopoly), are best left in their
|
||
circular, singular limited world so that the real free thinkers
|
||
can write you great innovative, unlimited programs that can solve
|
||
real world problems.
|
||
6. It runs Macintosh. Yes, you just get the emulator and your Mac
|
||
programs will see a Mac system on your PC. Playmaker Football,
|
||
anyone?
|
||
7. It is fast when used as a network server or for multi-tasking. The
|
||
ISP (Internet Service Provider) community is becoming a large
|
||
growth area for Linux, with over 20% of them using it. That
|
||
percentage is growing as the mainstream shrinks. The choice of
|
||
Linux as your office productivity system is really a no-brainer:
|
||
Speed, Versatility, Price (free), Upkeep (free), Support (free on
|
||
the Internet) and Adaptation. Your upgrades are free and you keep
|
||
up with all the innovations in the realm of computing by virtue of
|
||
your ability to run all the different operating systems and their
|
||
software on one machine. Any questions?
|
||
8. You contribute to the expression of freedom of thought and action
|
||
when you choose Linux, the free OS. By way of contrast, just ask
|
||
yourself 'How many times have I paid for an upgrade of my
|
||
system?'. If the answer is one or more, then you paid too much.
|
||
Again, ask yourself 'Did I need to upgrade when the owners of the
|
||
OS told me to upgrade?'. If your software was running just fine
|
||
when you were told to upgrade, then who is running your life?
|
||
|
||
Finally, ask yourself 'Does following the dictates of the
|
||
Windows-Intel monopoly make me an independent PC owner?'. If you can't
|
||
run a piece of software that sounds like it does what you want done,
|
||
because it is not available for your "operating system", then why do
|
||
you continue to let yourself be limited by the owners of the monopoly
|
||
"operating system"?
|
||
|
||
Switching to Linux lets you run the software that you hear about and
|
||
lets you choose which programs you want; which programs you need; and
|
||
most important, when to buy them.
|
||
|
||
Staying on Microsoft's schedule, for example, will have seen you
|
||
purchase four upgrades to your "operating system" in the last ten
|
||
years. DOS 6.22, Windows3x, Windows95 (DOS 7.0) and Windows98 have an
|
||
inevitable progression built into their "release" so that you give
|
||
your money to the richest man on the planet on a regular basis. That
|
||
regular flow of cash is keeping Microsoft solvent, paying the
|
||
investors and limiting choices for the 90% of PC users who are trapped
|
||
in the Microsoft endless loop of upgrades.
|
||
|
||
Why am I so adamant in my condemnation of the monopoly? The reason is
|
||
that in May of 1998, Microsoft "released" Windows98. That caused a
|
||
huge buying surge for Microsoft, because their captive users were
|
||
truly afraid of being left out of the "innovation" loop. At the same
|
||
time, a press release on the TV claimed that Windows98 had fixed three
|
||
thousand (3,000) bugs in the Windows95 "operating system". Only a true
|
||
monopoly would even let you know that you had been inflicted with
|
||
three thousand (3,000) bugs in your last software purchase. To top off
|
||
the irony, the United States government and 20 of their states were
|
||
taking Microsoft to court on anti-trust suits over their exclusion of
|
||
choices for consumers on which browser to use on the Internet.
|
||
|
||
That left me with the logical question of whether you PC users had a
|
||
choice of how to run your PC and get only the programs that you want
|
||
or need. The answer is that the lawsuits are illogical, since you the
|
||
consumer can run Linux, use just the Microsoft programs you want and
|
||
run any browser you want and run any system you want, all on one PC.
|
||
Therefore, Microsoft can wedge their captives into any type of mess
|
||
that they wish, simply because you can choose to run Linux and still
|
||
be connected to the masses by virtue of your versatility.
|
||
|
||
Your business can run the same software as your contacts and share the
|
||
same type of files and be totally connected, even with the extra 10%
|
||
of the market that is not on Windows-Intel. You win and you win with
|
||
Linux.
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Bill Bennet
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
Integrated Software Development with WipeOut
|
||
|
||
By Gerd Mueller
|
||
_________________________________________________________________
|
||
|
||
Programming under Linux means you have the choice between various
|
||
powerful development tools, such as gcc, gdb, make and a lot more. But
|
||
most of them are command-line tools and especially for beginners not
|
||
easy to handle. But this is only one side. The other important point
|
||
is the source code editor. Many people swear by vi (or one of its
|
||
clones) - I don't mind. But it's not enough to have a good editor, a
|
||
compiler and a debugger. Especially when you develop larger software
|
||
projects you need a tool to organize it efficiently, version control
|
||
would be recommended and for object-oriented languages a class browser
|
||
is indispensable. Now you have to get all these tools under one
|
||
umbrella. I see mainly two ways to resolve this problem: one is called
|
||
(X)Emacs and the other is an Integrated Development Environment.
|
||
|
||
You can resolve nearly every problem with Emacs (may be in the near
|
||
future it will cook coffee for you ;)). It is not only an editor: you
|
||
can use it as mail tool, news reader, file system browser, debugger,
|
||
compiler and make tool. If you don't have a special feature it is
|
||
possible to extend Emacs to fit your needs. But in my opinion it does
|
||
all these things not very easily and intuitively. So I prefer the
|
||
second way for software development as mentioned above.
|
||
|
||
In my understanding an Integrated Development Environment gives you a
|
||
graphical interface to the different tools and joins them in one
|
||
environment. The tools should help me to organize my projects and
|
||
support the code-compile-debug cycle. Advanced features are things
|
||
like a GUI-builder, documentation tool and maybe a CASE-tool like
|
||
behaviour.
|
||
|
||
Under Linux you have the choice between various IDEs. They are more or
|
||
less powerful and more or less expensive. In this article I'd like to
|
||
introduce one of them which is called WipeOut.
|
||
|
||
[INLINE] History
|
||
|
||
At the beginning there was just the idea to have some nice and easy to
|
||
use frontends for the main development tools of each C++-programmer
|
||
under Linux: gcc, gdb and make. We decided to use wxWindows [1] by
|
||
Julian Smart to program the GUI. The first versions of WipeOut were
|
||
developed with the OpenLook-variant of wxWindows. Later we changed to
|
||
wxXt by Marcus Holzem because most of the people didn't like OpenLook.
|
||
For basic data structures (container classes, strings, etc.) we
|
||
developed dmpack [2]. This library contains also features such as
|
||
streamable objects and remote method invocation, which are very
|
||
important to the communication between the various WipeOut components.
|
||
The communication part of dmpack is based on the socket++-library by
|
||
Gnanasekaran Swaminathan which provides an object-oriented interface
|
||
to sockets and pipes.
|
||
|
||
[INLINE] Components and Features of WipeOut
|
||
|
||
Now WipeOut is a complete teamwork development environment for C++,
|
||
Java, Eiffel, Fortran and C projects. (Other languages may follow.) At
|
||
the present it consists of the following components:
|
||
|
||
* Project Browser - the main window of WipeOut
|
||
* Revision Browser - version control based on CVS, it supports
|
||
remote repositories and teamwork
|
||
* e3-Editor - the central text editor with flexible syntax
|
||
highlighting
|
||
* Class Browser - supports Java and C++, used as source code
|
||
navigator and cross-referencer
|
||
* Debugger - a frontend for gdb/jdb, supports threads
|
||
* Make-Shell - a frontend for make, automatic makefile generation
|
||
* Symbol-Retriever - a comfortable grep replacement for symbol
|
||
searching in a quantity of files
|
||
* SurfBoard - our HTML-viewer to show help and man pages
|
||
|
||
WipeOut is not a RAD-tool. This is because it's not a pure Java or C++
|
||
development tool. The editor, the project management, and the make
|
||
shell work also fine for other projects than C++ or Java. Besides it
|
||
is hard to decide for a special GUI-toolkit, which would be necessary
|
||
for the C++ part. So we try to support the programmers with intuitive
|
||
frontends for various command-line tools and some important additional
|
||
components, which help for more effective programming.
|
||
|
||
WipeOut is available for various platforms: Linux/i486, Linux/m68k,
|
||
Linux/Alpha, Solaris, HP-UX. All these versions are fully compatible,
|
||
so that you can use WipeOut for multi-platform development.
|
||
Furthermore there are porting activities for LinuxPPC and Irix.
|
||
|
||
Currently we provide WipeOut in two versions:
|
||
|
||
* the free standard version: This version is free for non-commercial
|
||
use, but it has some restriction: there is no version control and
|
||
a project can contain only one module. All other components have
|
||
the full functionality.
|
||
* the WipeOutPro version: this version is unlimited and costs $149
|
||
for commercial users and $79 for private users.
|
||
|
||
[INLINE] Installation
|
||
|
||
The Installation is not very difficult. To run WipeOut you need the
|
||
following packages:
|
||
|
||
* wipeout-<VERSION>.tar.gz : this file contains WipeOut itself
|
||
* wxxt-share.tar.gz : this is the GUI-library
|
||
* wipeout-doc-<VERSION>.tar.gz : the WipeOut documentation
|
||
* wipeout-tut-<VERSION>.tar.gz : the WipeOut tutorial
|
||
|
||
You can obtain the packages from [4]. Then do the following steps:
|
||
* Create a new directory, where you want to install WipeOut
|
||
* Copy the packages to this directory and unpack them with 'tar xvzf
|
||
<package>'
|
||
* Start the setup-program of WipeOut by typing './setup'. Follow the
|
||
instructions which the program will display. After finishing it
|
||
will create two small shell-scripts: You have to include
|
||
'wipeout.sh' with the 'source'- command into your '.bashrc' or
|
||
'.bash_profile' if you use bash or 'wipeout.csh' into your
|
||
'.cshrc'-file if you use csh.
|
||
* After opening a new shell, which uses the modified rc-file, you
|
||
can start WipeOut simply by typing 'wipeout'.
|
||
|
||
[INLINE] First Steps
|
||
|
||
After starting WipeOut you'll see the Project Browser to the left and
|
||
the (empty) editor to the right. The Project Browser is the central
|
||
part of WipeOut. Here you open the projects and start the other
|
||
components.
|
||
|
||
The first thing we do is to create a new project. Therefore we choose
|
||
the menu 'Project->New Root Module'. A dialogbox opens and we have to
|
||
input the directory of the CVS-repository (see below) and the
|
||
directory of our new project. After confirming WipeOut asks us for
|
||
adding the 'Makefile' and the '<arch>.def' file. We choose OK. What
|
||
this files mean we will see later. Now WipeOut creates a new module in
|
||
the repository and will initialize the project directory.
|
||
|
||
After creating the new project we now have access to all the other
|
||
components. At first we will have a look at the Revision Browser.
|
||
|
||
[INLINE] The Revision Browser - Part I
|
||
|
||
[INLINE]
|
||
|
||
The Revision Browser manages the modules and files of your project. A
|
||
module represents a directory and it groups the files logical. But a
|
||
module can contain submodules so that you can build a module
|
||
hierarchy, which represents your project.
|
||
|
||
The Revision Browser shows this hierarchy in a GUI-element called
|
||
browser box. This box was inspired by a similar GUI-element of the
|
||
NextStep-System and it's a clever and easy way to display a hierarchy.
|
||
Each listbox shows one level of the hierarchy. The top of the
|
||
hierarchy is shown in the most left listbox. If you select an item the
|
||
listbox to the right contains the children of it. With the arrow
|
||
buttons to the left and right of the box you can scroll through the
|
||
hierarchy.
|
||
|
||
The files belonging to a module are shown in the right listbox. If you
|
||
double-click on an item the corresponding file will be shown in the
|
||
editor. To be exact: the file will be opened with the default
|
||
application of its category (see below).
|
||
|
||
Every module has several properties. If you select a module and choose
|
||
Edit->Info for File or Module you get a dialog, where you can modify
|
||
the module properties. There are the following tabs:
|
||
|
||
* Categories: The files of a module are divided into categories.
|
||
There is an automatic assignment based on the file extension but
|
||
you can do it also explicitly. A file can be a member of more than
|
||
one category. Categories have mainly two meanings:
|
||
The first is, that each category represents a makefile symbol. All
|
||
files of a category are included in this symbol. In this way make
|
||
knows how to handle a file. An example is the default category
|
||
'CPP_source'. It includes all files of the module with the
|
||
extensions '*.C', '*.cc' and '*.cpp'. That means normally they are
|
||
C++-source code files. If you start to make a module, all files of
|
||
that category will be compiled with c++ (as the default
|
||
C++-compiler).
|
||
As a second point you can assign one or more applications to a
|
||
category. One of them is the default application (this is normally
|
||
the WipeOut editor e3). If you double-click on a file in the
|
||
filelist, this file will be opened with the default application.
|
||
If you select a file and click right you'll get a small popup menu
|
||
with all applications which are assigned via the category to this
|
||
file. By selecting one of them the file will be opened with it.
|
||
* Directories: Beside of its home directory you can assign other
|
||
directories to a module. These directories can have one or more of
|
||
the following meanings:
|
||
+ Source : this is a directory where the debugger searches for
|
||
source code
|
||
+ Header : this is a directory where additional header files
|
||
are located, the compiler will need this
|
||
+ Library : the compiler searches in this directory for
|
||
libraries
|
||
+ Make : WipeOut starts a recursive make in this directory,
|
||
when you start to make the module
|
||
+ Browse : marks the directory for the Class Browser so that it
|
||
will parse the directory for classes
|
||
The default properties of the module's home directory are 'Source'
|
||
and 'Browse'.
|
||
* Options: Here you can set some additional makefile options. If you
|
||
click on one of the buttons the editor shows the corresponding
|
||
line of the '<arch>.def'-file. You can set your compiler, compiler
|
||
flags, include and library paths, and libraries, which you want to
|
||
link to your program.
|
||
* Tools: Here you can set various tool properties. At present there
|
||
is only the make-command property: You can input here the
|
||
make-command which you like to use for making your project. The
|
||
default is of course a simple make but you may change it gmake or
|
||
pmake.
|
||
_________________________________________________________________
|
||
|
||
WhatYouSeeIsWhatYouGet in WipeOut
|
||
There is one point where WipeOut differs from many other programs:
|
||
Mostly settings will be persistent immediately, i.e. you don't need to
|
||
save them explicitly - real WYSIWYG. Just in some modal dialogs there
|
||
are OK- and Cancel-buttons, so that you have the choice to confirm or
|
||
to cancel. Furthermore you don't need to save property-changes you
|
||
made for a module, e.g. if you add a directory or category these items
|
||
will be immediately visible to all other components without saving and
|
||
closing the dialogbox. We think this kind of work is faster and
|
||
intuitive.
|
||
_________________________________________________________________
|
||
|
||
[INLINE] The aim of the game
|
||
|
||
Now we know some things about modules and categories. It's time to
|
||
turn back to practice and produce a little chunk of code. In our
|
||
example we will build up a small String - class including the
|
||
obligatory 'Hello World' - program.
|
||
|
||
To create the source code for a module we have three possibilities:
|
||
* do it the old-fashioned and good way - open a new file in the
|
||
editor and hack the code into it
|
||
* import existing files into the module
|
||
* create class and method headers with the Class Browser
|
||
|
||
We choose the last point, so that we can take a closer look at the
|
||
Class Browser. To open it just click on the third button of the
|
||
Project Browser.
|
||
|
||
[INLINE] The Class Browser
|
||
|
||
[INLINE]
|
||
|
||
The Class Browser is bases on an incremental source code parser. That
|
||
means your code can be incomplete or wrong, but the Class Browser will
|
||
scan it for classes, methods, and members as good as possible. The
|
||
Class Browser parses this project directories which you marked as
|
||
'Browse' (see above). After building-up the internal database the
|
||
first time, only such files will be parsed again, which changed or
|
||
depend from changed files and new files. You have to tell the Class
|
||
Browser explicitly to update the class hierarchy with
|
||
Hierarchy->Update (or faster the corresponding toolbar button). But
|
||
you must only update if you changed a class or method declaration.
|
||
|
||
Apart from the well-known browserbox, which is used here to show the
|
||
class hierarchy, the Class Browser has another WipeOut-standard
|
||
GUI-element - the panelbox.
|
||
|
||
The development of the panelbox was necessary, because time after time
|
||
there were to many non-modal dialogs which showed important
|
||
information. This wasn't easy to survey. The panelbox is clearly
|
||
structured and gives fast access to various information without
|
||
loosing survey. The panelbox consists of one or more subpanels. You
|
||
can assign the number and kind of the panels with the small buttons in
|
||
the top of it.
|
||
|
||
The Class Browser has five different subpanels:
|
||
* Methods : shows the methods of the current class
|
||
* Members : shows the members of the current class
|
||
* Hotlist : shows the hotlist (see below)
|
||
* All Classes : shows all classes of the hierarchy
|
||
* All Methods : shows all methods of the hierarchy
|
||
|
||
The hotlist is a collection of often used classes, methods and
|
||
members, so that you have fast access to them. With the menu item
|
||
Hotspots->Add Hotspot you can add the current class, method or member
|
||
to the hotlist. A double-click on a hotspot opens the corresponding
|
||
file in the editor. This is similar to all other listboxes. Beside of
|
||
this you are able to control the listboxes via keyboard: with the
|
||
cursor keys, 'Home', 'End', 'PageUp' and 'PageDown', but also with
|
||
alpha-numerical keys. If you press a letter the listbox cursor jumps
|
||
to the first item beginning with that letter.
|
||
|
||
But now we want to build our String-class: We do that with Edit->New
|
||
Class .... We input the name of the class and press Insert In New
|
||
File. WipeOut will ask us several questions, but we confirm all of
|
||
them with OK. The editor shows us now a new header file for our
|
||
String-class.
|
||
|
||
The next step is to add some methods. We do that with the Edit->New
|
||
Method ...-dialog. Simply input the method declaration as you know it
|
||
from C++/Java and set the editor cursor to the right places when
|
||
WipeOut asks you to do so. After writing some implementation code your
|
||
source files should look as follows:
|
||
|
||
Listing 1
|
||
|
||
// $Id: issue30.txt,v 1.2 2003/02/03 21:50:19 lg Exp $
|
||
// some comments ...
|
||
#ifndef _String_h
|
||
#define _String_h
|
||
class String {
|
||
protected:
|
||
char* _data;
|
||
public:
|
||
String(char *);
|
||
virtual String();
|
||
virtual String& operator= (char *);
|
||
virtual char* data() const;
|
||
};
|
||
#endif
|
||
|
||
Listing 2
|
||
|
||
// $Id: issue30.txt,v 1.2 2003/02/03 21:50:19 lg Exp $
|
||
// some comments ...
|
||
#include
|
||
#include
|
||
#include "String.h"
|
||
String::String (char *data) {
|
||
_data = new char[strlen(data)+1];
|
||
strcpy (_data, data);
|
||
}
|
||
String::String() {
|
||
delete _data;
|
||
}
|
||
char* String::data() const {
|
||
return _data;
|
||
}
|
||
String& String::operator= (char* data) {
|
||
delete _data;
|
||
_data = new char[strlen(data)+1];
|
||
strcpy (_data, data);
|
||
return *this;
|
||
}
|
||
main() {
|
||
String str ("Hello ...");
|
||
cout << str.data() << endl;
|
||
}
|
||
|
||
Because we generated the class with the Class Browser we don't need to
|
||
update the class hierarchy explicitly. Beside of this the Class
|
||
Browser added the files 'String.h' and 'String.cc' automaticly to the
|
||
module in the Revision Browser.
|
||
|
||
[INLINE] The Revision Browser - Part II
|
||
|
||
Before we continue just a few words about version control for those of
|
||
the readers, who are not familiar with it. The repository (we set its
|
||
directory while creating the new project) is the central database of
|
||
the version control. All developers get the actual source code version
|
||
from there. Each developer has a local copy of this version (or a
|
||
version of her/his choice) and she/he can edit it.
|
||
|
||
If the developer does a commit the local copy of the file goes into
|
||
the repository. Now all other developers have access to this new
|
||
version of the file. They have to update their local copy. If a
|
||
developer made changes at a file but didn't commit them yet and update
|
||
this file now, CVS merges the local copy and the actual version of the
|
||
repository. The developer will not loose his changes. After updating
|
||
the local copy may contain conflicts. That means the changes of the
|
||
developer collide with the changes from the repository version. The
|
||
developer has to resolve these conflicts (with support of the e3)
|
||
before committing the file again.
|
||
|
||
If you take look at the file list of the Revision Browser, you will
|
||
see there four files: 'Makefile', '<arch>.def, 'String.h' and
|
||
'String.cc'. All these items have a '[n]' at the beginning and empty
|
||
parentheses at the end. The signs within the brackets have the
|
||
following meanings:
|
||
|
||
* + : the file is up-to-date
|
||
* < : you need to 'Commit' the file
|
||
* > : you need to 'Update' the file
|
||
* x : there could be conflicts with other developers
|
||
* X : there is a conflict within the file
|
||
* n : the file was locally added
|
||
* - : the file was locally deleted
|
||
* ? : no status information available
|
||
|
||
Beside of the conflict symbols the signs have the same meaning for
|
||
modules.
|
||
|
||
The parentheses after the file name contain the version of the local
|
||
copy. If we select our module and commit it with Revision->Commit File
|
||
or Module the version numbers of the files change to '1.1' and the
|
||
status changes to '+'.
|
||
|
||
Especially on team development the status of a file or module can
|
||
change every time. You have three possibilities to keep the Revision
|
||
Browser up-to-date (Project->Module Properties):
|
||
* on item select: status update each time you click on a file or
|
||
module
|
||
* on tool select: status update each time you select the first
|
||
button of the toolbar
|
||
* timer interval: status update every x seconds
|
||
|
||
Note that each status update causes a CVS command. If you work with
|
||
remote repositories but you have only a poor connection to it, it's
|
||
recommend to choose the second possibility.
|
||
|
||
WipeOut has a lot other features for version control and team work,
|
||
e.g. you can create version branches for files and modules, you can
|
||
merge these branches again and you can assign symbolic names (tags) to
|
||
versions. You have various possibilities to import existing projects
|
||
(with or without CVS). All these things are described in the WipeOut
|
||
documentation and with a little patience it should be easy to find
|
||
them out.
|
||
|
||
Before we now compile our small project we'll take a look at the
|
||
editor.
|
||
|
||
[INLINE] The Text-Editor
|
||
|
||
[INLINE]
|
||
|
||
The editor is a central component of WipeOut. You use it for source
|
||
code editing and whenever another component needs to show a file or to
|
||
know a source code position it uses the editor. This is one of the
|
||
basic concepts of WipeOut: only one central text editor.
|
||
|
||
This causes a very high integration of the editor into the development
|
||
environment. That's why it is not possible to use another editor
|
||
within WipeOut. This seems to be a great disadvantage because the most
|
||
of the developers have their own favourite editor and it's not easy to
|
||
turn to another one. But this way it is possible to integrate such
|
||
features as the symbol completion: If you press 'Ctrl-.' in the editor
|
||
it will try to complete the word you are writing currently. Therefor
|
||
it uses the database of the Class Browser and looks for a matching
|
||
class, method or member name.
|
||
|
||
Another nifty feature is the integrated man page viewer: If you select
|
||
a symbol in the Text-Editor and press 'Ctrl-m' the SurfBoard will show
|
||
the related man page if there is one. In the near future we will
|
||
extend this to info pages and external HTML-documentations.
|
||
|
||
Syntax Highlighting
|
||
|
||
The highlighting of syntactical elements increases the readability of
|
||
source code. The WipeOut-editor uses regular expressions to do that.
|
||
The syntax is similar to the 'grep'-command. The documentation of
|
||
WipeOut contains a general overview of the meta-symbols. This kind of
|
||
highlighting slows down the editor a little bit but it gives you the
|
||
flexibility to create your own highlighting style.
|
||
|
||
A style is a set of a regular expression, a file pattern, a color and
|
||
a font. Each style highlights a special syntactical element specified
|
||
by the regular expression in the given color and font, but only in
|
||
those files, which match the file pattern. You can create and edit
|
||
styles with Properties->Highlighting.
|
||
|
||
The editor has default styles for C++, Java, Objective-C, LaTeX and
|
||
HTML. You can use this styles as they are, but you can also change
|
||
them. There is a lot of space for experiments.
|
||
|
||
Beside the styles there are some other parameters: various colors,
|
||
tabs, undo-depth, font sizes, etc. Finally the editor is very easy to
|
||
use, so that there shouldn't be to big problems.
|
||
|
||
[INLINE] The Make-Shell
|
||
|
||
[INLINE]
|
||
|
||
But now back to our mini-project: after creating files, adding them to
|
||
a module, working with the Class Browser and the Text-Editor it's time
|
||
to compile the program.
|
||
|
||
WipeOut uses make to compile your projects. Normally all necessary
|
||
files will be created automaticly based on the module information.
|
||
Each module has three different parts for the makefile:
|
||
|
||
* Makefile.inc: contains various symbol definitions, e.g. each
|
||
category gets a symbol, which contains the files of the category.
|
||
The makefile uses this symbols to determine, which files to
|
||
compile for a special target. This file will be updated
|
||
continuously be WipeOut and you should not edit it.
|
||
* <arch>.def: contains platform depending parameters. '<arch>' will
|
||
be replaced by the OS-name, e.g. Linux. When you develop a project
|
||
with WipeOut across various platforms this file helps you to make
|
||
the platform specific compiler settings.
|
||
* Makefile: This is the makefile itself. It includes 'Makefile.inc'
|
||
and '<arch>.def'. You can edit it for adding other than the
|
||
default targets. The Make-Shell will call make with this file. The
|
||
makefile contains default rules to compile C-, C++-, Java- and
|
||
flex-sources. It has targets to build C/C++- and Java-programs and
|
||
static or shared libraries.
|
||
|
||
To start make we open the Make-Shell with the 5th button of the
|
||
Project Browser. This dialog has only a few elements: the Start-button
|
||
to start make, an edit field to set a special target (an empty field
|
||
means the default target - 'cplusplus') and two checkboxes. Normally
|
||
Make-Shell shows only compiler errors and warnings in the lower
|
||
listbox after make has finished. If we check 'All Lines', we get all
|
||
the make output in the listbox. If we check Progress Window, a small
|
||
output console opens while compiling and shows the original make
|
||
output.
|
||
|
||
We compile our program simply by pressing Start. After finishing the
|
||
error listbox shows us a warning about a virtual constructor. We click
|
||
on the warning and the editor cursor jumps to the error line. We
|
||
recognize that the constructor should be a destructor and so we
|
||
complete the implementation and declaration with the tilde-letter. We
|
||
compile again and now everything should be okay.
|
||
|
||
To test our program we open the shell of the Project Browser and input
|
||
the name of our module because this is the name of the program. The
|
||
output is, oh wonder:
|
||
|
||
Hello ...
|
||
|
||
As the next step we extend our project somewhat. Therefor we add two
|
||
methods:
|
||
|
||
Listing 3
|
||
String& String::operator+= (const String& rhs) {
|
||
char* buf = new char[length()];
|
||
for (int i=0; i<length(); i++)
|
||
buf[i] = data()[i];
|
||
for (int i=0; i<rhs.length(); i++)
|
||
buf[length()+i] = rhs.data()[i];
|
||
delete _data;
|
||
_data = buf;
|
||
return *this;
|
||
}
|
||
int String::length() const {
|
||
return strlen(data());
|
||
}
|
||
|
||
We modify the main function as follows:
|
||
|
||
Listing 4
|
||
main() {
|
||
String str ("Hello");
|
||
str += String (" from WipeOut.");
|
||
cout
|
||
After recompiling and running the program we now get a 'Segmentation fault'
|
||
and we have no idea why. This is the right time to use the debugger.
|
||
|
||
The debugger
|
||
|
||
[INLINE]
|
||
|
||
|
||
We start the debugger with the fourth button of the Project Browser. The interf
|
||
ace
|
||
consists of similar elements as the Class Browser: the browserbox and the
|
||
panelbox. The panelbox has five different subpanels:
|
||
|
||
* Breakpoints : shows all breakpoints
|
||
* Stack : shows the current execution stack
|
||
* Sources : shows all source related to the program
|
||
* Expression : shows a special variable expression
|
||
* Threads : used when debugging threads
|
||
|
||
|
||
We arrange the panelbox for our needs: we add the 'Sources'-panel to the
|
||
two default panels 'Breakpoints' and 'Stack' by clicking on the small
|
||
'plus'-button.
|
||
|
||
Now we load the program with Session->Load Executable. After that
|
||
the 'Source'-panel should show all source files related to the program.
|
||
|
||
The browserbox is used to show variable values. The first listbox shows per
|
||
default all local variables. If you click on an item, the next level shows
|
||
the value or the components of it. This way you can easy browse classes,
|
||
structures and arrays. After every action the debugger refreshes the
|
||
variable values automaticly.
|
||
|
||
If you like to inspect a variable, which is not shown in the browserbox at
|
||
the moment, just mark it in the editor and choose Inspect Variable
|
||
in the toolbar of the debugger. Now the first list of the browserbox
|
||
contains the variable.
|
||
|
||
Normally the debugger resolves data structures automaticly, so that you
|
||
always get the correct values, e.g. it shows the content of a pointer and
|
||
not the pointer value itself. But sometimes this is not possible, e.g. if
|
||
you declared an array of integer-pointer as 'int**'. To get the
|
||
items of the array you have to cast the type with Inspect->Change/Cast
|
||
Variable.
|
||
|
||
With Inspect->Move Variable to Top it is possible to move a variable
|
||
from a lower level of the hierarchy to the top, so that you don't need to
|
||
browse through the whole hierarchy to get the value of the variable.
|
||
|
||
Because we've got no idea what's wrong with our program, we simply start it
|
||
with Run->Run. This causes a 'Segmentation fault' again, but after
|
||
we have confirmed the messagebox the editor colors the error line with red.
|
||
We've got an error in the method String::operator+=.
|
||
|
||
Before we correct the error we should kill the program with Run->Kill.
|
||
To know what's going on in the method we want to find out what the
|
||
method data does. We use the Class Browser as cross-referencer to find
|
||
the implementation of this method. Therefore we mark data and choose
|
||
Edit->Search Symbol in the Class Browser. Now the editor shows the source
|
||
code of the method data. We see, that the method doesn't do anything
|
||
exciting, only returning the _data-pointer. We go back to the
|
||
String::operator+= method, take a closer look on it and recognize
|
||
that we've allocated not enough memory for buf. So we modify the
|
||
first line as follows:
|
||
|
||
char* buf = new char[length() + rsh.length()];
|
||
|
||
We compile and run the program again and everything is fine. But we can't
|
||
see the output. We resolve the problem with Inspect->Program Console ....
|
||
This opens a small console and after starting the program again, we see
|
||
the output:
|
||
|
||
Hello from WipeOut.
|
||
|
||
The debugger has of course a lot of more features than explained above. Besides
|
||
of Next, Step and setting breakpoints it supports also threads.
|
||
It is recommended again to read the documentation about it.
|
||
|
||
Beside of the Symbol-Retriever and the help browser SurfBoard now you touched a
|
||
ll the
|
||
components so that you've got a first impression the way WipeOut works.
|
||
Of course we develop WipeOut with WipeOut and we find that it very
|
||
increases our productivity and makes it easier to program than just using
|
||
a simple text editor. Finally some words about extending WipeOut.
|
||
|
||
[INLINE] Writing own WipeOut components
|
||
|
||
At this time WipeOut contains only the most important components of our
|
||
opinion. There may be a lot of other possibilities, e.g. many people may
|
||
wish a GUI-builder. We can't and we don't want to do all that alone. So we
|
||
have created the WDK - the WipeOut Development Kit, which allows you
|
||
to develop your own components. This interface gives you access to
|
||
important functions of WipeOut, e.g. showing a file in the editor or
|
||
adding a file to a module.
|
||
|
||
If you like to program such components you only need to download the
|
||
WDK-package from [4]. Apart from the documentation the package contains
|
||
DmPack2, socket++, the wxXt header files, a simple
|
||
example component and SpellMaster - a frontend for ispell.
|
||
|
||
I hope you've got a rare overview about WipeOut and its possibilities. If
|
||
you have questions, comments or wishes, write us.
|
||
|
||
|
||
|
||
Resources
|
||
|
||
|
||
|
||
[1] http://web.ukonline.co.uk/julian.smart/wxwin -
|
||
wxWindows/wxXt by Julian Smart and Marcus Holzem
|
||
|
||
|
||
|
||
[2] ftp://ftp.virginia.edu - socket++ by Gnanasekaran Swaminathan
|
||
|
||
|
||
|
||
[3] http://www.softwarebuero.de/dmpack2-eng.html - DmPack2
|
||
|
||
|
||
|
||
[4] http://www.softwarebuero.de/wipeout-eng.html - WipeOut
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
Copyright © 1998, Gerd Mueller
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
[ TABLE OF CONTENTS ]
|
||
[ FRONT PAGE ]
|
||
Back
|
||
Next
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
|
||
Install New Icons in Caldera's Looking Glass Desktop
|
||
|
||
By David Nelson
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
Looking Glass, or lg, is a pleasant GUI desktop included in
|
||
Caldera's commercial Linux releases (not the lite versions.) However, its
|
||
setup procedures and documentation can be very unpleasant. Deciphering
|
||
how to add or change icons makes cracking the Enigma code machine look
|
||
easy. If you enjoy puzzles and have plenty of time, read /usr/doc/html/Caldera_
|
||
Info,
|
||
specifically the Desktop User's Guide, Chapters 9 and 11. If you prefer
|
||
some help, read on.
|
||
|
||
I wanted to place an icon on the lg desktop to launch Applixware,
|
||
an office suite available from RedHat. To do this I had to create an icon
|
||
with a paint program, import it into the lg icon gallery, edit
|
||
the "source file for file type definitions," create a new "LG_rulebase
|
||
file," and update the lg data directory. Makes a certain commercial
|
||
desktop look pretty friendly, what?
|
||
|
||
Actually, it wasn't as bad as it sounds, and the new icon looks good
|
||
and works well. This article will guide you through the process. Here is
|
||
your very own free Applixware icon ready to install
|
||
in lg; please don't complain about my artistry. You can use the
|
||
same process to install any program's icon.
|
||
|
||
The first step is to create the icon. I tried to use the lg
|
||
icon editor but found it crude and prone to crash. Xpaint works well and
|
||
is probably already on your system; to be sure, execute the command
|
||
locate xpaint
|
||
I used Applix Graphics, in part to learn more about Applixware, with final
|
||
touch-up in the lg icon editor. Whatever program you use, the
|
||
resulting icon should be about 40x40 pixels, stored in either GIF or PPM
|
||
format.
|
||
|
||
The next step is to import the icon. At the top of the lg desktop,
|
||
click on Run, then Icon Editor. When the editor opens, click on Galleries,
|
||
then System Icon Gallery. When the gallery window opens, click on Icon,
|
||
then New. You will see an emphasized (black) area with a blank icon picture,
|
||
probably labeled icon1. At the top of the gallery window, click on Icon,
|
||
then Import. A file window opens. Navigate to where your GIF or PPM file
|
||
is. Click on the file, then click on load in the file window. If the icon
|
||
is just the right size, it will import directly into the emphasized area
|
||
in the system gallery. If not, a window will appear that contains your
|
||
icon. If part is cut off, drag on the lower right corner to enlarge the
|
||
window and show your whole icon. (I'm assuming your icon ended up somewhat
|
||
bigger that 40x40.) Click the radio button "Scale," then "Filter on Scale."
|
||
This latter button smooths the image as you resize it. You should see a
|
||
little box at the upper left of your icon picture. Drag the corners to
|
||
cover your icon. Your final icon now appears in a smaller box at the upper
|
||
right of the window. Click Apply; the gallery window puts your icon into
|
||
the blank icon picture and changes the name to that of your icon file.
|
||
|
||
To give the icon the right name, click on Icon in the gallery window,
|
||
then Rename. In the New Name box, type APPLIX_PRG and click on OK. If you
|
||
want to do some final "fat bits" touch-up, click Icon, Edit, and have at
|
||
it. I suggest that you save your work frequently, because the editor crashed
|
||
on me. Don't bother editing the mask. It gives a 3D appearance to a selected
|
||
icon, and the default mask is good enough. When done with the editor, click
|
||
File, Close, and your final icon appears in the gallery. In the gallery
|
||
window, click File, Close, and say yes to save your work. One last warning.
|
||
Even though the icon editor lets you export the completed icon for other
|
||
purposes, this feature seemed broken. All graphics programs I tried complained
|
||
that the exported icon file was unreadable. (Did I mention that the
|
||
lg editor seems to have problems?)
|
||
|
||
Now you have to tell lg how to use the icon. Change directory
|
||
to /usr/visix/lg/default/lg_ftc. Open prog.loc.ftc in
|
||
your favorite editor. This source file defines local file types and their
|
||
associated icons. Insert the following text at the beginning, after the
|
||
two "include" lines:
|
||
DEFINE TYPE Applix
|
||
ICON APPLIX_PRG
|
||
FILE_DESCRIPTION "Applix desktop suite program"
|
||
BINARY_EXECUTABLE
|
||
AND NAME "applix"
|
||
INHERIT_COMMANDS BinExNativeClass
|
||
END
|
||
No, I don't know what it all means. I adapted it from other program entries.
|
||
But, hey, it works, and most of it is obvious. If your icon is for a different
|
||
program, edit accordingly. Save the file. At the command line in the same
|
||
directory, type make all and make install. Quit and restart
|
||
the lg desktop.
|
||
|
||
We're almost done. In the lg window click on Windows, then
|
||
Open Directory. Navigate to opt/applix (or wherever applix
|
||
is stored) and you should see your beautiful icon designating your program.
|
||
Drag the icon out of the directory window and onto the desktop window.
|
||
Park it in an aesthetically pleasing place. Launch your program by doubleclicki
|
||
ng
|
||
your new icon. Congratulations. Doesn't this make you want to read the
|
||
rest of the lg documentation? Actually, you might want to learn
|
||
about file associations and other wonders of lg. Then you can
|
||
write an article for lg (that's Linux Gazette here) telling the rest of
|
||
us how you did it.
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
Copyright © 1998, David Nelson
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
[ TABLE OF CONTENTS ]
|
||
[ FRONT PAGE ]
|
||
Back
|
||
Next
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
|
||
Installing Microsoft & Linux
|
||
|
||
By Manish P. Pagey
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
This is a story about my struggles setting up a new laptop computer to
|
||
boot two different operating systems. And how I discovered the extent to
|
||
which Microsoft and IE4 are lacking. Hopefully, someone will learn from this
|
||
experience and think twice before installing IE4 on there machine.
|
||
|
||
The first operating system that I wanted to install on the machine was
|
||
Linux (a free, UNIX like operating system which can teach Microsoft a
|
||
million or two things about what a stable operating system is supposed
|
||
to be like). I booted the computer using the Linux boot disks, inserted
|
||
the Linux CD-ROM into the CD drive and finished the installation in less
|
||
than thirty minutes. Everything was up and running including the network
|
||
using a PCMCIA network card. Linux comes with a program called LILO
|
||
which allows one to decide which operating system to boot when the
|
||
system is powered up. This was also installed without any problems.
|
||
|
||
The next task was to install Windows 95 on another partition of the same
|
||
disk. That is where my nightmare began. (Of course, you may ask why I
|
||
wanted to do this in the first place. Because I am stupid, thats why).
|
||
The developers at Microsoft have no regard for other operating systems
|
||
and have been living in their shells for so long that they could not
|
||
imagine having two operating systems on the same computer. In any case,
|
||
after booting from the Windows 95 setup disk, the setup program kept
|
||
insisting on destroying all partitions from the disk before installing
|
||
the "operating system". It gave me only two choices: Let it partition
|
||
the disk again or Exit setup.
|
||
|
||
My first choice was to exit setup and try to trick it into installing
|
||
Win95 on a DOS partition that was already present. So, I went to the
|
||
"A:>" prompt (LOL) and fired up fdisk. I could see the DOS partition and
|
||
hence I could format the "C:" drive. I was hoping that after I format
|
||
the "C:" drive and then try installing Win95 from "Disk 1" instead of
|
||
the "Setup Disk", everything will work fine. So, I formatted the C:
|
||
drive and started the "setup" program from "Disk 1". Everything seemed
|
||
to work fine till the third disk and once again the setup program
|
||
refused to proceed; this time because of a similar reason which I do not
|
||
recall.
|
||
|
||
I was kinda stuck at this point because if I let the Win95 setup program
|
||
to repartition the disk, it will gobble up the whole disk and would not
|
||
leave any space for the second operating system. The other option was to
|
||
use the DOS fdisk utility to destroy all partitions on the disk and
|
||
create a new partition for installing Win95 and install Win95 before
|
||
installing Linux. That is the path I took.
|
||
|
||
So, I destroyed my perfectly working Linux partition and installation
|
||
and created a new partition to install Win95. This time, the setup
|
||
program worked without any problems and installed the Win95 operating
|
||
system on the first partition on the disk. In a few minutes after that I
|
||
had Linux running once again on the second partition and reinstalled
|
||
LILO to choose the operating system during startup.
|
||
|
||
As before, I had no trouble getting the network up and running on the
|
||
Linux OS. So, I decided to setup the networking on the Win95 side. Guess
|
||
what, the driver that Win95 installed to access the PCMCIA cards was not
|
||
working properly. I had to try different drivers (and reboot the machine
|
||
every time I selected a new driver) and get the correct one by trial and
|
||
error. (I did the obvious things such as look up the documentation for
|
||
the computer and install the driver corresponding to the documentation,
|
||
but that did not work. I had to use a driver that conflicted with the
|
||
documentation in order for Win95 to access the PCMCIA cards correctly.
|
||
On the other hand, the driver that Linux was using was consistent with
|
||
the documentation). Finally, after a long struggle and several million
|
||
reboots, I got Win95 to see my PCMCIA cards. Linux came with the driver
|
||
for the Ethernet card that I was using but Win95 had to use the floppy
|
||
disk provided by the manufacturer (and they say that Win95 supports more
|
||
hardware).
|
||
|
||
I have been exposed to all this hype about IE4.0 and such. So, I decided
|
||
that instead of using the good old Netscape Communicator, I will give
|
||
IE4.0 a test drive. (Once again, you may ask why I would do such a
|
||
stupid thing. Now that I have gone through this torture that I am
|
||
describing, I must say that I will never attempt to give a Microsoft
|
||
product a test drive just because Microsoft says its good. What was I
|
||
thinking ?). I have a fast connection to the Internet and hence, the
|
||
obvious way to install IE4.0 was to download it from the Microsoft home
|
||
page. You would love what happened next.
|
||
|
||
My local network is behind a firewall. In order to access the Internet,
|
||
we need to use SOCKS proxy service provided by the local gateway
|
||
machine. This is not something that is very uncommon in the present
|
||
corporate networks (in fact, this might even be the most common
|
||
configuration). Coming back to my attempt at installing IE4.0, I clicked
|
||
on "The Internet" icon sitting on the desktop and went through the
|
||
process of setting up the network properties for the machine. After all
|
||
the setup was done, I was hoping for it to bring up a browser window for
|
||
me. But I realized that the first time you click on this program, it
|
||
only performs the setup. You have to run it again to start the browser.
|
||
I am not sure why it was set up this way, but I will ignore this for the
|
||
time being as there are more important things for me to complain about.
|
||
After bringing up this ancient version of Internet Explorer, I wanted to
|
||
setup the address of the proxy server so that I could access the
|
||
Internet and go to Microsoft's home page. Aha !! The Internet Explorer
|
||
that was packaged with my version of Win95 does not understand proxies.
|
||
This meant that sitting there I had no way to access the Internet
|
||
through my proxy server. I knew that Netscape could do this. So the only
|
||
way to get IE4.0 on my machine was to install Netscape first !!!!! Even
|
||
getting Netscape was not easy from within Win95. I had to reboot the
|
||
machine into Linux. Since Linux came with client programs to access
|
||
Socks proxy servers, I could get to the Netscape FTP site and download
|
||
the Communicator for Win95. I rebooted the machine into Win95 and
|
||
installed Netscape without any problem. I set the preferences for
|
||
Netscape so that it knew about my proxy server and everything was
|
||
running fine as far as accessing the Internet is concerned.
|
||
|
||
I used Netscape to download the "ie4setup" file from the Microsoft home
|
||
page and fired it up. I will give you one guess to tell me if it worked.
|
||
You are right !!! It did not even come close to working. The ie4setup
|
||
file does nothing more than connecting to another server and downloading
|
||
a bunch of files that are required to install IE4.0. Since I am behind a
|
||
firewall, it could not find the server. It would be fine if it returned
|
||
back in a few seconds and told me that it could not find the server. But
|
||
that would be the right thing to do and Microsoft just cannot do any
|
||
such thing. Instead, the ie4setup program made me glare at a rotating
|
||
globe for fifteen minutes before giving up the search for the server.
|
||
After not finding the server, the programmer had half a brain cell to
|
||
ask the user for the address of a proxy server. However, this feature of
|
||
the setup program does not support SOCKS proxy (I tried putting the
|
||
address of my proxy server but it did not work). Thanks to the people at
|
||
NEC not all was lost yet.
|
||
|
||
I remembered reading about the program SocksCap32 which allows Win95
|
||
programs to access the Internet though a SOCKS proxy server. So I fired
|
||
up Netscape again and downloaded/installed SocksCap32. After starting
|
||
ie4setup through SocksCap32, it could access the servers and started
|
||
downloading the rest of the files that are necessary to install IE4.0.
|
||
Just before starting to download these files, it gave me an option of
|
||
either saving these files on disk or directly installing IE4.0. I had
|
||
little patience left at this time, so I chose the latter. The ie4setup
|
||
downloaded all the files correctly and started the installation process.
|
||
|
||
The installation process continued correctly until about 75% of
|
||
installation was complete. At this point, I had to leave the computer
|
||
and go away for several hours. I was hoping that when I come back, this
|
||
installation will be over. (I am sure you are laughing at me right now).
|
||
|
||
I came back after about three hours and the installation process had
|
||
reached 78% !!!!!!! I waited for a few minutes to see if it was doing
|
||
anything. There was no disk activity and hence I concluded that the
|
||
program had crashed or hung up. So I clicked on the "Cancel" button to
|
||
stop the installation. It came up with a window which said that the
|
||
"cancellation" process will take several minutes and that I should not
|
||
reboot the machine because that might leave the machine in an
|
||
inconsistent state (whatever that means). So I waited for it to finish
|
||
the job. There was no disk activity for half an hour which is also when
|
||
my patience ran out. I rebooted the machine. When it came up in Win95,
|
||
it had installed IE4.0 but not many of its components. I was not sure
|
||
what was going on but soon realized that since the ie4setup was run
|
||
under SocksCap32, it must have started the rest of the setup under
|
||
SocksCap32 too. And, knowing Microsoft, it may not have been designed to
|
||
work under the SocksCap32 libraries.
|
||
|
||
This meant that I should have stored the files downloaded by ie4setup on
|
||
the disk and started the setup without using SocksCap32. So, I fired up
|
||
ie4setup through SocksCap32 once again and downloaded all the files to
|
||
my disk. After that, I started the setup program from these downloaded
|
||
files and IE4.0 was installed on the machine without any more problems
|
||
in just a few minutes. Whew.
|
||
|
||
Great. Now that I have IE4.0 and Outlook Express 98 installed on my
|
||
machine, I should start using them. I started up IE4.0 and set it up to
|
||
use the proxy server. It worked just fine and I could access the
|
||
Internet. So far so good. Now, I needed to setup my mail account. So, I
|
||
clicked on the "Mail" button which started up Outlook Express. It asked
|
||
me for my email address, mail server name etc. in order to setup the
|
||
mail account. After that, I tried to check for new mail. And nothing. It
|
||
brought up a window in which it displayed a message that it was trying
|
||
to connect to my mail server but stopped in a minute with an error
|
||
saying that the connection to the server had failed !! My POP3 mail
|
||
server is outside the local network. Which means that one has to get to
|
||
it through the SOCKS server. Netscape has no problem doing this but at
|
||
this point, I have not found any way to setup Outlook Express to do
|
||
this. And this is when I decided to give up completely on IE4.0/Outlook
|
||
Express/Win95. I am back to using good old reliable Netscape.
|
||
|
||
I am not sure if anyone in the Linux community will benefit from this but I am
|
||
sure some of the people "on the other side" can learn something from it.
|
||
|
||
--Pagey
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
Copyright © 1998, Manish P. Pagey
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
[ TABLE OF CONTENTS ]
|
||
[ FRONT PAGE ]
|
||
Back
|
||
Next
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
|
||
Linux Expo a Smashing Success!
|
||
|
||
By Norman M. Jacobowitz
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
For three days of May (28, 29, 30), the normally tranquil Duke University
|
||
Campus was transformed into a raucous playground for geeks and hackers
|
||
as the Fourth Annual Linux Expo was held at Duke's Bryan Center.
|
||
|
||
By all accounts, this year's Expo was a smashing success. Red
|
||
Hat's Marketing Director, Lisa Sullivan, deserves special thanks for organizing
|
||
and directing the event. Many others, from Key Note Speaker Linus
|
||
Torvalds to the blue-shirted Duke University catering staff, were instrumental
|
||
in making it a memorable three days.
|
||
|
||
According to Sullivan, approximately 1500 visitors were registered as
|
||
paid attendees, while another 350 to 500 were registered as speakers, VIPs
|
||
or other gratis attendees. Attendees ranged from as far away as
|
||
Korea, Finland, Colombia and Alaska. Some 34 exhibitors
|
||
showed their products and services.
|
||
|
||
Some of the speakers included:
|
||
|
||
* Eric S. Raymond gave an inspired, scholarly overview of hacker
|
||
motivation in his ``Homesteading the Noosphere'' speech.
|
||
* Miguel de Icaza, despite troubles with the overhead projector,
|
||
shared much about the technical details and future features of
|
||
``GNOME, The GNU Network Object Model Environment'' GUI.
|
||
* Mark Mathews described his success as a consultant and Linux
|
||
programmer in his talk, ``Developing Linux Software for Fun--Turns
|
||
into Profit''.
|
||
* Jon ``maddog'' Hall described his encounters with Linux users
|
||
worldwide during ``Linux Around the World''.
|
||
|
||
Some exhibitors included:
|
||
|
||
* Corel Computer Corporation displayed their new Linux-based
|
||
NetWinder Network Computer.
|
||
* Digital Equipment Corporation exhibited their latest generation
|
||
Alpha processors.
|
||
* Linux Hardware Solutions showed off some of their line of, well,
|
||
Linux hardware solutions.
|
||
* Caldera, Red Hat and Turbo Linux were there presenting their
|
||
latest Linux distributions.
|
||
|
||
Of course, the single most popular event was Friday evening's keynote
|
||
address by Linus Torvalds. An estimated 1000 to 1200 folks were on
|
||
hand. In his typically unpretentious, casual and brutally honest
|
||
style, Linus filled us in on his future vision for the Linux kernel.
|
||
Linus first took a moment to thank everyone who has helped him with
|
||
the stable kernel releases, especially Alan Cox. Linus went
|
||
on to say he is happy with the way Linux is going, especially with
|
||
the way new markets are opening up and new applications are being
|
||
made available.
|
||
|
||
Here are some highlights of Linus's views on important topics for the
|
||
future of the Linux Kernel:
|
||
|
||
* The 2.2 release: look for a code freeze in about a month with the
|
||
next stable release, Kernel 2.2, to follow as soon as late July or
|
||
early August.
|
||
* SMP: Symmetrical Multi-Processing is currently one of Linus's
|
||
favorite features of the kernel; expect continued development and
|
||
enhancement of SMP in future releases.
|
||
* Merced: Linus is not particularly impressed with or concerned
|
||
about Intel's upcoming 64-bit processor, code-named Merced--he
|
||
actually prefers DEC's Alpha architecture. He did say porting
|
||
Linux to Merced should be no problem once GCC is optimized for
|
||
Merced.
|
||
* Java: While Linus would like to see an officially supported Java
|
||
Development Kit from Sun, he is still not impressed with Java and
|
||
would prefer to stay out of the Microsoft/Sun clash over Java
|
||
purity.
|
||
* Emulation: Linus would prefer to see native Linux applications and
|
||
does not like the idea of emulating other operating systems for
|
||
the purpose of running applications.
|
||
|
||
Of course, Linus had much more to say, but the gist of his speech was
|
||
that with more time and some more good luck, Linux will continue to move
|
||
towards complete world domination.
|
||
Judging from the air of excitement and the buzz of optimism pervading
|
||
this year's Linux Expo, Linus is exactly right.
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
Copyright © 1998, Norman M. Jacobowitz
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
[ TABLE OF CONTENTS ]
|
||
[ FRONT PAGE ]
|
||
Back
|
||
Next
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
|
||
Linux Expo Editor Wars!
|
||
|
||
By Eric S. Raymond
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
Thursday night's epic paintball tournament was easily one of Linux
|
||
Expo's most eagerly anticipated and talked-about events. The theme
|
||
was ``Emacs versus vi and may the best editor win!'' At the appointed
|
||
time, the would-be warriors trooped off to a patch of woods south
|
||
of Durham and donned team T-shirts donated by O'Reilly & Associates. By
|
||
happy coincidence, the 61 fighters split as exactly as possible
|
||
down the middle, 30 on the Emacs team and 31 on vi's.
|
||
Ominously, however, all three of the experienced paintballers in the
|
||
crowd elected to fight for vi.
|
||
|
||
As we waited for mysterious rituals to complete in the paintball shed,
|
||
there was much humorous analogizing--vi fans claiming that Emacs's
|
||
guns ought to take forever to load, countered by Emacs partisans opining
|
||
that vi fighters should be unable to move and fire at the same time.
|
||
``You shall feel the power of the Lisp side of the Force!'' declaimed
|
||
one black-masked Emacs fan a la Darth Vader, met by hoots of derision
|
||
and yells of ``vi rules!''
|
||
|
||
Additional humor was provided by the boss paintball referee, who
|
||
understood neither our theological disputes nor the lemur and gnu
|
||
emblems on our team shirts. He gave up early and started referring to
|
||
the teams as ``monkeys'' and ``cows'', much to the amusement of both sides.
|
||
|
||
Eventually, not too long after the official start time, we listened to
|
||
a safety lecture, picked up our guns, face masks and
|
||
glycerin-capsule ammunition and marched into the woods. Each team
|
||
got a fortified fire base; the game was elimination, with the last man
|
||
standing winning for his team.
|
||
|
||
Telling friend from foe turned out to be a bit of a problem, as both
|
||
teams were wearing white T-shirts with black emblems and the colored
|
||
arm bands we'd been issued were not really conspicuous--some truly
|
||
valiant hackers were hit by friendly fire. There were heroic
|
||
charges and stealthy ambushes, sniping duels and stand-up fights. The
|
||
paintballs flew thick and fast, and the woods resounded with cries of
|
||
``Out! Out!'' as pigment-splotched casualties exited the field, guns
|
||
held over their heads.
|
||
|
||
The teams' combat styles were allegorically perfect. The vi guys were
|
||
fast, aggressive and sloppy; the Emacs team was slow, tried to think
|
||
things out and play tactically. Result? The vi guys waxed the Emacs
|
||
team, winning three out of four games. Evidently (as many on both
|
||
sides later agreed, amid much laughter) paintball rewards different
|
||
virtues than programming.
|
||
|
||
The event was a success, and general kudos went to Mike Maher of Red Hat
|
||
from whose brilliant and obviously twisted mind the concept originally
|
||
sprang. Next year perhaps we'll tackle Perl vs. Python or Red Hat
|
||
vs. Every Other Distribution or some other chronic flame war--and,
|
||
hopefully, get different-colored shirts so we can tell each other
|
||
apart!
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
Copyright © 1998, Eric S. Raymond
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
[ TABLE OF CONTENTS ]
|
||
[ FRONT PAGE ]
|
||
Back
|
||
Next
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
|
||
The Fourth Annual Linux Expo
|
||
|
||
By David Penland
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
Photo Album
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
This year, Red Hat Software decided to hold the fourth annual Linux Exp
|
||
o
|
||
at Duke University's Bryan Center in Durham, North Carolina. The event was
|
||
scheduled over three days from April twenty-eighth to the thirtieth. In
|
||
addition to the normal vendor displays and conference, the Linux Expo web
|
||
site promised such diverse attractions as a quake fest and a paintball
|
||
tournament. I arrived at the Center at seven-thirty on Thursday to find
|
||
over one hundred people already ahead of me in line. Registration wasn't
|
||
until eight o'clock. Apparently I was not the only Linux fanatic champing
|
||
at the bit.
|
||
|
||
The doors did not actually open until a little past eight, and I did no
|
||
t
|
||
get in to register until about eight forty. As a pre-registered attendee, I
|
||
received a Linux Expo tote bag bearing the Expo logo, as well as logos of
|
||
Expo sponsors. Inside I found a bound copy of the proceedings, a VAResearch
|
||
tee shirt, a Red Hat cap, an issue of SysAdmin, and a Caldera flashlight, as
|
||
well as flyers advertising specials at Expo vendor booths.
|
||
|
||
Prominently placed in front of the entrance was the Red Hat booth. Thei
|
||
r
|
||
booth featured the new Red Hat Linux 5.1, due to be released the following
|
||
Monday. Also on the upper floor was the Caldera, Linux Hardware solutions,
|
||
Linux International, Solid, and RHAD Labs booths, as well as the Expo store,
|
||
and the Softpro Bookstore.
|
||
|
||
Because of registration delays, the tutorials and technical conference
|
||
fell thirty minutes behind schedule, and remained out of sync with the business
|
||
track for the rest of the day. The Extreme Linux tutorial was kicked off by
|
||
Mad Dog Hall, who explained the name Extreme Linux, and the snow
|
||
boarding penguin logo. Basically, Extreme Linux is Linux with an attitude
|
||
Although Mad Dog said that the project's founders do not want to tie.
|
||
the commodity cluster idea to a single operating system, he urged people
|
||
to use the name Extreme Linux when referring to clusters of Linux machines.
|
||
|
||
After Mad Dog finished, Peter Beckman explained how Extreme Linux
|
||
cluste rs were used at Los Alamos' Advanced Computing Labs. Several members of
|
||
his team talked about their experiences with the system, and the problems
|
||
they had solved. The talk featured the Linux Expo cluster, a four node cluster
|
||
set up especially for the show. The cluster consisted of 4 dual 333
|
||
MHz Pentium two's, each with 256 megabytes of ram and a four gigabyte disk
|
||
drive. The cluster was tied together with a Myrinet network. After putting the
|
||
cluster through its paces with modeling programs, Beckman decide
|
||
to bring out a "practical application", the Extreme Linux monster truck.
|
||
|
||
Although it had been a radio shack remote control toy in a previous
|
||
life, the monster truck had undergone an "Extreme" transformation. The body had
|
||
been removed, and the truck's circuit board hacked. For vision, the monster
|
||
truck had a Connectix quickcam with a custom mount to allow panning.
|
||
Mounted on top was a Toshiba Libretto with a wireless Ethernet connection
|
||
to the cluster. An operator sat at the console of the cluster, controlling
|
||
the truck as it cruised across the floor observing the crowd with
|
||
its quickcam. The operator's console was projected on a screen, and the crowd
|
||
could see themselves from the truck's point of view thanks to the quickcam.
|
||
Beckman assured us that the truck had a practical use, pulling network
|
||
cables under the raised floor at Los Alamos. Without a doubt, the truck
|
||
stole the show. For more information see http://www.Extremelinux.org/.
|
||
|
||
After the tutorial, I decided to make my way to the vendor area on the
|
||
lower level. Strategically placed at the entrance to the vendor area was Cobalt
|
||
Microserver Inc. They were showing the inexpensive Cobalt Qube microserver, a
|
||
blue 7.25"x7.25"x7.75" cube with powerful intranet server capabilities. This
|
||
little box will be near the top of every Linux geek's Christmas list.
|
||
|
||
Inside the door I found Stay online, a retailer of inexpensively priced
|
||
computer components. The vendor area was so jammed with Linux enthusiasts
|
||
that I had a hard time getting to every booth. Linux Mall was once again
|
||
on hand offering great deals on everything. I picked up Red Hat Linux 5.
|
||
1 for twenty-five dollars and Star Office Commercial for fifty dollars. Sun
|
||
Microsystems was a very noticeable new addition to the Expo this year,
|
||
showing off complete Ultrasparc computers as well as Ultrasparc based
|
||
motherboards for building your own homebrew ultrapenguin machine. Alta
|
||
Technology and Paralogic, two vendors of pre-built Extreme Linux clusters
|
||
were also present. At another entrance, Jim Paradis of Digital Equipment
|
||
Corporation entertained a mass of power hungry linuxers with a new smp alpha
|
||
machine.
|
||
|
||
Cobalt wasn't the only company with miniature gee-whiz computers.
|
||
CorelComputer was showing off their soon-to-be released Netwinder computers.
|
||
These little boxes (9.5"x6"x2") have everything you could want in an
|
||
intranet/internet client, and can be used as web servers as well. The
|
||
Netwinder could be serious competition for the Qube, but I think many customers
|
||
might choose a mixed environment of both.
|
||
|
||
Another major attraction was the RHAD Labs booth, which featured a
|
||
couple of computers running gnome. The booth was staffed by members of the RHAD
|
||
Labs development team, and Miguel de Icaza made occasional appearances.
|
||
At just about any point in time, people were lined up three deep to get
|
||
a look and gnome and ask the developers questions. One of the gnome computers
|
||
had a camera attached to it, and some interesting pictures from the Expo
|
||
have been posted on http://www.gnome.org/.
|
||
|
||
Toward the end of the second day of the Expo, I got an unexpected
|
||
surprise which made the show immensely better than I had expected. While
|
||
looking through the popular tee shirts offered by Xunilung, I overheard
|
||
someone proclaiming that Linux was a misnomer, and that the correct name of the
|
||
system was Gnu-Linux. This was a position I had heard before. I stepped
|
||
back from the tee shirts to peek around people who had gathered around a table
|
||
placed perpendicularly to Xunilung's. Sure enough, the gnu-linux admonishment
|
||
was coming from Richard Stallman. For those who are not familiar with rms,
|
||
as Stallman is often called, he is the person who started the gnu project in
|
||
1983 to provide a free version of Unix for anyone who wanted it, unencumbered
|
||
by proprietary licensing restrictions. Stallman is responsible for the Free
|
||
Software foundation, and the general public license.
|
||
|
||
Although I do not really agree with him about the naming of Linux, I
|
||
firmly believe Linux could not have been developed without the tools provide
|
||
d by the FSF. Stallman has been a hero of mine since before Linus discovered
|
||
Minix, so I was somewhat speechless when I saw him there unannounced.
|
||
I stood back and watched for a while as young hackers got autographs and
|
||
bought gnu tee shirts, CD-ROMs, and books. Occasionally Stallman would place
|
||
the platter from an old disk pack on his head. With this "halo" in place, he
|
||
became Saint Richard, patron saint of the Church of Emacs, and he would bless
|
||
the young hacker's computers provided they did not have any proprietary
|
||
software on them. When it was my turn to talk to Saint Richard, I thanked
|
||
him for the work he had done, and bought two Emacs books. He signed the books
|
||
happy hacking, and happier hacking, Richard Stallman.
|
||
|
||
After my encounter with rms on the second day of the Expo, I found my
|
||
way to the auditorium where Linus would be giving the keynote speech. I
|
||
was lucky, I found a seat about fifteen rows back from the stage. Less
|
||
fortunate fans continued to file in for another fifteen minutes, and by the
|
||
time Linus got on stage, people were standing and sitting in the aisles. An
|
||
overhead projector indicated the theme of Linus' talk, titled Ramblin'
|
||
Linus. Linus took the microphone and said "I'm Linus, and I am your god",
|
||
at which point the crowd responded with deafening applause. Linus thanked
|
||
various people for their work, in particular Alan Cox who has taken over
|
||
the normally thankless job of maintaining the stable kernel for the last
|
||
year or so. Some of the topics covered were the current state of the
|
||
development kernel, the upcoming release of the 2.2 kernel, and future
|
||
directions of kernel development. Linus spent about twenty minutes answering
|
||
questions from the audience, and then everyone filed out for a southern
|
||
style barbecue dinner in the university yard.
|
||
|
||
Conference talks were the main focus of the Expo for me. Unfortunately
|
||
there were so many talks offered, I had a hard time making up my mind about
|
||
which ones to attend. Extreme Linux is the only tutorial I made it to,
|
||
but there were eleven more, on subjects as diverse as programming with gtk+,
|
||
Python, hacking the Linux kernel, LinuxConf, and a demonstration of the Coda
|
||
filesystem.
|
||
|
||
The conference was broken up into a business track and a technical
|
||
track. The technical track auditorium was where I spent most of my time, but
|
||
I did make it to several interesting business talks. Robert Hart of Red
|
||
Hat Software gave a talk on linux certification dealing with what certification
|
||
meant, and who should try to get it. He also encouraged the audience to
|
||
drop off resumes at the Red Hat booth, which I did. I am still wait
|
||
ing on your call Robert. Mad Dog gave an anecdotal talk on how Linux is
|
||
used around the world, and Tim Bird of Caldera filled us in on the COAS
|
||
project. COAS is a project to develop an integrated administration tool for
|
||
Linux and possibly other unices, they are looking for volunteers, so drop
|
||
them a line. The last talk in the business track was actually a panel which
|
||
discussed free software licensing. The panel consisted of Eric Raymond,
|
||
Richard Stallman, and Bruce Perens, who moderated. Raymond's and Stallman's
|
||
views were not exactly in sync, so some very interesting discussion concerning
|
||
the state of free or open source software licensing took place.
|
||
|
||
The technical track started earlier, and ran longer than the business
|
||
track all three days. Unfortunately, registration problems, and technical
|
||
difficulties threw the schedule off the first two days, and technical talk
|
||
s were out of sync with business talks which made it hard to move freely
|
||
between tracks. David Miller gave a very technical talk on optimizing the
|
||
Cobalt Microserver. Peter Braam of Carnegie Mellon University gave two
|
||
informative talks on the new VFS interface, and the Coda distributed files
|
||
system. The Coda team has made a lot of progress, and the filesystem is so
|
||
mething worth looking into. Peter also mentioned that the team is looking
|
||
for a good system programmer who likes interesting work, but doesn't mind
|
||
being poor.
|
||
|
||
Bruce Perens and Daryll Strauss both gave talks on the use of computers
|
||
to make movies. Strauss showed us how a pile of alphas running Linux help
|
||
ed with the making of Titanic. During a short video presentation, he pointed
|
||
out some amazing effects that were computer generated. Bruce went over
|
||
some basics of computer animation in Toy Story, and showed an experimental
|
||
piece by Pixar called Gerry's Game. The auditorium was packed for both talks.
|
||
|
||
Miguel de Icaza discussed the gnome project to a very large crowd. Due
|
||
to technical problems with his laptop, the talk ran over by about thirty
|
||
minutes. Fortunately, Miguel is a very entertaining speaker, and he kept
|
||
the audience's attention while half of the RHAD Labs team and a concerned
|
||
member of the audience fretted over his computer. Lars Wirzenius presented
|
||
his Linux Anecdotes, a history of the linux system from someone who was
|
||
right there when it was created. Lars shared an office with Linus at the
|
||
University of Helsinki, and was the first person to actually run Linux
|
||
on his computer. Alan Cox, a fixture at Linux Expo, gave a talk about the
|
||
trials and tribulations of porting Linux to the Apple Macintosh 68K. His
|
||
talk was titled "I don't care if space aliens ate my mouse". The title
|
||
comes from an old Apple document, apparently the only official document
|
||
ever written on the apple mouse.
|
||
|
||
These were only a few of the talks given at the Expo, a complete list
|
||
can be found on the Linux Expo web site: http://www.linuxexpo.org . In
|
||
addition to vendors and talks, there were other things to keep Expo attendees
|
||
busy. A quake fest ran all day every day on the lower level, with deathmatches
|
||
every fifteen minutes. Prizes were awarded for the highest body count from
|
||
each match up. Birds of a Feather sessions were offered throughout
|
||
the three days on a variety of topics, and an "email garden" was set
|
||
up to allow attendees to get access to the net for checking their email.
|
||
On Thursday, the age old question of which editor, Emacs or vi, is superior
|
||
was finally answered. Obviously, the only way to resolve the issue was
|
||
through brute force, so the Expo hosted Editor Wars, a paintball tourname
|
||
nt. When the CO2 propelled paint mist settled, the vi team emerged from the
|
||
field victorious.
|
||
|
||
Wrapping up the show Saturday evening was the second annual Linux Bowl.
|
||
Mad Dog was the host, and the teams consisted of conference speakers and
|
||
audience participants. Rasterman, of RHAD Labs, and audience members were
|
||
the judges. Bruce Perens and Eric Raymond were two of the contestants.
|
||
Some of the questions asked were: what lilo option is used to list currently
|
||
mapped files(answer: -q), what was the first kernel tar.gz to exceed
|
||
ten megabytes ( to which Bruce Perens promptly replied Microsoft NT. The
|
||
correct answer was 2.1.88), which movie featured the Red Hat Office building
|
||
(one contestant replied Debbie does Durham, and Mad Dog felt compelled
|
||
to award one point. The correct answer was Kiss the Girls), why was the
|
||
Beowulf project named Beowulf( answer: it sounded cool), and a trick question,
|
||
what was the first system to run UNIX ( answer: a pdp7).
|
||
|
||
The Fourth Annual Linux Expo was a tremendous success, and I think ever
|
||
y
|
||
one went home happy. The show organizers deserve a big round of applause
|
||
for their efforts, and if this year's turn out is any indication of things
|
||
to come, they had better get a bigger building next year.
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
Copyright © 1998, David Penland
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
|
||
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
[ TABLE OF CONTENTS ]
|
||
[ FRONT PAGE ]
|
||
Back
|
||
Next
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
|
||
LinuxCAD Impressions
|
||
|
||
By Robert Wuest
|
||
|
||
|
||
|
||
__________________________________________________________________________
|
||
|
||
|
||
|
||
Friday, June 12
|
||
|
||
I started calling Software Forge first thing this morning. NT had crashed
|
||
yesterday and hosed it's own installation. I had no rescue disk. The day was
|
||
starting real bad because I had an instrument design project getting behind. I
|
||
needed to work on the mechanical layout. I'm sick of problems with microsoft
|
||
operating system products.
|
||
|
||
I've been using AutoCAD for over 14 years and have seen it turn into a fairly
|
||
decent CAD package. I use R13 and have used everything back to around 2.0.
|
||
|
||
|
||
Getting It
|
||
|
||
Boot into Linux. It always works. There's a
|
||
reasonably priced cad package I'd seen news posting after news posting
|
||
advertising itself. Supposed to be like AutoCAD. I'm just going to breakdown
|
||
and buy it and do the design in that. Start Netscape and head to the cola
|
||
archives. It's moved it's home, so I change the bookmark, search for
|
||
LinuxCAD (the
|
||
archive) and find Software Forge's home, http://www.linuxcad.com. All it has i
|
||
s an E-mail address and a phone number,
|
||
(847) 891-5971, in Chicago, Illinois.
|
||
|
||
|
||
Screen-shots are there, check them out. I guess, from the numerous copies
|
||
of the ad I had seen, I was expecting something that acted like AutoCAD.
|
||
Notice the first window shows the columbia drawing, columbia.dwg,
|
||
and the second
|
||
window, that it's title is "AvtoCAD-SoftwareForge".
|
||
|
||
http://www.softwareforge.com/linuxcad/pricing.html says this:
|
||
|
||
"LinuxCAD is a true open software product and as such it has been
|
||
ported to all major UNIX platforms. The pricing of LinuxCAD for
|
||
platforms other than Intel depends from the number of copies you
|
||
have chosen to purchase , the more copies the lesser price. All
|
||
ports retain full original functionality and are fully compatible
|
||
with original LinuxCAD for Linux for Itnel and with AutoCAD".
|
||
|
||
"True open software product"? Where's the source? The license is in no way ope
|
||
n
|
||
and the source is no where to be found. Meaningless buzzwords.
|
||
|
||
I call and call all day: someone finally answers the phone about mid afternoon
|
||
and sells me a copy. I'm a little confused as to who was serving who after
|
||
that conversation, but I did manage to buy a copy and download it off of their
|
||
ftp site with no problem. And she told me that there have been over 100 copies
|
||
sold. So now I've forked out the $$$ for this thing and what follows is what
|
||
I experienced.
|
||
|
||
The readme file (on the ftp server) said to put the archive in the directory
|
||
where you want to install it and untar it. Enough for those who know their way
|
||
around Linux pretty well. I go to the file with TkDesk and my pop-up menu isn'
|
||
t
|
||
right for the file :-0. This file is unconventionally named slk96_tar.gz, not
|
||
slk96.tar.gz like it should be, so I promptly renamed it.
|
||
|
||
Examining the contents, I see a straight collection of 25 files, no
|
||
directories, no man pages, info pages or html docs. There are several .dxs,
|
||
.mnu, .scr and .txt files. I make a directory linuxcad, moved the archive in
|
||
there and run extract off the tkdesk pop up.
|
||
|
||
<aside>
|
||
|
||
A lot of users will be lost from those very brief instructions. This is what I
|
||
finally did to install properly, IMO:
|
||
|
||
As root, I made a directory, /usr/local/lib/linuxcad and moved all of the files
|
||
there. In my /usr/local/bin directory, I created symlinks:
|
||
|
||
$ ln -s ../lib/linuxcad/lcad lcad
|
||
$ ln -s ../lib/linuxcad/linuxcad linuxcad
|
||
|
||
There should at least be a makefile included to do this as "make
|
||
install".
|
||
|
||
</aside>
|
||
|
||
The readme file also has this bombshell:
|
||
|
||
" Optional LinuxCAD extensions
|
||
================================
|
||
|
||
|
||
1) Print option:
|
||
Hardcopy to DeskJet , LaserJet
|
||
and to MSWindows based LinuxCAD printserver
|
||
---------------------
|
||
$100
|
||
|
||
2) Plot option:
|
||
To HP-GL compatible plotters
|
||
---------------------
|
||
$100
|
||
|
||
3) DXF Import option
|
||
---------------------
|
||
$100
|
||
|
||
4) Customization option:
|
||
Includes
|
||
4.1 Hot keys menu and user programmable pull down
|
||
menu.
|
||
4.2 GNU C/C++ programming interface.
|
||
---------------------
|
||
$200
|
||
|
||
5) 3D design option
|
||
---------------------
|
||
$200"
|
||
|
||
|
||
This is not a $75 package, it's a $775 package.
|
||
|
||
|
||
|
||
|
||
First Impressions
|
||
|
||
Double clicking (back in TkDesk) the executable I saw that it ran, produced no
|
||
window and exited with status 0. It had spit out out an error message, which
|
||
came out on my login vc:
|
||
|
||
LinuxCAD v 1.53
|
||
Portable Computer Aided Design program for Linux and Unix.
|
||
Usage:
|
||
linuxcad <name of new or existing .dxs file>
|
||
|
||
But I didn't see that until I started an xterm and ran it from there. So I
|
||
gave it a filename this time and it ran. Here's the command I used:
|
||
|
||
$ ./linuxcad test.dxs
|
||
|
||
It puts itself in the background. I exited immediately and it gave me a dialog
|
||
asking if I wanted to save my changes. What changes? I had just started and
|
||
exited. I'm not even going to read the docs. Just see what I can learn by
|
||
fiddling with it a bit. I can immediately see that this needs polish.
|
||
|
||
$ ./linuxcad test.dxs # again.
|
||
|
||
The "line" command worked, but "l" didn't. "Move" worked and "w" selected enti
|
||
ties
|
||
by window, but the "m" command didn't work. OK, it doesn't have command
|
||
aliases. Oh, they're $200.
|
||
|
||
I draw a few lines. "line", click, click, <CR>. Oops, still drawing the line.
|
||
OK, right click. The line is placed, but in the text area, all that's there is
|
||
:
|
||
|
||
|
||
Command aborted !
|
||
Command:
|
||
|
||
There are no scroll bars and no handle to resize the command area. There are 3
|
||
lines of command area stretching across the bottom of the window. I can scroll
|
||
back by using X-selection, but that doesn't give very good control.
|
||
|
||
Line editing is very poor. My arrow keys do nothing, The backspace key
|
||
works, but <HOME>, <END>, any extended key does nothing. I start a
|
||
command and can't find a key that cancels it. The right mouse button will, but
|
||
why doesn't <CR>, <ESC> or ^-c work. Let's try all the keys
|
||
:-). ^-z, ^-x, ^-c, etc. ^-j causes a "point expected !" message. After a
|
||
lot of keys, it crashes. Looks like a buffer overrun to me. Restart. It
|
||
crashes every time and work is lost. No core dump or error to the parent
|
||
shell.
|
||
|
||
^-m opens a command history window with both scroll bars, but I can't type a
|
||
command in it. It just beeps at any key except the cursor control keys now
|
||
work! The cursor is not visible, but <PGUP> and <PGDN> do what they're
|
||
supposed to and <UP> and <DN> seem to.
|
||
|
||
That command history window insists on staying over the drawing area. I use
|
||
my M-<PGDN> (which I have defined in ~/.fvwmrc to lower a window) and the
|
||
window goes away. If I do any window manager operation that brings the window
|
||
to the top, the history window ends up over the drawing area. It has an "Exit"
|
||
button, so I press it.
|
||
|
||
There is no coordinate display in the main window. "Pline" doesn't work. "c"
|
||
doesn't work to close multiple line segments.
|
||
|
||
Command:line
|
||
|
||
From point:0,0
|
||
|
||
To point:1000,1000
|
||
|
||
To point:
|
||
|
||
No way to end it with keys. Have to right click again. Too man unnecessary
|
||
linefeeds wasting vertical screen space. No "Zoom" command.
|
||
|
||
After about an hour of playing:
|
||
|
||
********** This is not AutoCAD **********
|
||
|
||
|
||
This program does not have an AutoCAD interface, which, based on all of the
|
||
comparisons made by SoftwareForge to AutoCAD, it should have. There are
|
||
commands to zoom: "zoomw", "zoomall". "Zoom" should use the acad interface.
|
||
Other commands do. And there is no equivelant to the "x" option. I do this
|
||
often in acad:
|
||
|
||
z e z .9x
|
||
|
||
If you don't know acad, that will give a 90% zoom factor scaled to the display
|
||
window (everything is visible with a little border anound the outside).
|
||
|
||
The top of the screen has six menu items and 6 buttons. Draw/line starts line
|
||
drawing. The edit menu has no undo. "Undo" doesn't seem to work. Undo is
|
||
under "Edit/Edit../Undo/Set mark" and "Edit/Edit../Undo/Undo to last mark" It
|
||
looks like one has to set marks and can't just walk backwards undoing actions
|
||
one at time.
|
||
|
||
3D'll run another $200 (item 5). Draw/Draw 3D.../Sphere gets me this message:
|
||
|
||
"This is an optional feature of LinuxCAD
|
||
Please check the readme files to see the current pricing
|
||
for the optional features.
|
||
Command:"
|
||
|
||
Drawing area and window display area aren't the same. You must
|
||
"Options/Settings/Screen Extents/..." on the menu. This is something I really
|
||
don't like right away.
|
||
|
||
No short commands. Looks like they cost $200 (item 4.1).
|
||
|
||
Bad command line area with virtually no editing in it.
|
||
|
||
Changed zoom interface.
|
||
|
||
No .xyz filters.
|
||
|
||
Keyboard focus moves to buttons in menu area. You have to click in the
|
||
command area after using a button before you can type another command.
|
||
|
||
"U" doesn't undo the last line segment while drawing lines.
|
||
|
||
"Undo" requires setting a mark.
|
||
|
||
No tooltips.
|
||
|
||
No coords display.
|
||
|
||
No coords display.
|
||
|
||
I know AutoCAD very well, but still, I have to read the documentation :-0.
|
||
|
||
Print only to a bitmap. And who wants to print to a microsoft print server?
|
||
Another $100 (item 1) for printing. There is no postscript printing at all.
|
||
|
||
No cut, copy and paste between multiple instances of the program.
|
||
|
||
You can't edit with only the keyboard.
|
||
|
||
|
||
|
||
|
||
Some Techy Details
|
||
|
||
I'm not sure what toolkit was used. Ldd linuxcad reveals the following on my
|
||
system:
|
||
|
||
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x4000b000)
|
||
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4004d000)
|
||
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x400e3000)
|
||
libg++.so.27 => /usr/lib/libg++.so.27 (0x400ed000)
|
||
libm.so.5 => /lib/libm.so.5 (0x40121000)
|
||
libc.so.5 => /lib/libc.so.5 (0x4012a000)
|
||
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x401e6000)
|
||
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x401ef000)
|
||
libstdc++.so.27 => /usr/lib/libstdc++.so.27 (0x40203000)
|
||
|
||
Searching the executable doesn't help, either. Searching with
|
||
|
||
$ strings linuxcad | grep -i copy
|
||
|
||
only finds a couple Software Forge copyright strings (and the word "copy" a
|
||
bunch).
|
||
|
||
Multiple instances run fine.
|
||
|
||
$ ps -m 3638 3636 # shows the memory usage:
|
||
|
||
PID TTY MAJFLT MINFLT TRS DRS SIZE SWAP RSS SHRD LIB DT COMMAND
|
||
3638 p6 383 195 1080 1920 3000 0 3000 2176 0 206 linuxcad
|
||
cab1.dxs
|
||
3636 p6 425 200 1140 1976 3116 0 3116 2288 0 207 linuxcad
|
||
test.dxs
|
||
|
||
|
||
Startup time is about 2 seconds each on P100/48 Meg. system.
|
||
|
||
Here's a link to a listing of a blank drawing file, cab1.dxs
|
||
|
||
|
||
|
||
|
||
Licensing
|
||
|
||
The license is very restrictive. It's the basic single machine/single user
|
||
license. I'm not sure I can even include quotes from the documentation, the
|
||
way license.txt is written. It says I can't reproduce or distribute or even
|
||
revise the documentation. Does that mean if I removed some of the double
|
||
spacing or add notes through out the documentation that I am in violation of
|
||
it? In any case, I won't publish the license here. The high points:
|
||
* Install on a single computer for "your own individual use". Can my
|
||
wife and children use it?
|
||
* You can make one copy for archival purposes.
|
||
* The program can be transferred. Standard boiler plate. You can't
|
||
keep a copy.
|
||
* Software Forge is not liable for anything that goes wrong or any
|
||
damage that the program does to you, your computer or your mother.
|
||
* It says there is some welcome screen with a copyright notice, but
|
||
that is wrong; there is no startup message (and it should stay
|
||
that way unless it is a window that pops up and then goes away
|
||
once the program starts).
|
||
* The user's guide specifically calls out that it cannot be released
|
||
under the GPL, which I think is kind-of a strange detail to add.
|
||
* You can't reverse engineer the program.
|
||
* If you violate the license, they'll try and throw you in jail.
|
||
|
||
|
||
|
||
|
||
Conclusions
|
||
|
||
First, I should include this quote (double spaced and all) from the
|
||
linuxcad.txt document included in the distribution:
|
||
|
||
" ATTENTION:
|
||
|
||
This product is still very fresh and is under development , it may
|
||
|
||
crash from time to time , do save often and please report all crash situations
|
||
|
||
to Software Forge Inc. by e-mail to: unixguy@aol.com
|
||
|
||
|
||
We add new features quickly and your input about what features you want is
|
||
|
||
valuable. "
|
||
|
||
|
||
So make a demo available and send an announcement to cola everytime it is
|
||
upgraded. Heck, this is the demo version.
|
||
|
||
So far, only the one crash I wrote about above. But this is not a $775
|
||
package. In its current state, it is not a $75 package, even with everything
|
||
thrown in.
|
||
|
||
Upgrades are available for only six months. And this is by no means an
|
||
exhaustive list of missing features. Just what I found real quick.
|
||
|
||
|
||
I'd suggest waiting.
|
||
|
||
I now must get NT working first thing Monday morning. I still don't have a cad
|
||
package to do my work in Linux and then take it to acad to make a final drawing
|
||
.
|
||
I'm still stuck using microsoft. :-(
|
||
__________________________________________________________________________
|
||
|
||
This document is copyright Robert Wuest, PE.
|
||
It is herby released into the public domain.
|
||
(except those portions copyright Software Forge, Inc.)
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Robert Wuest
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
[INLINE]
|
||
|
||
Book Review: A Methodology for Developing and Deploying Internet & Intranet
|
||
Solutions
|
||
|
||
By Jan Rooijackers
|
||
_________________________________________________________________
|
||
|
||
* Authors: J. Greenberg and J.R. Lakeland
|
||
* Publisher: Hewlett Packard Professional Books by Prentice Hall
|
||
* E-mail: sales@prenhall.com
|
||
* URL: http://www.prenhall.com/
|
||
* Price: $39 US
|
||
* ISBN: 0-13-209677-3
|
||
|
||
|
||
_________________________________________________________________
|
||
|
||
The goal of A Methodology for Developing and Deploying Internet &
|
||
Intranet Solutions is to be a ``guide'' for project managers. Almost
|
||
all situations a project manager can face--from project members to
|
||
backup media to making time lines--are described herein. The book
|
||
consists of 11 chapters, plus appendices. Everything is written as a
|
||
story from the authors, who combined have more than 20 years of
|
||
computer experience. Every chapter contains small tips for the project
|
||
manager.
|
||
|
||
In Chapter 1, the reader is introduced to employees of a company that
|
||
is used as a study case throughout the book.
|
||
|
||
In the next chapter a proposal is put forth, and all facets of
|
||
handling it from kick-off meeting to support organization to signing
|
||
the contract are described. In this book, the project manager makes
|
||
use of the WBS (work breakdown structure) model. This model breaks the
|
||
project into phases and sub-phases so that each can reach its own
|
||
milestone.
|
||
|
||
Chapter 3 puts the reader into the place of a successful project
|
||
manager, who has convinced the ``customer'' to sign the contract. The
|
||
customer could be either internal (a department) or external--imagine
|
||
yourself as the consultant. This chapter begins with the internal
|
||
kick-off meeting. Roles and activities are assigned and given
|
||
deadlines, so everyone knows what to do when.
|
||
|
||
Discussion of the software development cycle begins in Chapter 4 with
|
||
writing an approach document. This chapter explains to the project
|
||
manager what the document must and must not contain--from requirements
|
||
to education. Also, some development methodologies are discussed.
|
||
|
||
Next, we get to the fun part (only 20 pages)--development. This is
|
||
familiar stuff which I face each working day with the
|
||
Internet/Intranet. The authors discuss creating HTML pages, internal,
|
||
unit and system testing and, last but not least, a checklist to see if
|
||
everything is working.
|
||
|
||
The remaining six chapters (6 to 11) are short, averaging eight pages
|
||
each. Implementation is handled in Chapter 6; networking and backup
|
||
are discussed in Chapter 7. Chapter 8 covers the various applications
|
||
and system testing at a high level, so that you get a complete picture
|
||
of how everything fits into the project. The last three chapters are
|
||
about putting the project on the user desk. Also, two appendices are
|
||
included, the first of which is better: it is technical and briefly
|
||
explains the operating system layers and the Internet. While this
|
||
information is not presented in great detail, what is here is quite
|
||
interesting. The other appendix deals with project management.
|
||
|
||
The book did not live up to my expectations. Too much of it is written
|
||
in the form of a diary or personal anecdotes for my tastes; not enough
|
||
is related to actual technical details of the Internet/Intranet. A
|
||
Methodology for Developing and Deploying Internet & Intranet Solutions
|
||
will bring no added value for persons who have already been working
|
||
for some years in the IT area. However, I do think it is a good book
|
||
for people who are new to the IT business, and who want to know more
|
||
about project management in order to become a project leader.
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Jan Rooijackers
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
Blackbox title image
|
||
|
||
The Blackbox Window Manager
|
||
|
||
By Larry Ayers
|
||
_________________________________________________________________
|
||
|
||
Introduction
|
||
|
||
Someday (I fantasize) an academic specialty devoted to the taxonomy of
|
||
free software will arise, complete with abstruse journals filled with
|
||
hair-splitting analyses of the bloodlines, interbreeding, and
|
||
evolution of this ephemeral medium. I can imagine a future scholar
|
||
publishing a paper in which the various developmental strands of
|
||
late-twentieth-century Linux window-managers are analyzed, complete
|
||
with photographs of the Sunsite digital archaeology project, conducted
|
||
amidst the ruins of ancient Chapel Hill.
|
||
|
||
Returning to the present, two trends can be distinguished among the
|
||
many window-manager projects extant today. The first is either
|
||
inspired by and/or descended from Robert Nation's influential fvwm
|
||
window-manager. Fvwm2, Afterstep, and (to a lesser extent) WindowMaker
|
||
are examples in this category. These window-managers tend towards
|
||
extreme configurability and typically are able to load special-purpose
|
||
modules such as desk-top pagers, CD-players, and hosts of others.
|
||
Configuration of this sort of manager can be a daunting task,
|
||
especially for Linux beginners, though the existence of
|
||
well-thought-out and esthetically pleasing "themes" (in this context
|
||
meaning a package of configuration files, backgrounds, and pixmap
|
||
icons) and their availability on the net can give a new user a
|
||
head-start.
|
||
|
||
Perhaps as a reaction to these complex and feature-laden
|
||
window-managers another sort of manager has been appearing lately.
|
||
Marco Macek's icewm is deliberately not as complex as the above "big"
|
||
window-managers but nonetheless has the most commonly needed features
|
||
and a moderately configurable appearance. Icewm has been through quite
|
||
a few beta versions now and has become remarkably stable. Another
|
||
example is blackbox.
|
||
|
||
Blackbox is a new window-manager written by Brad Hughes. Like icewm,
|
||
it was coded from scratch in C++. It's small (the source archive is
|
||
just 50 kb.), fast, and has a thoughtfully-designed and pleasing
|
||
default appearance. This latter feature has probably contributed to
|
||
blackbox's transition from a personal undertaking to an open source
|
||
project which has received bug-fixes and enhancements from several
|
||
other programmers.
|
||
|
||
Impressions
|
||
|
||
Like Windowmaker and icewm, blackbox uses workspaces rather than the
|
||
virtual desktop/pager combination familiar to fvwm users. The main
|
||
difference between the two methods of managing windows is that the
|
||
workspace approach lacks the miniature representations of the various
|
||
desktops seen in the pager window. It's really a psychological matter,
|
||
and both methods work equally well once habits have been formed. I
|
||
surmise that the first virtual desktop system (or even the idea of
|
||
iconized windows and window-lists, which serve much the same purpose)
|
||
was developed by a programmer who just got tired of shuffling through
|
||
layered stacks of windows searching for a certain one.
|
||
|
||
At the bottom of a blackbox desktop is an immovable multi-purpose bar,
|
||
with a workspace menu on the left and a digital clock on the right. In
|
||
between is a blank area, which had no function in the earlier betas
|
||
but which now contains an iconized window-menu. Here's what it looks
|
||
like, with the default colors:
|
||
|
||
Blackbox toolbar
|
||
|
||
The gradient shading of the titlebar and toolbar is a nice touch, a
|
||
feature usually found only in the more elaborate window-managers. All
|
||
graphics routines are handled internally so no extra image libraries
|
||
are needed. Blackbox is unusual in that it doesn't use the Xpm pixmap
|
||
library, so the only applications which will display an icon when
|
||
minimised are those with icons embedded in the executable, such as
|
||
Netscape and xv.
|
||
|
||
Unlike most window-managers the root-window menu is bound to the right
|
||
mouse button rather than the left, an arrangement which will be
|
||
familiar to icewm and OS/2 users. The menu-items are configured in a
|
||
separate file; both the menu and the overall configuration files are
|
||
placed in the /usr/X11R6/lib/X11/app-defaults directory, a traditional
|
||
location for X resource files. The menu-file's syntax is clear and
|
||
easy to use. Here is a screenshot of a menu I've been using:
|
||
|
||
Blackbox menu
|
||
|
||
The menu will remain "stuck" to the desktop if it is moved after it
|
||
appears and can be dismissed via a right-mouse-button click any time
|
||
thereafter.
|
||
|
||
Keyboard short-cuts are provided for various window operations,
|
||
including the Mac-like title-bar roll-up, as well as switching between
|
||
workplaces. I am pleased by the relative paucity of key-bindings in
|
||
both icewm and blackbox. Some of the larger window-managers have many
|
||
key-bindings, some of which conflict with common application bindings.
|
||
I've used fvwm2 quite a bit, and it always annoyed me that Netscape's
|
||
alt-left-arrow-key key-binding wouldn't work, as it evidently was
|
||
reserved for some fvwm function in my ~/.fvwm2rc file, which I never
|
||
did get around to tracking down and disabling. You know how it is;
|
||
this sort of minor configuration isn't important enough to just drop
|
||
everything and fix right now. It's a minor annoyance, but I was
|
||
grateful that icewm and blackbox included just a few essential
|
||
bindings.
|
||
|
||
Blackbox is still a relatively young project and the window-manager
|
||
isn't completely stable yet. I've had it crash the X-server a few
|
||
times, but I've long been in the habit of saving work frequently
|
||
(which is always a good idea when running beta software!). Either
|
||
icewm or wmx may be a better choice as a lightweight window-manager if
|
||
the need for stability is paramount, but blackbox development seems to
|
||
be progressing rapidly. More users trying it out and reporting
|
||
problems will doubtless speed the process.
|
||
|
||
The blackbox web-site is the best source of further information and
|
||
the latest source archives.
|
||
_________________________________________________________________
|
||
|
||
|
||
Larry Ayers<layers@marktwain.net>
|
||
|
||
Last modified: Sun 28 Jun 1998
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Larry Ayers
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
Lesstif: One User's Impression
|
||
|
||
By Larry Ayers
|
||
_________________________________________________________________
|
||
|
||
One of the main differences between Linux and the commercial Unix
|
||
flavors is that the commercial unices commonly come with one version
|
||
or other of the proprietary Motif libraries. Motif is basically a
|
||
"widget-set", a set of libraries and header-files which give X-windows
|
||
applications a characteristic look, including such features as
|
||
dialog-boxes, menus, file- and font-selectors, drag-and-drop support,
|
||
etc.
|
||
|
||
There are several free widget-sets which offer roughly the same
|
||
functionality, such as GTK, so Motif isn't a necessity for a Linux
|
||
system except for one factor. Many of the popular free-software
|
||
projects come from institutions such as universities or government
|
||
agencies, with a few originating in a commercial or corporate setting.
|
||
These institutions often use a commercial Unix and programmers tend
|
||
therefore to use the Motif development tools.
|
||
|
||
A year or so ago I bought a copy of SWIM Motif from the LSL web-site.
|
||
There were several software packages I wanted to compile which
|
||
required the Motif libraries and header files, such as XEphem, NEdit,
|
||
DDD and Vim. The price of a commercial Motif package had been close to
|
||
two hundred dollars, but the new SWIM version was selling at that time
|
||
for about sixty, so it seemed like a good deal. It's a quality product
|
||
and worked well for me until I decided to upgrade my Debian system to
|
||
Debian 2.0, which is based on libc6 (as are Redhat 5.0 and 5.1). I
|
||
used the handy autoup.sh script, which upgrades the core packages of
|
||
the distribution in the proper order. Everything was hunky-dory until
|
||
I realized that my proprietary Motif libs were based on libc5 and
|
||
won't function in a libc6 environment. The LSL company offers a
|
||
thirty-dollar upgrade for customers in my situation, but I felt that
|
||
I'd spent enough on what isn't really a necessary software package,
|
||
and who's to say whether some future changes in Linux might put me in
|
||
the same situation again? Situations like these really make me
|
||
appreciate source-code availability!
|
||
|
||
I'd been hearing favorable reports on the newer versions of Lesstif, a
|
||
free and open-source Motif 1.2 clone created by a team of developers
|
||
called the Hungry Programmers. The release of the Netscape source
|
||
earlier this year had attracted new Lesstif users, as Netscape needs
|
||
Motif to build. More users means more bug-reports and probably some
|
||
additional programming help; I can't help but think that the new
|
||
Netscape situation was a shot in the arm for Lesstif. The Lesstif
|
||
releases seem to be more frequent now, for whatever reasons.
|
||
|
||
I really didn't know what to expect from Lesstif. I remembered reading
|
||
usenet postings concerning Lesstif's failures to work with this or
|
||
that application and numerous comments on display flaws and other
|
||
bugs. These comments were made over a year ago, which is approximately
|
||
a decade in "computer time", so I was hoping for at least a marginally
|
||
useful product.
|
||
|
||
The first release I tried was 0.83. To my surprise, it compiled and
|
||
installed as easily as any other quality GPL package. Feeling rather
|
||
foolish that I'd spent hard-earned cash on a commercial Motif
|
||
implementation, I proceeded to re-compile (over the course of a few
|
||
weeks) every application which I had previously linked with SWIM
|
||
Motif. So far every one I've tried has worked well with Lesstif; some
|
||
packages needed the paths to the Lesstif libraries and header-files
|
||
specified in the Makefile, but this was the only tinkering I've had to
|
||
do. I was particularly pleased that NEdit now works with Lesstif, as
|
||
this editor's dependence on Motif has until now hindered its
|
||
widespread use by Linux users.
|
||
|
||
The few bugs I've seen in the Lesstif version I'm using now (0.85) are
|
||
minor and have little effect on usability.
|
||
|
||
One reason Lesstif is important for the Linux community is that its
|
||
existence and usability make it possible for the developers of
|
||
distributions to package Motif-linked applications without the
|
||
necessity of dealing with non-free software. The application
|
||
developers can continue to use Motif, while Linux users can still
|
||
compile and run the programs without the proprietary libraries.
|
||
|
||
Jon Christopher, a member of the Lesstif team, has written an essay
|
||
about Lesstif's history and prospects which is well worth reading. It
|
||
was originally contributed to the Slashdot web-site, and is available
|
||
here. The Lesstif web-site has the latest releases and other news.
|
||
_________________________________________________________________
|
||
|
||
Last modified: Sun 28 Jun 1998
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Larry Ayers
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
Sabre: An Svgalib Flight Sim
|
||
|
||
By Larry Ayers
|
||
_________________________________________________________________
|
||
|
||
Introduction and Disclaimer
|
||
|
||
I haven't written about Linux games for the Gazette, mainly because I
|
||
don't play them much. Oh, every now and then while waiting for a
|
||
download to complete I'll play Xgalaga or XEmacs-tetris for a while,
|
||
but for me the real Linux amusement is figuring out how to compile,
|
||
install, and use the numerous software packages lurking out on the
|
||
net, unpublicized and just waiting to be explored.
|
||
|
||
A couple of days ago I was reading the current Need to Know British
|
||
WWW news site, and I saw a mention of a Linux flight-simulator called
|
||
Sabre. I ended up at the Sabre web-site and was impressed by the
|
||
evident humor and good-nature of the site's developer (check out the
|
||
page describing how to get sound working with the simulator!). Though
|
||
I've seldom used flight-simulators, I decided to give this one a try.
|
||
|
||
Back To The Korean War
|
||
|
||
The developers of Sabre (Dan Hammer, with assistance from Antti Barck
|
||
and David Mansfield) have chosen to confine their attention to the
|
||
Korean War, so the aircraft involved are mostly early jets with a
|
||
smattering of WWII-era propellor-planes. The graphics are well-done,
|
||
with texture-mapped clouds and landscapes. The general effect is
|
||
reminiscent of a detailed cartoon (not Hannah-Barbra style!).Here are
|
||
a couple of scaled-down screenshots (Sabre can even take its own
|
||
screenshots while running; just press e and the current scene will be
|
||
saved to a ppm file):
|
||
|
||
Sabre screen 1 Sabre screen 2
|
||
|
||
The first public release of Sabre was in August of 1997, so it's a
|
||
relatively new project. Don't expect a state-of-the-art flight-sim
|
||
like the numerous commercial products available. Sabre is more similar
|
||
to better-quality DOS flight-sims of a couple of years ago. The
|
||
up-side to this is that expensive hardware (such as an ultra-fast
|
||
processors or a 3DFX video-card) isn't needed in order for Sabre to
|
||
run acceptably fast. This is an Svgalib console-graphics program so
|
||
not even X is needed.
|
||
|
||
Sabre can be run in a variety of resolutions and window-sizes.
|
||
Naturally a fast CPU will enable a larger and more detailed screen
|
||
with minimal choppiness.
|
||
|
||
Frankly, I probably never would have written this review if Antti
|
||
Barck's tremendously useful dialog-based script RunSabre hadn't been
|
||
included in the distribution. Flight-simulator veterans probably will
|
||
be able to learn to use Sabre without this script, but novices (like
|
||
me) will find this interface to Sabre invaluable. It provides a
|
||
convenient way to set the screen resolution, run various demo missions
|
||
and flight scenarios, and access the documentation (especially the
|
||
key-binding doc) from one menu-based screen. All of these tasks can be
|
||
accomplished with command-line switches, but who wants to learn these
|
||
while still deciding whether it's worth devoting time to learning a
|
||
new application? Without this script, running Sabre can be a
|
||
frustrating sequence of short flights followed by re-reading the docs
|
||
after watching your jet crash yet another time.
|
||
|
||
Sabre offers quite an extensive array of view-points from which to
|
||
observe your fighter-plane and the surrounding action. Naturally you
|
||
can be in the cockpit and see forward, to the side, and behind, but
|
||
you can also become a disembodied viewer off to one side. Even more
|
||
interesting, a click of a key will put you in the cockpit of one of
|
||
the enemy planes.
|
||
|
||
Your plane can be controlled with either a mouse, the keyboard, or a
|
||
joystick (assuming joystick support is compiled into your kernel). I
|
||
found controlling with a mouse difficult, whereas after some practice
|
||
the keyboard seemed to provide more accurate control. I don't have a
|
||
joystick so I was unable to try that method; I understand that
|
||
flight-sim enthusiasts prefer them.
|
||
|
||
The first scenario in the RunSabre menu is called Just Fly. I was
|
||
grateful for this choice; the last thing I needed while trying to
|
||
figure out the controls was harassment by MIG fighters intent on my
|
||
destruction! Several other flight scenarios are supplied, some
|
||
involving aerial combat and others ground attack missions. These
|
||
scenarios are interactive; the demo missions are more like short
|
||
movies which display the variety of scenes Sabre is capable of
|
||
displaying.
|
||
|
||
All in all Sabre is a quality piece of software. It compiled easily
|
||
and I found no obvious bugs. The source or pre-compiled binaries can
|
||
be obtained from the Sabre web-site linked at the beginning of this
|
||
article.
|
||
_________________________________________________________________
|
||
|
||
Last modified: Sun 28 Jun 1998
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Larry Ayers
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
SFM: A New GTK-Based Application
|
||
|
||
By Larry Ayers
|
||
_________________________________________________________________
|
||
|
||
Introduction
|
||
|
||
As the GTK GUI programming toolkit matures more developers have been
|
||
inspired to use it for the visual presentation of their programs.
|
||
Pascal Rigaux, a French programmer, has come up with a small
|
||
file-manager he calls sfm. Sfm isn't quite as simple as the name and
|
||
initial appearance imply; it has a remarkably full feature-set for
|
||
such a small program.
|
||
|
||
There has been a long succession of X Windows file-managers which use
|
||
various icons to represent different types of files. This approach can
|
||
be useful for people accustomed to a Macintosh or Windows environment,
|
||
where this type of file-manager is common. These icons do have
|
||
drawbacks, though, as fewer files will fit into a single display
|
||
window which results in much more scrolling to find a particular file.
|
||
The impact on system resources is considerable as well, as the X
|
||
server is called upon to constantly update the display, and memory
|
||
usage is much greater than what is needed by a text-based manager. In
|
||
the end it's just a matter of preference.
|
||
|
||
Sfm is unusual in that it is an X-only file-manager which is also
|
||
text-based (FileRunner is another). It also goes against the general
|
||
trend towards mouse-based applications in that the keyboard interface
|
||
is well-developed.
|
||
|
||
Appearance and Features
|
||
|
||
The default window size is rather small; my first impression was that
|
||
this was a trivial application, probably a first GTK programming
|
||
exercise without much utility. As I explored further (and actually
|
||
read the README file!) I found that sfm's uncluttered appearance
|
||
conceals an interesting and useful approach to the perpetual effort to
|
||
contrive a useful interface to the ls utility. In the screenshot below
|
||
I've enlarged the default window by about one-third:
|
||
|
||
sfm window
|
||
|
||
The above window is rather plain. The interesting part is the
|
||
right-mouse-button menu which offers a plethora of actions which can
|
||
be performed upon the highlighted file, along with a submenu offering
|
||
less-used possibilities. I wanted a screenshot showing the basic sfm
|
||
window with both menus fanned out from it. I don't know whether it is
|
||
an idiosyncrasy of sfm, GTK, or xv (which I used for the screenshots),
|
||
but while I was able to get shots of either menu by itself, I couldn't
|
||
get them all in one screenshot. So here are the main menu and its
|
||
submenu; try to imagine them connected to the first screenshot above:
|
||
|
||
first sfm menu
|
||
|
||
This is the submenu stemming from the "more" item:
|
||
|
||
sfm sub-menu
|
||
|
||
As you can see, the keyboard shortcuts for all of the various
|
||
menu-items are shown to the right of the action menu-entries. This is
|
||
a great help in learning the key-bindings, which are designed to be
|
||
intuitive and similar to those of many other programs. I especially
|
||
like the Lynx-style left-and-right arrow-key directory navigation (the
|
||
mc file-manager offers this as an option).
|
||
|
||
Multiple sfm windows can be opened at once and files can be easily
|
||
copied or moved between them.
|
||
|
||
Sfm uses a configuration dot-file (~/.sfm) in order to determine the
|
||
action to take upon a highlighted file when either the enter key, the
|
||
right-arrow-key, or a single left-mouse-button click is received.
|
||
Surprisingly, this is one dot-file you won't have to edit, as it is
|
||
auto-generated. The first time you select, as an example, a text file,
|
||
a dialog box pops up asking what action you'd like to take, such as
|
||
editing it with your favorite editor. That preference is then recorded
|
||
in the ~/.sfm file; the next time a text file is selected it will be
|
||
loaded into your editor. Sfm uses the standard Linux file utility to
|
||
determine file-types. This is quite a nice feature, especially for new
|
||
Linux users who have enough to do just becoming comfortable with the
|
||
system without constantly needing to chase down and edit config files.
|
||
|
||
Sfm is still in its early days, but judging by the intelligent design
|
||
of the current version, it's likely that further improvements are in
|
||
the offing. The current version (1.4 as I write this) is available
|
||
from the Sunsite archive; an alternate site is here.
|
||
_________________________________________________________________
|
||
|
||
Last modified: Sun 28 Jun 1998
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Larry Ayers
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
Portable GUI C++ Libraries
|
||
|
||
By Sean C. Starkey
|
||
_________________________________________________________________
|
||
|
||
Most well-written, non-graphics C++ code is portable, but major
|
||
problems occur when one tries to write portable applications for
|
||
graphical user interfaces. On Linux, the X Window System is used as
|
||
the major graphical user interface. GUI code written on Linux will not
|
||
work on MS Windows. Even though we all know that Linux is the better
|
||
of the two, some Linux developers would like to also support MS
|
||
Windows with its large number of users.
|
||
|
||
With a portable GUI C++ library, source code developed under Linux and
|
||
X can be compiled for other platforms, including MS Windows. Quite a
|
||
few GUI C++ libraries are available at this time, including MFC and
|
||
OWL for MS Windows. Unfortunately, none of these libraries are
|
||
portable to both X and MS Windows.
|
||
|
||
Desirable features in a portable GUI library include the following:
|
||
|
||
* Support for a large number of platforms
|
||
* Easy to use, with good documentation
|
||
* A good set of widgets (or controls, in Microsoft-speak) to use in
|
||
your interface
|
||
|
||
Other desirable features which are not GUI related are portable
|
||
network functionality, file I/O capabilities and some good container
|
||
classes.
|
||
|
||
What are some of the problems faced by a portable GUI library? One is
|
||
that GUI code on different platforms varies widely. To create a new
|
||
window, MS Windows uses a completely different command than X, even
|
||
though the code uses the same programming language in both. Another
|
||
problem is subtle changes in event handling. All GUI applications are
|
||
event driven, but the events are different on different platforms. The
|
||
portable GUI library must take all of these differences into
|
||
consideration and supply a common interface for all platforms.
|
||
|
||
I have reviewed three different GUI C++ libraries which support both X
|
||
and MS Windows. All are free of charge with no royalties. The source
|
||
code for these libraries is available on the web sites cited in
|
||
Resources.
|
||
|
||
Since these libraries are written in C++, you have all the advantages
|
||
of object-oriented design. To create a new window, you derive your own
|
||
window class from the main window class. After adding the appropriate
|
||
code to handle events in your window, it is finished.
|
||
|
||
wxWindows
|
||
|
||
wxWindows is by far the most active of the libraries available.
|
||
wxWindows was originally developed by Julian Smart, but has received
|
||
contributions from many others. The version of wxWindows reviewed in
|
||
this article is 1.68B. Version 2.0, a major rewrite of the library, is
|
||
rumored to be available in ``the near future''.
|
||
|
||
wxWindows is a very modular project. The main version is available on
|
||
the web site. In addition to the main version, there are also many
|
||
subprojects. Some of these subprojects include additional widgets, an
|
||
Xlib library port, a Macintosh port and many others. These subprojects
|
||
are described on the wxWindows web site (see Resources).
|
||
|
||
Note that the main version of wxWindows requires the Motif toolkit.
|
||
Motif is not free; therefore, most Linux installations do not include
|
||
it. Lesstif, a popular Motif clone, compiles and works with wxWindows.
|
||
There is also a side project which uses only standard Xlib libraries
|
||
so that wxWindows does not need Motif.
|
||
|
||
wxWindows has many features. Figure 1 is a screen capture of the
|
||
sample program distributed with wxWindows running on a Linux system.
|
||
Notice all of the widgets available to the programmer. More screen
|
||
shots are available on the wxWindows web site.
|
||
|
||
[INLINE]
|
||
|
||
Figure 1
|
||
|
||
One of best features of wxWindows is the on-line documentation. The
|
||
documentation comes in HTML, LaTeX and MS Windows help format. There
|
||
is also a very active mailing list for wxWindows, where many questions
|
||
can be answered. Trying to learn all of these new classes can be
|
||
confusing, and wxWindows does a good job of describing them.
|
||
|
||
If you don't want to download all of the wxWindows source code, a
|
||
distribution on CD is available. See the web site for more details.
|
||
|
||
V
|
||
|
||
V is another freely available library, and was developed by Dr. Bruce
|
||
E. Wampler. [See ``V--A Free C++ GUI Framework for X'', Linux Journal,
|
||
December 1996.] It is able to compile on X and MS Windows. It is a
|
||
complete library, but does not have all of the fancy controls that
|
||
wxWindows has. Although not as fancy, in my opinion, V's source code
|
||
is better written and easier to understand than wxWindows.
|
||
|
||
V does not require the Motif libraries to build and run. All V source
|
||
code uses pure Xlib library calls, so it should be able to compile on
|
||
any Linux system with no difficulty.
|
||
|
||
V has quite a few widgets available as well. Figure 2 is a screen shot
|
||
of an example program distributed with the library. This look is
|
||
consistent on all platforms.
|
||
|
||
[INLINE]
|
||
|
||
Figure 2
|
||
|
||
YACL
|
||
|
||
Another library worth looking at is YACL (Yet Another Class Library).
|
||
The author, M. A. Sridhar, reports that YACL can compile on X, MS
|
||
Windows and OS/2. Unfortunately, it looks as if progress on YACL has
|
||
been nonexistent since late 1996. The current version of YACL, 1.60,
|
||
is close to complete with a good set of classes and widgets.
|
||
|
||
[INLINE]
|
||
|
||
Figure 3
|
||
|
||
Figure 3 shows a screen shot of an example program distributed with
|
||
the library. This example shows some of the graphics primitives
|
||
available with YACL. YACL also has all of your basic widgets, such as
|
||
buttons, menus, choices and radio buttons.
|
||
|
||
One of YACL's biggest drawbacks is a lack of documentation. There is a
|
||
book about YACL: Building Portable C++ Applications with YACL,
|
||
Addison-Wesley, 1996. I would suspect this book has more information
|
||
than the documentation distributed with the library.
|
||
|
||
If you would like more information on any of these libraries, please
|
||
see their web page listed in the Resources table.
|
||
|
||
Resources
|
||
|
||
wxWindows: http://web.online.co.uk/julian.smart/wxwin/
|
||
|
||
V: http://www.objectcentral.com/vgui/vgui.htm
|
||
|
||
YACL: http://www.cs.sc.edu/~sridhar/yacl/
|
||
|
||
User Interface Software Tools:
|
||
http://www.cs.cmu.edu/afs/cs/user/bam/www/toolnames.html
|
||
A good page for some other GUI libraries that are not necessarily
|
||
free, in C++ or supportive of the X Window System.
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Sean C. Starkey
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
Using Linux instead of an X Emulator
|
||
|
||
By Al Koscielny
|
||
_________________________________________________________________
|
||
|
||
Sometimes you must have X on the desktop--at work, that is. At home,
|
||
you would have several choices from your well-appointed stable of
|
||
Linux ponies. Work is another story--you have the corporately
|
||
sanctioned productivity tool running on your desktop, and adding an X
|
||
emulator application is going to cost somebody some money. You blew
|
||
your software budget for the year on compilers. So what are you going
|
||
to do now?
|
||
|
||
Today's typical work environment includes a desktop PC running a
|
||
version of the Windows operating system. If the job is writing memos
|
||
and sending around Word documents, that's a reasonably adequate
|
||
solution. If the job is developing and testing cross-platform GUI
|
||
applications, then running an X application from your desktop is an
|
||
effective way to get the work done.
|
||
|
||
The Trafvu Project
|
||
|
||
Trafvu is an application for displaying results from traffic
|
||
simulation models. Such models can be used for planning and design
|
||
purposes. For example, suppose the city fathers attract the Olympics
|
||
for the year 2004. What changes need to be made to the traffic system
|
||
so that the city does not suffer from massive gridlock during the
|
||
Olympics?
|
||
|
||
Trafvu was developed in C++ to run on Windows and the X Window System,
|
||
with XVT being used as a cross-platform tool. For a software
|
||
development lab, we had several Pentiums running Windows 95 and NT and
|
||
some Sun workstations running Solaris 2.5. Generally, everyone on the
|
||
project had a desktop system, and the lab was used for collaborative
|
||
efforts, such as fixing bugs, and for design meetings. Several of the
|
||
lab machines were set up as file servers. The application source code
|
||
was maintained on a Windows NT server using the Mainsoft Sourcesafe
|
||
software revision control product. Typically, the project source code
|
||
were extracted to a local machine (lab or desktop), some source files
|
||
checked out, and C++ code developed or modified and tested; then the
|
||
modified files were checked back in.
|
||
|
||
Initially, when porting code from Windows to X, files were transferred
|
||
to a UNIX workstation using FTP, followed by a repeat of the compile,
|
||
link, test and debug cycle. As the project progressed, SAMBA was
|
||
installed on the Sun workstation, so that developers could access
|
||
their home directories on the Sun workstation from the Windows
|
||
browser. Then files could be extracted directly to the file system on
|
||
the workstation. Opening a TELNET session from the Windows PC to the
|
||
Sun workstation permitted concurrent compilation and linking on both
|
||
Windows and X.
|
||
|
||
At this point in the cycle, the source code had been modified,
|
||
compiled, linked and tested under Windows. Now we needed to test it on
|
||
the X Window System. We needed a way to run an X application from our
|
||
desktop PC.
|
||
|
||
X Emulator Options
|
||
|
||
There are several ways to provide X on the desktop. A few years ago,
|
||
X-terminals were very popular. An X-terminal typically has nice real
|
||
estate (i.e., a large screen), some memory, no local disk space and
|
||
costs about $1000 to $2000 (most of the expense is that nice monitor).
|
||
At boot time, it loads an OS from a boot server, so setting up the
|
||
boot server becomes the headache. As PC processors became cheaper and
|
||
more capable, the price of hard drives fell through the floor, so the
|
||
PC desktop became very popular. Typically, PCs run a version of the
|
||
Windows operating system. Using them as X terminals requires
|
||
additional software for X emulation. For example, with Hummingbird's
|
||
Exceed, a typical X emulator, you can run your favorite X application
|
||
on a convenient UNIX workstation and have X display on your desktop
|
||
computer. X emulation products for Windows generally cost a few
|
||
hundred dollars per machine. Currently, network computers (NCs) are
|
||
being pushed as a solution to the software application configuration
|
||
nightmare brought on by the proliferation of desktop PCs, and typical
|
||
prices seem to be about $700US per unit.
|
||
|
||
Several options are available and if a few hundred dollars is not a
|
||
concern, the X emulator application is probably the ticket. If, on the
|
||
other hand, no one will sign the purchase request or many machines
|
||
need the capability, then a cheaper option is needed.
|
||
|
||
Linux to the Rescue
|
||
|
||
With hardware prices falling and Windows applications becoming more
|
||
bloated, there's usually some older hardware sitting around unused.
|
||
Who wants to attempt to run Visual C++ 5.001a under Windows 95 on that
|
||
486/66 with a 1 GB hard drive? I won't volunteer. Next question--what
|
||
OS runs X quite comfortably on a 486 with 16MB of memory? The answer
|
||
is Linux.
|
||
|
||
Thus, an alternative to the X emulation application is running Linux
|
||
on the PC. Set up the PC as a dual boot machine and simply boot Linux
|
||
to run X applications on the desktop. The advantage of using Linux is
|
||
that no purchase requests have to be signed. Just bring the CD-ROM
|
||
from home, find some free time and disk space and install it. The
|
||
disadvantages are finding the time to do the installation and the need
|
||
to boot between running Windows or X. The hurdles in the process are
|
||
finding about 300MB of spare disk space and a three-button mouse.
|
||
|
||
Setting up Linux
|
||
|
||
Initially, my company installed Linux 1.2.13 on a Gateway 486/66 and a
|
||
no-name clone 486/66. There are numerous resources on installing
|
||
Linux, if you need that information. However, having copies of books
|
||
such as Running Linux and Linux Network Administrator's Guide was
|
||
essential for us. Internet access for HOWTO documents can also be
|
||
helpful. Installing on the Gateway and no-name were mostly
|
||
straightforward. The Gateway did not have a CD-ROM drive, so the
|
||
CD-ROM was exported from one of the Sun workstations. The Slackware
|
||
distribution has the option of installing over a network and this
|
||
worked well. Both the Gateway and the no-name had SCSI cards, and
|
||
additional SCSI disks were salvaged from other machines for installing
|
||
Linux. Setting up XFree86 on the no-name was a chore because of the
|
||
video card. Generally, the cheaper a PC, the less documentation is
|
||
provided with it. So putting up X on the no-name took quite a bit of
|
||
experimentation. The Linux multiple console capability is very handy
|
||
when installing XFree86. ctrl-alt-F1 brings up the screen used to
|
||
start X (use startx command) to look for error messages. alt-F7 gets
|
||
you back to your X session, and ctrl-alt-F?, where ?=2, 3, 4, 5 or 6,
|
||
gets another login session for checking log files, etc.
|
||
|
||
Later in the project we installed Linux 2.0.0 on a SAG Electronics
|
||
dual-processor Pentium Pro 200 MHz with an Imagine Number Nine 128
|
||
Series II video card with 4MB. The Pentium Pro came with a 4MB hard
|
||
drive, and a 400MB partition was allocated for Linux. Installation on
|
||
the Pentium Pro machine was more difficult because the hardware was so
|
||
new. Video drivers for the Number Nine card were in beta, and the
|
||
generic SVGA drivers wouldn't work. Upgrades to XFree86 took about
|
||
10-20MB of downloading from http://www.xfree86.org/ and perhaps a
|
||
couple of hours to install and test. The three-button mouse on the
|
||
Pentium Pro insisted on being difficult, but this was remedied by the
|
||
advice in the three-button mouse mini-HOWTO.
|
||
|
||
I tried the two-button mouse emulation and found it to be just good
|
||
enough to get me in trouble. I would think I had the timings down,
|
||
roll into an xterm with the root prompt and paste the equivalent of
|
||
War and Peace in at the command line. (Gee, I hope I didn't do
|
||
something like rm-rf/ in that session.) I did find coworkers who were
|
||
willing to trade a Logitech three-button mouse for my two-button
|
||
mouse. Once one is used to the X version of ``cut and paste'', it is
|
||
very difficult to do without it.
|
||
|
||
The three PCs were set up with dual boot capability. Initially, we
|
||
just used a floppy boot disk for Linux, since making one is easily
|
||
accomplished, and the MBR (Master Boot Record) for Windows remains
|
||
intact. Later, when Linux had proven itself useful and we were
|
||
interested in convenience, we added LILO to the MBR. The PCs were
|
||
frequently used in Windows to edit documents, prepare spreadsheets,
|
||
etc. It was very handy to access these files without having to boot
|
||
Windows. Accessing Windows files while the PC is running Linux can be
|
||
done using SAMBA. For FAT file systems, set up a mount point in
|
||
/etc/fstab with a file system type of msdos in order to make the
|
||
Windows file system fully accessible while Linux is running. Install
|
||
SAMBA on the Linux machines, export the Windows file system through
|
||
the smb.conf configuration file, and then you can access the files
|
||
through the Windows browser (File Manager or Explorer, depending on
|
||
your Windows flavor).
|
||
|
||
It's encouraging to see file system drivers for FAT and HPFS, since
|
||
accessing the files from the other operating systems is very
|
||
convenient while running Linux. However, with current hard drive
|
||
sizes, FAT is outdated and offers very little security. Microsoft
|
||
offers some alternative file systems, such as VFAT and NTFS. However,
|
||
it appears that specifications for these files will remain exclusively
|
||
with Microsoft. So, although work is in progress on the NTFS driver
|
||
for Linux, I don't think NTFS support under Linux will be available
|
||
any time soon. Perhaps a better design choice is to minimize the usage
|
||
of proprietary file systems on multi-boot machines.
|
||
|
||
Typically, the Linux PCs were used for an X-terminal login to the Sun
|
||
workstations. To make this convenient, the ``Goodstuff'' button bar
|
||
was used. The environment variable DISPLAYHOST was set in this way:
|
||
|
||
export DISPLAYHOST=vader:0
|
||
|
||
This environment variable is used when using rsh to get to an xterm on
|
||
the Sun workstation. The .fvwmrc file with the FVWM window manager has
|
||
several samples, so just fill in appropriate values for the remote
|
||
host and the $DISPLAYHOST. Getting the GoodStuff button to work can be
|
||
a chore if something is wrong with the setup. Start by testing with a
|
||
simple command:
|
||
|
||
rsh remote-host date
|
||
|
||
Once this works, typing rsh xterm should also work. Having a single
|
||
button set the DISPLAY variable and also start the remote session
|
||
prevents a nusiance console display when DISPLAY is set to the default
|
||
value of 0.0.
|
||
|
||
A side benefit of installing Linux is backing up the file system over
|
||
the network. A PC usually doesn't have a tape drive, whereas a more
|
||
backup-conscious Sun workstation may have a 5GB DAT drive. From the
|
||
Linux PC, the dd command with the appropriate arguments will back up
|
||
your hard drives to a tape drive on a remote workstation. A crontab
|
||
entry is good for this type of backup for nonwork hours, so that
|
||
network bandwidth impact is minimized.
|
||
|
||
Synopsis
|
||
|
||
There is a steep learning curve to installing Linux, and my initial
|
||
installation of Linux took several days. Recently, I installed
|
||
Slackware 3.2 (2.0.29 kernel) in about two hours, which included
|
||
bringing up X and restoring home directories. Recent efforts at
|
||
improving Linux's ease of use have been well spent and make Linux a
|
||
more viable alternative for use at work.
|
||
|
||
A spare X terminal is very handy to have around when debugging an
|
||
application. It is possible to stop events from getting to the
|
||
debugger on the Sun workstation, so that the console is essentially
|
||
locked. However, if there's a free X display, set the DISPLAY variable
|
||
there before running a command-line debugger.
|
||
|
||
Booting multiple operating systems is an interesting twist on
|
||
cross-platform application development. If I could have built the
|
||
trafvu application using the GNU compiler (some issues with the Rogue
|
||
Wave libraries precluded this), I could have used a single PC for both
|
||
Windows and X development and testing.
|
||
|
||
We have used Linux and XFree86 on a daily basis for over a year and
|
||
have been impressed with the solid performance.
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Al Koscielny
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
"Linux Gazette...making Linux just a little more fun!"
|
||
_________________________________________________________________
|
||
|
||
USENIX 1998
|
||
|
||
By Aaron Mauck
|
||
_________________________________________________________________
|
||
|
||
Photo Album
|
||
_________________________________________________________________
|
||
|
||
Each year, the USENIX organization (http://www.usenix.org/) puts on a
|
||
technical conference dealing with UNIX and other UNIX-like systems.
|
||
This year they had an emphasis on free or Open Source operating
|
||
systems, primarily Linux and *BSD. The conference was held in New
|
||
Orleans, Louisiana from June 15th to the 20th.
|
||
|
||
Tutorials
|
||
|
||
Many day-long tutorials were offered on Monday and Tuesday including
|
||
``Inside the Linux Kernel'' by Stephen Tweedie, one of the EXT2
|
||
developers, and several talks on Networking and Security. I attended
|
||
``Hot Topics in System Administration'', taught by Treni Hein and Evi
|
||
Nemeth. They covered many topics including Samba, Packet Filtering and
|
||
IPv6.
|
||
|
||
Vendor Expo
|
||
|
||
I found it refreshing to see a vendor exposition (albeit a small one)
|
||
comprised completely of UNIX-friendly companies. O'Reilly was there,
|
||
displaying all of their titles for sale at 20% off. Needless to say,
|
||
this made it one of the most popular booths. Most of the faces were
|
||
familiar: Red Hat, Linux International, InfoMagic, the three heads of
|
||
BSD and others. Among the unexpected participants was the FBI, just a
|
||
short distance from the Free Software Foundation. The whole atmosphere
|
||
of the exposition was quite relaxed, without the hectic feel of Comdex
|
||
and other large industry trade shows.
|
||
|
||
BOFs and Speeches
|
||
|
||
Each evening offered several talks by different people on a wide range
|
||
of subjects. I caught ``The State of Linux'' talk by Linus Torvalds on
|
||
Thursday afternoon. He set Aug/Sep 98 as a hopeful release date for
|
||
the 2.2 kernel. Another event that took place every evening was the
|
||
``Birds of a Feather'' (BOF) meetings, which were designed as a place
|
||
for people with common interests to come together and discuss their
|
||
ideas and goals. It was also a great place to rub shoulders with some
|
||
of the ``big names'' in the UNIX community, such as Keith Bolstic,
|
||
Eric Allman and Jon ``maddog'' Hall.
|
||
|
||
Terminal Room
|
||
|
||
What UNIX conference would be complete without a terminal room?
|
||
Luckily, Earthlink and openBSD donated machines and bandwidth and
|
||
created a room with thirty or so machines running openBSD, connected
|
||
to a T1.
|
||
|
||
Summary
|
||
|
||
If I were to do it all over again (and I most definitely want to), I
|
||
would spend more time planning what I want to learn. I was a bit
|
||
overwhelmed by the sheer number of talks/events, and therefore found
|
||
it difficult to focus on exactly what I wanted to get from the
|
||
experience--I was constantly spreading myself too thin. For any UNIX,
|
||
Linux, BSD etc. lover, USENIX is a must at least once in a lifetime.
|
||
It is a very friendly and co-operative environment and has definitely
|
||
earned its reputation as one of the hubs of the computing community.
|
||
_________________________________________________________________
|
||
|
||
Copyright © 1998, Aaron Mauck
|
||
Published in Issue 30 of Linux Gazette, July 1998
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back Next
|
||
_________________________________________________________________
|
||
|
||
Linux Gazette Back Page
|
||
|
||
Copyright © 1998 Specialized Systems Consultants, Inc.
|
||
For information regarding copying and distribution of this material see the
|
||
Copying License.
|
||
_________________________________________________________________
|
||
|
||
Contents:
|
||
|
||
* About This Month's Authors
|
||
* Not Linux
|
||
_________________________________________________________________
|
||
|
||
About This Month's Authors
|
||
_________________________________________________________________
|
||
|
||
Larry Ayers
|
||
|
||
Larry 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.
|
||
|
||
Jim Dennis
|
||
|
||
Jim is the proprietor of Starshine Technical Services. His
|
||
professional experience includes work in the technical support,
|
||
quality assurance, and information services (MIS) departments of
|
||
software companies like Quarterdeck, Symantec/ Peter Norton Group, and
|
||
McAfee Associates -- as well as positions (field service rep) with
|
||
smaller VAR's. He's been using Linux since version 0.99p10 and is an
|
||
active participant on an ever-changing list of mailing lists and
|
||
newsgroups. He's just started collaborating on the 2nd Edition for a
|
||
book on Unix systems administration. Jim is an avid science fiction
|
||
fan -- and was married at the World Science Fiction Convention in
|
||
Anaheim.
|
||
|
||
Norman M. Jacobowitz
|
||
|
||
Norman is a freelance writer and marketing consultant based in
|
||
Seattle, Washington. Please send your comments, criticisms,
|
||
suggestions and job offers to normj@aa.net.
|
||
|
||
Al Koscielny
|
||
|
||
Al is a Systems Engineer with Resource Solutions International. In his
|
||
spare time, he plays with Linux, reads Usenet, rides an ATB
|
||
(all-terrain bike) and enjoys cooking. He wishes to acknowledge the
|
||
contributions of Nacho, a big yellow tabby, to this article. He can be
|
||
reached at koscieln@interpath.com.
|
||
|
||
Mike List
|
||
|
||
Mike is a father of four teenagers, musician, and recently reformed
|
||
technophobe, who has been into computers since April,1996, and Linux
|
||
since July, 1997.
|
||
|
||
Aaron Mauck
|
||
|
||
Aaron is the System Administrator at SSC.
|
||
|
||
Gerd Mueller
|
||
|
||
Gerd's first computer was a Amiga 500, but since 1996 he works with
|
||
Linux. Few weeks ago he has finished his studies of computer science.
|
||
Currently he spends most of his time with developing WipeOut at
|
||
softwarebuero m&b. He can be reached at gerd@softwarebuero.de.
|
||
|
||
David Nelson
|
||
|
||
David manages scientific research at the U.S. Department of Energy.
|
||
Before that he earned his living as a theoretical plasma physicist. He
|
||
started programming on the IBM 650 using absolute machine language and
|
||
later graduated to CDC, DEC and Cray machines for his research. But
|
||
Linux is the most fun. He and his wife, Kathy, live near Washington
|
||
DC; they enjoy tennis, skiing, sailing, music, theater and good food.
|
||
|
||
David Penland
|
||
|
||
David has been using linux since he first encountered the sls
|
||
distribution in the Autumn of 1992. He works as an AIX systems
|
||
administrator for Unifi, INC. in Greensboro, North Carolina. He is
|
||
married to Angel Penland, and they share a house with 2 dogs and 4
|
||
cats. He can be reached at dpenland@mindspring.com.
|
||
|
||
Eric S. Raymond
|
||
|
||
Eric is a semi-regular contributor to Linux Journal. You can find more
|
||
of his writings, including his paper ``The Cathedral and the Bazaar'',
|
||
at http://www.ccil.org/~esr/.
|
||
|
||
Jan Rooijackers
|
||
|
||
Jan is an employee at Ericsson Data Netherlands BV (DSN). He came in
|
||
contact with UNIX in 1991 and is now working in the Internet/Intranet
|
||
business. Outside work, Jan spends time with his family and computers.
|
||
He can be reached at Jan.Rooijackers@dsn.ericsson.se.
|
||
|
||
Sean C. Starkey
|
||
|
||
Sean has been a Linux user for over four years. His first Linux system
|
||
had 0 as the major version number and came on floppy disks. If you
|
||
would like to know more about Sean, feel free to visit his web site at
|
||
http://rmi.net/~starkey/. He can be reached at starkey@rmi.net.
|
||
|
||
Alex Vrenios
|
||
|
||
Alex is a Lead Software Engineer at Motorola and has his ows
|
||
consulting business. He is always taking some sort of class. He just
|
||
finished the class work toward a Ph.D. in computer science, but only
|
||
time will tell if it goes any further. His wife, Diane, is certainly
|
||
his best friend and biggest fan. He enjoys his two Schnauzers, Brutus
|
||
and Cleo, and his dozens of African Ciclids, too. He is a licensed
|
||
amateur radio operator, as is Diane, and they spend more than a few
|
||
nights together observing the skies through their 5-inch telescope.
|
||
They like to get out and stay active, to enjoy life together.
|
||
|
||
Robert Wuest
|
||
|
||
Robert is an Electrical Engineer with Kemet Electronics in equipment
|
||
engineering. He lives in the US but works in Mexico. He plays with
|
||
computers there, developing software using Linux (for embedded 6809
|
||
systems). This article results from his current project, an instrument
|
||
which will use a PC104 computer running Linux. He is building the
|
||
chassis in AutoCAD using full 3D to place PC boards, relays and a lot
|
||
of connectors. He really wishes he could do that in Linux. He uses
|
||
Tango for DOS for circuit design and PCB layout. He wishes he could do
|
||
that in Linux also.
|
||
_________________________________________________________________
|
||
|
||
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.
|
||
|
||
This last month I've just been working, working, working -- no time
|
||
for fun. Riley is off on our annual motorcycle trip without me; he's
|
||
exploring Utah and Arizona, all our favorite parks. So at least one of
|
||
us is having fun. :-)
|
||
|
||
Actually, I'm having fun too. Working on LG always seems more like fun
|
||
than work and the same is true for Linux Journal. I've also been doing
|
||
some exploring of areas surrounding Seattle with my father-in-law, who
|
||
just moved up to this area. We had a two hour ferry wait last Saturday
|
||
that was frustrating yet comfortable because of the company. I think
|
||
having nice in-laws is a definite plus in life. At any rate, we've
|
||
seen some beautiful scenery, including a trip to Snoqualmie Falls and
|
||
one to the Olympic Peninsula.
|
||
|
||
Have fun!
|
||
_________________________________________________________________
|
||
|
||
Marjorie L. Richardson
|
||
Editor, Linux Gazette, gazette@ssc.com
|
||
_________________________________________________________________
|
||
|
||
[ TABLE OF CONTENTS ] [ FRONT PAGE ] Back
|
||
_________________________________________________________________
|
||
|
||
Linux Gazette Issue 30, July 1998, http://www.linuxgazette.com
|
||
This page written and maintained by the Editor of Linux Gazette,
|
||
gazette@ssc.com
|