Thursday, December 23, 2004

Documentation and getting help

One of the biggest challenges for new Linux users is finding information and getting help with programs. If you have some Linux experience and just want to know what options a program has you can often type something like:

heroes3 -h

Heroes 3 happens to be the Linux version of Heroes of Might and Magic III. The -h switch prints out other switches heroes3 can take on the command line. This comes in handy if you're looking for an option like running heroes3 in fullscreen or windowed mode.

The standard way of learning more about a package is to look at its manual page. To look at the manual page for a program type:

man heroes3

Not every program will have a manual page. In our case heroes3 does not, but most tools and command line programs will. A related, but longer information document, can sometimes be found by typing:

info heroes3

Because there is no information page for heroes3, info loads the standard info file which displays in the information files for standard utilities like the bash shell.
There are a few places on a Linux system that might prove helpful because they often hold a number of different documentation sources.

/usr/share/doc

On my S.u.S.E. system this directory contains HOWTO help files, books, packages, some tour files, and administrative documentation. If you browse through all the sub-directories in /usr/share/doc you'll notice that there is nothing for heroes3. Because heroes3 is not a part of a standard Linux distribution it smartly puts itself in a separate directory:

/usr/local/games/Heroes3

Look to /usr/local for programs and information that is not a part of the typical distribution. Lastly, don't forget that if you install a package from a rpm package you can always do a:

rpm -ql packagename | more

This will list where all the files from the package are stored. If there are help files you'll be able to see where they're stored.

Over the past decade there has been a trend towards downsizing documentation in the software industry. When I first started selling software for a small computer shop back in 1987 many programs came bound in a small binder that had movable documentation pages – this was truly a great way of providing documentation because you could put pages you used most at the first. After that documentation seemed get thinner and thinner, witness the documentation included with Windows 95, a book that wasn't even a quarter inch thick. Many people feel this is a good thing, you should be able to just use an operating system without reading a big book, but I don't. Because of this mentality we've become less educated about what's going on behind the scenes. Many Microsoft Windows users don't realized that MS Windows comes with a lot of software that is not a part of the start menu. I've been reading Adler's How to Read a Book again, and as I was also reading through Linux Programming much of what Adler says about reading for information and understanding became more apparent. Knowing a bit about source code files, library files, etc., gave me a bit more understanding about what's on my system. I would encourage you to read as widely as possible about your system – you'll find that the more you know, the more enjoyable Linux will be to use.

No comments: