Troubleshooters.Com Presents

Troubleshooting Professional Magazine

Volume 4 Issue 6, June 2000
Making it in a Post Microsoft World
Copyright (C) 2000 by Steve Litt. All rights reserved. Materials from guest authors copyrighted by them and licensed for perpetual use to Troubleshooting Professional Magazine. All rights reserved to the copyright holder, except for items specifically marked otherwise (certain free software source code, GNU/GPL, etc.). All material herein provided "As-Is". User assumes all risk and responsibility for any outcome.

[ Troubleshooters.Com | Back Issues ]

See the Troubleshooters.Com Bookstore.

CONTENTS

Editors Desk

By Steve Litt
Be careful what you wish for. You just might get it. We Linux, Open Source and Free Software advocates, and Microsoft critics, have for years prayed for victory over the dark forces of Darth Gates and Darth Ballmer. We've gotten our wish, and it's time to put up or shut up.

Of course, some of us put up years ago. I have friends who haven't run Windows for years. Some were smart enough to steer clear of the Redmond quicksand from the beginning, while others bit the bullet and converted in the years when Microsoft still ran the world. Those people have my undying respect -- they're not hypocrites. But most of us are like me -- we run Windows for some activities -- which is exactly why we hate it so much.

Some of us needed to feed our families, and during the years Microsoft owned everything had no choice but to work Windows. Some needed an app that would not run on Linux. Some stuck with it out of habit, or to avoid the pain of a switch between any two operating systems.

Most of all, anticipating the transition is daunting. Leaving favored apps behind, moving thousands of data files (over 15,000 acquired over 14 years in my case), changing hard learned mouse and keystroke habits and workarounds, finding and learning new apps to do the tasks we've been doing for years. Viewing the transition as an event is a prescription for procrastination.

But once viewed as a process, the transition becomes very manageable. The process is personal, but it might go something like this:

The preceding process assumes you do all Windows work from within the Linux vnc environment. Alternatively, if your Windows box is fast, with lots of memory and lots of spare disk space, you might consider the VMWARE alternative of having Windows and Linux running simultaneously on the same box: And of course, you can do it the easy way and buy a pre-configured Linux box from someone like VA Linux:
  • Buy the Linux box
  • Network Connection between Linux and Windows boxes
  • Samba, telnet, ftp and vnc configuration
  • Internet Configuration
  • Configuration of any additional necessary Linux apps
  • Two verified backups of Windows data
  • Transfer of all Windows data to the Linux desktop box
  • Cutover
  • Continued migration
  • Disposal of the last Windows system
  • Note that the "continued migration" step could take months or even more than a year to complete. That's OK, because as time goes on you rely less and less on that headless Windows box in the corner. Finally you reformat the thing and use it for a server.

    Back to the subject of your Linux desktop box. A pre-loaded Linux system is definitely the way to go if you like to view your computer as an appliance, and can spend a little more than the hardware cost of a bare bones computer in a local mom-and-pop computer store. An entire article, titled "Buying a Pre-Loaded Linux System", is included in this month's issue.

    This month's Troubleshooting Professional details some of what you need to know in order to make an orderly transition away from the Windows platform, which we believe to be waning in viability and popularity. Linux provides most of the functionality of Windows, and provides a rich set of features and functionalities for which Windows users had not dared wish. Linux offers us an unparalleled opportunity to make our computers more useful.

    The ins and outs of a desktop computer, any desktop computer, is an immense body of knowledge. This issue of Troubleshooting Professional has just scratched the surface. There will be a "Making it in a Post Microsoft World, Part 2", and probably a part 3 in the near future.

    What does all this have to do with Troubleshooting? We all know that intermittents are messy. Many view Windows systems as massively intermittent. That's why Microsoft is dying on the vine. Linux is stable and predictable -- it's the future. Linux may seem more complex (it's much more powerful), but due to its predictability, Linux is much easier to troubleshoot. So kick back, relax, and read this issue. And remember, if you're a Troubleshooter, this is your magazine. Enjoy!.

    Steve Litt can be reached at Steve Litt's email address.

    Buying a Pre-Loaded Linux System

    By Steve Litt
    Most of this issue of Troubleshooting Professional Magazine explains how to Linuxize your existing (or newly purchased) box, possibly after replacing certain Linux-unfriendly hardware. That's certainly inexpensive in terms of time, and it's a great experience. But if you just want to buy a ready-to-use computer with a solid Linux operating system, you'll want to investigate purchasing a pre-loaded system. That's how most Windows users buy their Windows computers.

    I'd better warn you that you'll pay a little more for your pre-loaded Linux system than a hardware-equivalent Windows system. The reason is that pre-configured Linux boxes are not yet a commodity. This means higher prices, but it also means better product and service because the vendors don't need to cut to the last dime.

    There are few national vendors for Linux desktop computers, so check local resources at your local Linux User Group (LUG). If you want the Cadillac of the industry, go with VA Linux. VA Linux can sell you an excellent pre-configured Linux desktop computer with a multitude of applications that work right out of the box. VA configures their boxes with a souped up Red Hat 6.2/KDE system ready to use on the Internet.

    Start by looking at their VA Linux 420 systems at www.valinux.com. By choosing the "Edit Configuration" link you can design your own system. I'd definitely recommend getting at least 128 meg of RAM so you can run tons of apps without swapping. You can get various other upgrades. One upgrade I'd get is a 7200 RPM hard drive for better performance. I'd also get the 533 Celeron because that's the processor at the knee of the price performance curve.

    Note that the 420 comes standard with an Ethernet adapter on the Motherboard, so you don't need to add a NIC. This fact is not well described on the VA website -- I learned it from a VA rep.

    VA has hired the best and brightest from the Linux community, so their tech support is beyond compare. Linux is VA's core competancy, so they know exactly what hardware components to use and exactly how to configure them, and how to set up and tune Linux. Additionally, because VA is both your hardware and software supplier, there's no finger pointing. If something goes wrong, VA addresses the problem. Their TLC (Total Linux Coverage) support is standard for the first year, and includes phone support for six incidents (make one of them hooking up to your ISP, complete with Netscape and kmail config).

    I have a wishlist of additional services that would be nice to see from VA:

    So if you want to get up and running with Linux with a minimum of hassle, and you're willing to spend a little extra money doing so, buy a pre-loaded system. This is an excellent choice for your first Linux system. If you want to save some money, learn a lot of Linux (albeit with some frustration), and custom make the system exactly to your needs, build it from scratch. The rest of this issue of Troubleshooting Professional covers the roll your own approach. Read on...
    Steve Litt can be reached at Steve Litt's email address.

    Hardware Recommendations

    Linux isn't as forgiving of oddball hardware as Windows. Here's why. Because Microsoft has had an illegal monopoly for so long (this is Judge Jackson's opinion, the URL of which is in the URL's section of this magazine), hardware vendors were forced to make sure their equipment worked with Windows. Only in the last year have they had any incentive to make their hardware work with Linux. As a result, you need to take a little more care selecting your hardware. You should look at the Linux Hardware Compatibility HOWTO at http://www.linuxdoc.org/HOWTO/Hardware-HOWTO.html. You should *definitely* read that document. I have some additional suggestions: If you already have a Windows box with a non-Linux compatible scanner and/or CD rewriter, you can simply keep them on the Windows box and transfer files via Ethernet. Most people need to keep a Windows box for the few apps they can't get with Linux, so the Windows attached peripherals is a convenient and cost effective solution. Of course eventually those periperals will become obsolete, at which time you'll get Linux compatible periperals. By then, most periperals will be Linux compatible.
    Steve Litt can be reached at Steve Litt's email address.

    Don't Forget BSD

    By Steve Litt
    Linux and BSD are close cousins. Most of the software available for Linux is available for BSD. BSD has certain performance advantages, although Linux is catching up. Linux has the advantage of a much larger user base and mindshare, and more software. Although this issue of Troubleshooting Professional speaks mostly of Linux, much of it's applicable to BSD.

    BSD makes a killer web server. No Linux investigation is complete without at least considering BSD.

    Steve Litt can be reached at Steve Litt's email address.

    Desktop Experimentation

    By Steve Litt
    With so many distro choices out there, it's wise to experiment with desktop installations before you pick one. Do you want an .rpm based version, or a Debian .deb derivative (i.e. Corel)? Do you want Gnome or KDE? Be sure to install the libraries for both. What keyboard shortcuts are you used to? How standard do you want your desktop Linux?

    I recommend installing all packages. In 2000 you can safely accomplish that in 3 Gig on all distros except Debian (they offer an amazing array of software). This makes it much easier to know what's available.

    Ideally you'll have a big disk carved up to hold different distros. Corel, Caldera and Mandrake are, IMHO, ideal distros for use as a desktop. Experiment with each distro. What is included? How does it look? Do you like the menu layouts and feel? We all know any Linux can be configured to do anything. The object of this experimentation is to find a distro whose standard install achieves your objectives with a minimum of extra configuration. For me that distro is Mandrake for a desktop machine (I'm still a Red Hat guy when it comes to server machines).

    And then there's the famous question -- what window manager? KDE, Gnome, or one of the small footprint window managers like fvwm2. This is a "religous war" type question, so talk to lots of people and experiment before making up your mind. Once chosen, you'll probably keep that window manager for a long, long time. I've chosen KDE, and therefore most of the content of this issue of Troubleshooting Professional is KDE-centric. KDE is a good choice because it's probably the most "user friendly". But then again, Gnome has certain technical superiorities, and it's pure, 100% GPL -- always a good thing. If you're a hardcore hacker you might enjoy one of the small footprint windows managers, although they carry the disadvantage of being rarely used.

    Your experimental evaluations should include Internet connection, web surfing and emailing. For email experimentation it's best, if possible, to obtain a temporary free email account so you don't inadvertently lose email from your "real" account. Naturally once you understand how to email from Linux and have made the transition, you can use your "real" account.

    When it comes to website authoring, most Linux distributions come with Netscape, and Netscape comes with a website creation tool called "Composer". All Linux distributions come with text editors, several of which are as "user friendly" as Windows Notepad, and a whole lot more useful.

    Application Survey

    Once you've evaluated different distros and window managers, and seen what each has to offer, you need to fill in the blanks.  Those blanks depend on what you do with your computer on a day to day basis. Most modern distros come with Internet phone connections, web surfing, email, and web page authoring. All Linux distros also come with a stunning variety of programming languages, including C, C++, Java, Python, Perl, tcl/tk, and awk.

    You'll doubtlessly need some applications beyond those listed in the preceding paragraph. Here are some other programs you may or may not need:

    Word Processor, Spreadsheet, Presentation Program

    These fall under the heading of an "office suite". Todays most well known choices are: StarOffice is zero-cost (very different from Open Source) from Sun. It's reasonably good (in fact, very good), and it imports Microsoft Office docs fairly well. Although you can download it free from Sun, it's a huge download. Your best bet is to obtain StarOffice on a CD. For most people, StarOffice fills their office suite requirements.

    WordPerfect is a proprietary program. The word processor cost around $70.00, very reasonable. Very soon now WordPerfect is coming out with an entire office suite for Linux, which I believe will be in the $200.00 range -- also reasonable. WordPerfect has been around for years, and their software has been continuously improved, starting with DOS, moving on to Windows, and now to Linux. You also get Corel Draw with the office suite -- a mighty good vector graphics drawing program.

    I know little of Applixware. It's a proprietary program which I believe to be in the $100.00 range for the standard edition. There's an enhanced edition featuring a development environment I've heard is great, but I honestly know little of it. Applixware is definitely worth investigation.

    By now you might be asking "where's the Open Source office suite?". It's called Koffice. Koffice is alpha right now, so you certainly wouldn't base your business work product on it. But for a home computer -- why not. I'd expect Koffice to get nothing but better in the next year.

    Four great choices. Unfortunately (and it really pains me to say this), as a writer I'll be sticking with MS Word for awhile, due to its outline view feature. WordPerfect can function as an outliner, but unlike MS Word, WordPerfect cannot switch an entire manuscript between freeform display and a hierarchial display. For most people this isn't an issue. If you just use outlines as outlines, WordPerfect's outlining features are perfect for you.

    While on the subject of outlining, let's discuss Klyx. Klyx is a style driven publishing program ideal book layout. Klyx has an "Edit Document Structure" feature resembling MS Word's outline view. Unfortunately that feature does not allow the easy insertion of new headlines. If it did, it could pretty much replace MS Word. Klyx also has two other minor problems -- it's hard to import and export to and from different document formats, and it's not perfectly WYSIWYG, requiring a postscript preview to see the exact format of the document. Klyx is a wonderful document layout program you should investigate thoroughly.

    Vector graphics drawing program

    The quickest path to acceptable graphics for a non-artist is through a vector graphics program. "Vector" refers to the fact that a circle is handled as a circle, not as a series of dots or pixels. That means you can draw a car by creating a rounded rectangle and four circles, then putting the circles where the cars tires would be, and maybe using another rounded rectangle for the passenger compartment.

    Vector graphics programs are object oriented art. You can put pieces together, modify pieces, and the like. An acceptable vector graphics program can draw rectangles and ovals which can be color or pattern filled, resized, and stretched. Additionally, any single object should be editable, meaning its points should be able to be moved and the curves at those points adjusted. If it weren't for the curve adjustment, Killustrator that comes with most Linux distros would be perfect. Killustrator is adequate for moderately complex flowcharts, but it misses the mark when drawing things like people or household objects.

    Corel Draw will soon be available for Linux. Corel Draw is the Cadillac of the vector graphics industry. It comes with clipart to springboard your efforts (check whether you have license to ues the clipart in books and websites). If you do a lot of drawing, get Corel Draw.

    There are other vector graphics programs available for Linux, including tgif and dia.

    Simple bitmap graphics "paint" program

    You'll have to pry Paintshop Pro, version 3, out of my cold, dead hands. JASC, the makers of Paintshop pro, long ago disabled the two features that made it wonderful -- resizable selections and pixel-width gridlines at magnifications greater than 10. Unless you have a copy of Paintshop pro version 3, in my opinion you do not have a useful pixel drawing and touchup tool for Windows.

    The about the same in Linux. Few good simple bitmap graphics programs. Fortunately, and incredibly powerful graphics program, Gimp, can be used easily for screenshots and the like. I used Gimp to crop all the screenshots in this web page. You'll notice that in some articles the cropping is better than others. As I got experience, my accuracy got much better. The Gimp is the first adequate replacement for Paintshop Pro, version 3, that I've seen on any platform.

    Complex bitmap graphics creation program (Gimp)

    Several folks whose opinions I trust put Gimp, the Open Source graphics program shipped with most Linux distros, in the same league with Photoshop. It's a professional grade graphic creation program. When used professionally, it isn't simple, involving layers and channels and transforms and all sorts of other stuff I don't understand.  It's fairly easy to use as a simple bitmap graphics program.

    Outline processor

    Right now the best Linux outline processor is WordPerfect. It isn't an "outline view" like MS Word, but it's excellent for just plain outlines which can later be converted (one time, one way) to a table of contents via a macro.

    Linux has recently progressed past the point of no return. What I mean by that is it's no longer limited by a lack of applications, meaning more applications vendors will target Linux. This is made even truer by the fact that the Department of Justice suit is preventing Microsoft from retaliation against those who target Linux. I'd expect several good Linux Compatible outline processors to appear in the next year or so.

    Summary

    Most Linux distros unfortunately don't come with a word processor, meaning you'll need to load one. Simple desktop activities (ppp, web surfing, email, text editing, wordprocessing new files, fax, spreadsheets -- graphics, legacy word processing and legacy peripherals still on a Windows box)
    Steve Litt can be reached at Steve Litt's email address.

    Linux Application Equivalents

    By Steve Litt
    The following chart displays some Linux equivalents to tools used in Windows. Some are more equivalent than others. Where appropriate, details are given.

    NOTE! Most modern distros allow you to choose a "window manager" at logon time. Take a day to experiment with all of them. For one thing, you might find one you like better than KDE (and it might not be Gnome). For another thing, each window manager has a different menu structure with different selections. It wasn't until I used the Windowmaker window manager that I realized I had Abiword, gftp, ncftp, and Gunermic on my system. Spend a day exploring all your window managers -- you'll never regret it.

    Windowmaker has an especially complete menu system. There's no start button, instead you click on the desktop. Because menus grow down and to the right, you should right click toward the top right portion of the screen. Middleclicking the desktop (or right and left clicking in 3 button emulation) brings up a list of open programs. Leftclicking the desktop does nothing. Once you've pulled up a menu, you navigate it by left clicking its items.



     
    Windows app Linux App Details
    Windows Explorer gfm, kfm, KRuiser, XFM kmf is wonderful, except it's harder to set it up to run the proper program on doubleclick. I haven't quite figured that out, but when I do, it will be better than Windows Explorer.
    MS Word WordPerfect, StarOffice, KWord, Klyx None have MSWord's outline view, but WordPerfect has an outliner. WordPerfect and StarOffice can import .doc files reasonably well. This may not be true of new versions as UCITA's anti-reverse-engineering provisions become the law of the land. Switch now, while the switching is good.
    Excel WordPerfect Office (quatropro), StarOffice, Gnumeric, Wingz For the simple spreadsheet apps I do, these are all pretty much interchangeable. Gnumeric is a very nice GPL spreadsheet that probably is bundled with your Linux distro. Wingz is a proprietary product, suggested by a T.C visitor, with which I'm not yet familiar.
    MS Powerpoint WordPerfect Office Suite, StarOffice, the htmlslides project I haven't used WP Office. Star does a fairly nice job of presentations, but complex Powerpoint presentations don't import just right. I always use htmlslides so my presentations are portable to any browser equipped box. I've used htmlslides for my last two presentations, and I'll never go back to "presentation managers" again.
    Quicken, MS Money cbb I've never used cbb, so I can't comment.
    MS Frontpage, Netscape Composer, Adobe Pagemill Netscape Composer, Amaya, Quanta Netscape Composer is by far the fastest way to pound out prose to the net. It's just as good on Linux as it is on Windows. Use it. But what about frames and forms and other stuff that composer doesn't do? Use Amaya to create html files with those things, then use vi to cut and paste into your composer generated HTML. Don't worry, Composer respects codes it doesn't know. Quanta is a code editor rather than wysiwyg, and has uses, but it isn't for pounding out fast verbiage. Note that Amaya has some serious issues making it imperfect for high volume verbal HTML authoring. Netscape Composer still rules.
    MS Internet Explorer, Netscape Navigator Netscape Navigator, Amaya The original is still the best. Netscape renders the vast majority of today's web pages the way the designer intended them to be rendered, whether or not they are faithful to the HTML standard. Amaya does things the user would consider wierd with non-conformant pages. Internet Explorer doesn't exist on Linux -- no loss.
    MS Outlook, Netscape Mail, Eudora Kmail, Pine, Elm, Netscape Mail Outlook -- you've gotta be kidding. Almost anything is better than Microsoft's contagion spreader. Kmail rocks -- a very friendly mail client with filters and folders. It's look and feel will be very familiar to Eudora users. Pine, Elm, etc are great for the command line crowd.
    wsFTP, LeechFTP gFtp, ncFtp I haven't yet used ncFtp, but gFtp rocks. It's identical to wsFTP except it doesn't have intelligent switching between ascii and binary transfer (but why would you want that on a Linux system unless your web host is NT or W2K?
    Paintshop Pro 3 Gimp Paintshop Pro 3 is the quickest little pixel editor, but Gimp isn't far behind in quickness, and of course it's way ahead in power and features. I tried some of the cutesy pixel editors and paint programs that come with KDE, and my advice is to go for the gold, get with the Gimp! All the screenshots in this issue of Troubleshooting Professional were cropped in Gimp.
    Micrografx Windows Draw, Corel Draw, Micrografx Designer (coming soon) Corel Draw for Linux. See also dia, tgif, Killustrator. Vector graphics is somewhat behind on Linux. The forthcoming Corel Draw will cure that. Killustrator is excellent for simple diagramming, but falls short due to inability to modify curves in existing shapes. I have friends who swear by dia and tgif, but I haven't tried them.
    Photoshop Gimp I'm no graphics artist, but people I respect say Gimp has all the power and features of Photoshop. Be aware, however, that Gimp isn't intuitive or easy. I recommend getting a good book before using Gimp for anything beyond screenshots and very simple graphics.
    Notepad kedit Both are amazingly intuitive, trivially simple, and unsuitable for programs over 400 lines. However, at least kedit doesn't truncate big files. I created a 37Mb text file with kedit. No Wordpad needed.
    Wordpad kedit for large files, Star Office or Abiword for cheap word processor Kedit does beautifully on large files. Kwrite word wraps, but only on input. Use StarOffice as a cheap (actually free (as in beer)) word processor. Or use Abiword as a free (as in speech) GNU GPL sans-styles word processor. Abiword is a very close replacement for Wordpad's
    Multiedit, other high end editors vi, emacs vi has incredible search and replace capabilities, macros, and many vi clones have rectangular cut and paste. Designed for the touch typist, vi is an incredibly fast editor. It has a fairly steep learning curve, but once learned it's perfect for any editing task on any file in any programming language, and has syntax help and compile and error showing for major languages.

    If vi isn't good enough for you, my friends tell me emacs is even more powerful.

    Winfax Pro hylafax, Kfax, Ksendfax I haven't used any of these, so I can't comment. Kfax and Ksendfax come with Mandrake (and maybe the other distros too).
    MS Visual Studio, visual C++, Visual J++  ------ If you like MFC, by all means stay with Windows. I've heard of nothing like it on Linux, and IMHO that's a good thing. And as far as Visual J++, why not get write-once run everywhere with the Real McCoy, Java. 

    If you want a good C++ compiler or a good Java compiler/interpreter, they come on your Linux install disk.

    Visual Basic Xbasic, Perl, Python Xbasic is an integrated GUI BASIC development environment first appearing in 1988. Perl and Python can easily handle the processing tasks of VB, although to produce a GUI environment they need to incorporate the tk widgets or other GUI tool.  The URLs of these programming languages are in this mag's URL's section.
    ASP PHP, Perl PHP is as powerful and easy as ASP. Perl isn't as easy as PHP, but it's more powerful and has many addons. Both hit databases with ease.
    Delphi Delphi Borland knows the future!
    -------- gcc, g++, perl, python, tcl/tk The best C and C++ compilers on the planet are available on Linux, BSD and UNIX. Python and Perl are ultraproductivity languages on UNIX, and are available on Windows, but they don't work nearly as well there. tcl/tk is a quick and dirty graphical app language that works best on Linux/BSD/UNIX.
    Java Java It's everywhere, as long as you don't require those cutesy "graphical development environments".
    Various sound programs Kmid, kmidi, kmp3, kmedia All of these function approximately like their Windows equivalents, except they're script friendly and can be run by programs accessing playlists. You can also download and use realaudio players.
    Other They have time tracking software, 
    Steve Litt can be reached at Steve Litt's email address.

    Parallel Transitioning with VNC

    This article, Parallel Transitioning with VNC, has been temporarily moved to conserve bandwidth. Click the above link to access it.

    Your Linux Desktop Internet Connection

    This article, Your Linux Desktop Internet Connection, has been temporarily moved to conserve bandwidth. Click the above link to access it.

    Hot Tips for Linux Desktop Productivity

    By Steve Litt
    Pssst: Want some hot tips?

    How to Get to a Console Screen

    You probably know this, but to get to a console screen (you know, 80 characters by 25 lines, full screen, no gui, press Ctrl-Alt-F2. Actually, you can do that with any function key between F1 and F6. If you started XFree86 with a startx command, one of those "virtual terminals" will be consumed with the Xfree86 program.

    To go back to your GUI screen, press Ctrl-Alt-F7. On Caldera, for some reason, it's Ctrl-Alt-F8.

    How to Bail Out of X

    Occasionally, if something is configured wrong, you'll overdrive your monitor. That typically looks like an ancient TV that's lost horizontal sync, and has diagonal stripes going across. If a monitor is overdriven for a long time (and nobody's ever defined "long" in this regard), it can physically and permanently damage your monitor. This also happens in Windows.

    In Windows you can't easily fix the problem, because you can't see the video config screen to change it. In Linux you simply press the Ctrl-Alt-Backspace combination and it will kill your X session. You can then fix your X configuration by editing /etc/X11/XF86Config, or by running Xconfigurator, or other various command line config tools.

    How To Run a Second Complete X Environment

    I'd like to thank Billy Ball, co-main-author of Red Hat Linux Unleashed for this one. You can run a second X session with the following command:
    startx -- :1 vt8
    The preceding command runs on localhost:1 (hence the :1). The vt8 designation says run it on virtual terminal 8, which is accessed with the Ctrl-Alt-F8 combination. Note that on Caldera boxes you'd need to change things a little, since Ctrl-Alt-F8 is already consumed.

    You might want to run at a different color depth. No problem. Use the -bpp option to specify the bits of color:

    startx -- :1 -bpp 16 vt8
    The preceding specified a 16 bit color screen, due to the -bpp 16 option. Note that to run this, it must be supportable in your XF86Config file and by your monitor. Tweaking that file is beyond the scope of this Troubleshooting Professional. However, if you manage to get your X to display only 16 colors, shooting screens off this low color depth screen can eliminate the color reduction step and any color distortion it might introduce, although it might produce ugly screenshots.

    Another use of this second X server is to run it under a different user. Whatever user ran the startx command will be the user for the new virtual terminal.

    Linux Desktop Directory Structure

    Linux has no drive letters, so you can't have a drive D: for data. But you sure can have a directory /d, below which all data resides. I highly recommend this. If only one person uses this machine, or if all users can be trusted with all the data, make a group called hometeam, and make /d accessible by that group. Make all local users members of that group, and make any legitimate Samba users members of that group. Now do the following:
    chown root.hometeam /d
    chmod 2770 /d
    Now any file or directory created in /d has group hometeam, so it can be read and written by all other members of the group. For ultimate data reliability, you may wish to put /d on its own partition, and for ultimate reliability and upgrade ease its own physical drive.

    If several people use the data, and they each have their own private data, you may wish each to have his own directory below /d:

    /d
     |--Jack
     |--Jill
     |--Mary
     `--Lamb
    Now only root can access other people's data. If you want read access either the directories can be chmod 744, or you can use the previously described hometeam group for read permission, and make the directories chmod 740.

    Now you can use tar or some other backup product to back up all the data with a single command.

    Another directory you'll need is /inst, where you put all the installation files you'll need to rebuild your system. While theoretically you could simply download all the installation files again, certain needed programs become unavailable over time. In the DOS world, I'd be in big trouble if I lost my Grandview outline processor -- hundreds of outlines would become unreadable. Grandview is no longer sold. Same is true for Micrografx Windows Draw, Microlytics WordFind, and PaintShop Pro version 3, 32 bit. Data under the /inst directory is slow-changing and large, so a monthly backup of that directory is probably sufficient.

    If your /d tree starts to exceed the size of your backup media, you may wish to split out slow moving data. Such things as work for old clients is an example. You could have a /classic directory for that kind of thing, and have subdirectories under it in case the classic directory itself begins to exceed your media size.

    You might wonder why I don't advocate keeping data in people's home directory. It's because by the default nature of the home directory, it accumulates all sorts of large junk which would unnecessarily swamp a data backup. Your home directory functions sort of like the "my documents" directory in Windows -- a great temporary spot, but subject to all sorts of garbage, and removal during OS reinstallation. The act of transferring a file to the /d tree is a recognition that the file is valuable data.

    Samba As a Migration Strategy

    Samba makes a great migration strategy, and an ideal way to transfer files across. Here's what you do on your desktop box:
     
    [global]
    workgroup = MYGROUP
    netbios name=mydesk
    encrypt passwords = yes
    hosts allow = 192.168.100. 127.
    
    ## UNCOMMENT FOLLOWING IF THERE'S
    ## ANOTHER SAMBA/WINS SERVER 
    #os level = 0
    ## UNCOMMENT PRECEDING IF THERE'S
    ## ANOTHER SAMBA/WINS SERVER ##
    
    ## UNCOMMENT FOLLOWING IF THERE'S
    ## NO OTHER SAMBA/WINS/DOMAIN SERVER
    os level = 255
    wins support = yes
    local master = yes
    preferred master = yes
    domain master = yes
    ## UNCOMMENT PRECEDING IF THERE'S
    ## NO OTHER SAMBA/WINS/DOMAIN SERVER ##
    
    [homes]
    browseable = no
    read only = no
    oplocks = no
    level2 oplocks = no
    
    [d]
    path = /d
    valid users = @hometeam
    read only = no
    oplocks=no
    level2 oplocks = no

    Note that I've set oplocks and level2 oplocks to NO. That's because in a typical Windows/Linux transition, you'll be accessing files on your Windows box that you've modified in Linux, and the caching provided by oplocks will hide those modifications, thus promoting overwriting of those modifications if the Windows program saves its data. If you have a 100mb Ethernet environment with a small number of users, you don't need the caching provided by oplocks.

    Don't forget to use testparm at every opportunity, and repair any warnings or errors. You can learn more about Samba from the Troubleshooters.Com samba page, from the Samba Project's web pages and mailing lists, and from my book, Samba Unleashed.

    The one "problem" with Samba is that it does no crlf->lf translation. If you massively transfer data via Samba, you'll need to run a translation script on all text files (and of course you don't necessarily know which files are text files). The following script, called nocr, has some safety features to avoid running it on everything including binary files. You should modify this program to make it safer -- it's not quite ready for prime time from a data safety point of view, but it does croak on a '*' extension, or if you put in any kind of wildcard globbed by bash -- it accepts only args in quotes:
     
    #!/bin/sh
    ##nocr: public domain, ABSOLUTELY NO WARRANTY
    ##Author(s) take absolutely no
    ##responsibility for any damage
    ##caused by this program --
    ##use entirely at your own risk.
    
    usage() {
      echo "usage: nocr 'filespec' 'extension'"
      echo Single quotes must be used \
       around both arguments.
      echo Extension does not include the dot.
      echo Wildcards not acceptable \
       in extension.
      echo
    }
    
    convert_one() {
      tempfile="temp214.tmp";
      rm -f $tempfile;
      [ -f $tempfile ] || {
        cp $1 $tempfile;
        [ -f $tempfile ] && {
          echo converting $1;
    
          ## CAREFUL! IN FOLLOWING LINE, \
          ^M must be a single char
          ##  NOT A CARAT FOLLOWED BY AN M
          ##  YOU MUST FIX IT IF YOU COPY \
          THIS SOURCE DIRECTLY FROM MY WEB PAGE
          cat $tempfile | sed -e "s/^M$//" > $1
        }
      }
    }
    
    convert_them() {
      while [ $1 ] ; do
        convert_one $1;
        shift;
      done
    }
    
    ##### main routine below #####
    echo
    [ $# == 2 ] || {   
      echo wrong number of args, \
       or single quotes not used;
      usage;
      exit;
    }
    
    [ "$2" == "*" ] || [ "$2" == "?" ]  && {
      echo "Bad extension: $2";
      usage;
      exit;
    }
    
    filespec="$1.$2";
    echo "Files to convert: $filespec";
    echo
    convert_them $filespec;
    echo 

    In the preceding script, look at the usage() function to see how it's used. It takes exactly two quote-surrounded args, a filename and an extension. The theory is that typically the filename is a wildcard but the extension isn't. You want to avoid, at all cost, converting binary files. Be very careful when using the preceding script.

    Using VNC for Tutoring

    You can use VNC for tutoring. Simply run vncviewer with the -shared option in each place, and you can have several computers operate the screen. For instance, if the student is on linbox1 and the instructor is on linbox2, the vncserver is run on linbox1, and the vncviewer on each box is run with the -shared option. The student operates the mouse and keyboard, but the instructor can step in and operate them also.

    For passive learning, use the -viewonly option on the student machine's vncviewer, which is now aimed at a VNC server on the instructor machine. Now it's practical for the instructor to teach 40 students. Once they've been shown the procedure, the students can switch to a vncviewer aimed at their own machine, and if they need assistance the instructor can vnc -shared into their local machine and help them.

    All this is done on reasonably priced commodity machines, or maybe even handmedowns, with absolutely no software cost.

    Moving Windows Around

    Have you noticed that your KDE windows often fall off the screen, or are too big for the screen and you can't see the buttons at the bottom, or the titlebar is covered by the panel (equivelent of the taskbar in Windows) so you can't move the window? This becomes a non-issue once you discover the quick and easy way to move windows around. Simply press the Alt key and leftclick/drag any place on the window, and the window will move. Try it, you'll like it.

    Making Screenshots

    If you do a lot of tech writing like I do, and especially if you publish on the web, you need accurately cropped, color reduced screenshots. This section discusses the three steps to doing that: Although this isn't discussed here, it's very easy to automate this entire process with a script. I leave that to your inginuity.

    Taking the Snap

    Taking a Linux screenshot is quick and easy. Start by setting up the shot by moving all extraneous windows out of the way, and putting the Window of interest in an icon free area of the desktop. Now you run your import command. Note that if you're capturing a menu you'll need to run this command from a telnet session. In any case, you must be logged in as the same user logged into the GUI session. Here's the command:
    import -window root -display localhost:0 whatever.png
    The preceding command snaps the entire desktop (-window root) of display 0 of localhost, saving it off to whatever.png. Obvously you'll name the file appropriately. This is not limited to .png files -- almost any common graphic standard is supported. This is the power of UNIX!

    You might wonder why I didn't use import to reduce the colors (and therefore bandwidth). Color reduction should never be done before cropping. You might also wonder why I didn't eliminate the -window root, thereby enabling me to click on the window to be snapped. The answer is that import for some reason cuts off the title bar. I could have used the command sans the -window option and then dragged a rectangle around the window, but that requires cropping just like the full screen method. You might also wonder why I didn't use Ksnapshot, a KDE utility that *does* grab the window's title bar very nicely, thus eliminating the cropping step. The reason is that when all is said and done, using Ksnapshot turned out to be more work, not less.

    So after running the import command, you have a file called whatever.png that contains the full desktop at a very high color depth. This must be cropped and color reduced.

    Cropping the Snap

    Pull whatever.png up in Gimp. Press Shift-C on the keyboard to begin a crop, and drag an area around the window or menu or other point of interest. Make sure the area is "loose", meaning it includes material outside the needed window or whatever. Now press the crop button, and the image is cropped to the area of interest plus a small extraneous area around it. Elapsed time, maybe 10 seconds. Now go in for the accurate crop.

    Press the equal sign on the keyboard several times (8 is good), to magnify the image. Use the scroll bars to get to the upper left corner of the image where you can see the upper left corner of the area of interest. Press Shift-C on the keyboard, and position the centers of the crosshair arms to coincide with the edges of the area of interest. Press the left mouse button and drag right and down. Note that the entire screen scrolls as you drag. Drag until you can position the center of the crosshairs on the edges comprising the lower right corner, then release the mouse button. Click the crop button, and you've cropped accurately to the pixel. The fact that you magnified the screen with the equal sign is what allowed you to-the-pixel accuracy. Now reduce magnification by repeated presses of the minus key. Save the image.

    You've reduced the area to what you want, but bandwidth considerations require a reduction to 16 colors, and that's not intuitive or easy. Read on...

    Color Reducing the Snap

    Create the following script. I call it reduce16.sh:
     
    #!/bin/sh
    convert -depth 24  $1 $1
    convert -depth 16  $1 $1
    convert -depth  8  $1 $1
    convert -colors  16   $1 $1

    The preceding script takes a graphic file as its single argument. It reduces it to 24 bit color, then 16, then 8, then finally down to 16 total colors. Why all the steps when the very last statement would do the entire reduction?

    The problem is that this reduction is accomplished by algorithms that map similar colors together. If it needs to map thousands of colors down to 16, some very bad compromises will be made. But if it maps thousands to hundreds to 256 to 16, there will be no drastic mappings, and each step will do the right thing.

    In fact, if you reduce directly to 16, the graphic might look pretty good in Gimp or Paintshop pro, but very bad in Netscape, where you really want it to look good. So run the graphic through reduce16.sh, and it will be perfect for a web based screenshot.

    Steve Litt can be reached at Steve Litt's email address.

    Hot Off the Presses: Judge Jackson Busts Up the Microsoft Monopoly

    By Steve Litt
    Divestiture. Has the English language ever had such a pretty word? It's like "food" to a starving man, or "bed" to a weary traveler. It's the years' held fantasy of the developer sick to death of putting out bad product because he's forced to use bad tools. Divestiture. It brings hope that maybe the best products will be allowed to survive to adulthood, for the first time in ten years. Divestiture. No longer will one man control everything. Divestiture. It's no less than justice. Divestiture. Finally!

    It's June 7, 2000, and Judge Jackson has ruled. Quoting from http://usvms.gpo.gov/ms-final2.html:
     
    Upon the record at trial and all prior and subsequent proceedings herein, it is this _____ day of June, 2000, hereby: 
     

    ORDERED, ADJUDGED, AND DECREED as follows: 

    1.    Divestiture 
     

         a.    Not later than four months after entry of this Final Judgment, Microsoft shall submit to the Court and the Plaintiffs a
         proposed plan of divestiture. 

    Judge Jackson busted them into an OS unit and an Apps unit. Not as good as the friend-of-the-court suggestions of a third unit housing their Internet assets, to prevent them from making Internet products requiring either MS Office or Windows. But better than nothing. Maybe, just maybe, there will be no more secret API's.

    http://usvms.gpo.gov/ms-final2.html is the final judgement against Microsoft. Web page http://usvms.gpo.gov/ms-final.html is a MEMORANDUM AND ORDER that denies Microsoft's motion for summary rejection of the plaintiffs' proposed structural
    reorganization, thereby enforcing the final judgement. I'd like show you some quotes out of the memorandum and order:

    URL's for the various decisions by Judge Jackson are in the URL's section of this issue of Troubleshooting Professional.

    Divestiture. Just punishment for Microsoft. Justice for the rest of us.

    Now there will be those who wring their hands and declare that now procuring software requires more work and planning than in a one vendor model. There are always those happiest led by a king, no matter how cruel he be. Freedom requires work. But for most of us, it's more than worth it. That's why democracies rule the 21st century, not kings.

    Those of us believing in freedom now have the responsibility to run with the ball. Bring Open Source into the Enterprise. Run Linux servers and desktops. Find alternatives for the software proffered by the former king. Break all dependence on the king and his court.

    Step 10 of the Universal Troubleshooting Process is "Prevent future occurrance". We must prevent future software monopolies, not just by Microsoft, but by others. We, as individuals and as a technological society, must follow the harder path of choosing the best technology, not the moment's most expedient. We must refrain from silly excuses like "that's the way the real world works", implying that the idealist wanting the best product should "grow up". Freedom is a responsibility that is sometimes difficult, but ultimately the cost of the convenience of the moment exclipses the benefit of easier choices.

    We must all do our part. Use the best software, not the software that's most convenient at the moment. Support those who choose to use the best software. Stand up and say no sto those who would monopolize. Otherwise, we have no one to blame but ourselves.

    Steve Litt can be reached at Steve Litt's email address.
     

    Linux Log: I'm Bringin My Box

    Linux Log is now a regular column in Troubleshooting Professional Magazine, authored by Steve Litt. Each month we'll explore a facet of Linux as it relates to that month's theme.
    This month's Linux Log is a poem called "I'm Bringin My Box". Enjoy!
     
    I'm Bringin My Box
    Copyright (C) 2000 by Steve Litt

    A computer is called a "box" at my LUG
    At meetings we hack and code and debug
    We set up our networks, don't look at no clocks
    Our battle cry sounds, "I'm bringing my box".

    Samba, Apache, and VNC
    Let's all decide on the night's IP
    Hubs and wires to connect the flocks
    Count on a server, I'm bringin my box.

    The Windows guys just don't understand
    they still hold their meetings dry as sand
    We Linux guys are code whomping jocks
    Code is a good thing, I'm bringin my box.

    My local LUG's meeting is soon coming up
    I'm as excited as a month old pup
    My latest revision implements locks,
    Check it out people, I'm bringin my box.

    You say VB doesn't light your fire
    a coding alternative is what you desire
    Try Perl's antidote for the Microsoft pox
    And prepare to code, I'm bringin my box.

    I telnet to Joe, Tom VNC's me
    We're one big wired IP family
    I plug in whenever opportunity knocks
    Leave a port open, I'm bringin my box.

    My fast Linux apps always carry the load
    Yet Microsoft claims to have the best code
    Bill Gates still believes he's as smart as a fox
    Step aside Billy, I'm bringin my box.

    Our members are smart, the smartest around
    Linux with XML, wireless and sound
    Their antics and breakthroughs will knock off your socks
    I gotta take notes, I'm bringin my box.

    Hope to see you at our next meeting
    Get there early for adequate seating
    Everyone plays and the place really rocks
    So prepare to have fun, come bringin your box.

    Steve Litt is a member of Linux Enthusiasts and Professionals of Central Florida (LEAP-CF). He can be reached at Steve Litt's email address.

    Letters to the Editor

    All letters become the property of the publisher (Steve Litt), and may be edited for clarity or brevity. We especially welcome additions, clarifications, corrections or flames from vendors whose products have been reviewed in this magazine. We reserve the right to not publish letters we deem in bad taste (bad language, obscenity, hate, lewd, violence, etc.).
    Submit letters to the editor to Steve Litt's email address, and be sure the subject reads "Letter to the Editor". We regret that we cannot return your letter, so please make a copy of it for future reference.

    How to Submit an Article

    We anticipate two to five articles per issue, with issues coming out monthly. We look for articles that pertain to the Troubleshooting Process, or articles on tools, equipment or systems with a Troubleshooting slant. This can be done as an essay, with humor, with a case study, or some other literary device. A Troubleshooting poem would be nice. Submissions may mention a specific product, but must be useful without the purchase of that product. Content must greatly overpower advertising. Submissions should be between 250 and 2000 words long.

    By submitting content, you give Troubleshooters.Com the non-exclusive, perpetual right to publish it on Troubleshooters.Com or any A3B3 website. Other than that, you retain the copyright and sole right to sell or give it away elsewhere. Troubleshooters.Com will acknowledge you as the author and, if you request, will display your copyright notice and/or a "reprinted by permission of author" notice. Obviously, you must be the copyright holder and must be legally able to grant us this perpetual right. We do not currently pay for articles.

    Troubleshooters.Com reserves the right to edit any submission for clarity or brevity. Any published article will include a two sentence description of the author, a hypertext link to his or her email, and a phone number if desired. Upon request, we will include a hypertext link, at the end of the magazine issue, to the author's website, providing that website meets the Troubleshooters.Com criteria for links and that the author's website first links to Troubleshooters.Com. Authors: please understand we can't place hyperlinks inside articles. If we did, only the first article would be read, and we can't place every article first.

    Submissions should be emailed to Steve Litt's email address, with subject line Article Submission. The first paragraph of your message should read as follows (unless other arrangements are previously made in writing):

    I (your name), am submitting this article for possible publication in Troubleshooters.Com. I understand that by submitting this article I am giving the publisher, Steve Litt, perpetual license to publish this article on Troubleshooters.Com or any other A3B3 website. Other than the preceding sentence, I understand that I retain the copyright and full, complete and exclusive right to sell or give away this article. I acknowledge that Steve Litt reserves the right to edit my submission for clarity or brevity. I certify that I wrote this submission and no part of it is owned by, written by or copyrighted by others.
    After that paragraph, write the title, text of the article, and a two sentence description of the author.
     

    URLs Mentioned in this Issue