Linux Space Station Raven - SSR-02

(C) Graham Swallow version -1b, gen 1996-07-29 00:34, gps@trix.dircon.co.uk

Issue Two - Various Fun Stuff

1 Issue-2

Greetings, this is Issue-2. It is all about getting to grips with X11 and Linux, if you have never seen them before.

It isn’t a waterproof beginners guide to solve all your problems, it is meant to be helpful, and give you a few projects to do maybe whilst waiting for your Internet connection to make sesnse.

If you are in a hurry to get FAX, EMAIL or Internet COMMS working, you should locate Issue-3. I presume you have read Issue-1, and have installed Linux (eg Slackware). Other distributions are very similar, but may differ in how the configuration scripts are arranged, and where they get their parameters from, (where their configuration files are).

I have included several topics that aren’t available on your CDROM’s, which DO require Internet access, but you should be able to notice that these files aren’t on your CD’s and skip them. If you have Internet access via work, or a friend, then get them!

1.1 Copywrite

Raven is a £3 shareware e-zine, that you try-before-you-buy. See Base Station Zero for more details on the Copywrite, DISCLAIMER, Downloading, distributing and how to read this if your browser can’t.

1.2 Raven costs money!

I have tried to make Raven as OPEN as possible, but it remains a ”commercial” product. You are free to evaluate it, and I hope that you think that it is WORTH buying.

One of Raven’s design ”features”, which is sadly lacking in this world of commercial exploitation, is that you know your money goes to the actual author, not the paper mills, printers, post office or shops.

That is why there is a ”£3 plus costs” price tag. See Base Station Zero.

Please support this style of manufacture, by stepping forward and chosing to pay. Doing so, encourages me (and others) to spend a lot of time bringing this to you.

If you prefer to pay via your favourite supplier, please do so. They will ADD a bit to the cost, but make it more convenient.

Some people have complained that the production quality is not sufficient, arguing that for the same money, they can get a glossy printed magazine, with cover CD (of lots of MS-DOS demos).

Whilst I agree, that Raven has many faults, and I wish to improve it in many ways, the fact remains (in my opinion, and maybe yours) Raven has the content.

The choice is yours, and it is a simple one. Even with it’s spilling mistakes, do you want Raven or not?

1.3 Raven Registration List

This is about 6 months downstream, but I hope to offer an online registration system, that is both convenient and secure.

If you don’t want your details to appear, it will be totally anonymous (except for town name?). However, I need your details NOW to validate any on-line registration as being really YOU.

You will be able to confirm that payment has arrived, which Issues you have paid for, edit the details that are advertised about you (eg none), or even update your current business card (URL), or secret email address.

I need:

• Your Full Name

• Your Address

• Your EMAIL address (if you have one).

• Your brothers birthday (or some Q+A password)

Send them, along with a UK cheque to

        Graham Swallow
        87 Burley Road
        Bransgore
        Hants
        BH23 8BA
        United Kingdom

NB Simply stuffing cash or travellers cheques into an envelope is NOT a good idea. (Yes I do need the money!)

2 User gps

Add yourself as a user so that you only need root access occasionally (in another Virtual Console) - Use ALT-F2 to switch to the second, CRTL-ALT-F2 within X11.

Learning not to be root is an uphill struggle. It saves you hassle later when you (don’t) have to chown your own files.

It also allows others to use your system without needing the root password to access floppies, cd’s, modems (etc).

IE when you go on holiday, you can leave the system password in a sealed envelope, and find it unopened on return!

There are times when you do need root permission, eg reconfiguring TCP/IP, when establishng a PPP or SLIP connection. This is the difference between a a workstation, where you are the boss, and a shared Unix server, where you are a ”plain” user. It is possible to configure your system, so that you don’t need to know the root password (see dial ppp in Issue-3 for when connecting), but for now a second window open as root should be enough.

2.1 File permission

I don’t want to duplicate the chown man page, or LDP User Guide, but:

Every file has a single owner (UID) and group owner (GID) and access permission bits (-rwx rwx rwx), arranged as user-group-other.

Every user has a UID number, as specified in /etc/passwd, a primary group number (specified in /etc/passwd) and a list of extra groups (see /etc/group). /etc/group and /etc/passwd convert from numbers to names.

Actually UNIX and Linux (Linux is not UNIX, that is a trade mark), work internally using numbers. When you login, your username is used to select your UID, and your main login shell process starts running as that UID.

Your process is given and keeps your UID. Every sub-process you start has that UID. Ditto for GID, and list of secondary groups. It is the kernel that enforces this scheme, by checking the permissions every time you open a file, or make a special system call.

If the process accessing the file has the same UID as the file, then the user rwx (read-write-execute) bits are tried FIRST.

If the process accessing the file has GID (or can get it from its login owners group list), the group rwx bits apply.

If neither of those worked, the accessing process is not the files user, or a member of that group, the other rwx bits apply.

The Three lots of 3 bits are usually written in octal (the one place I can stand octal), so an executable script is usually 775 or 755, depending on whether the group is allowed to write the file, or just read it. Plain data files are ususlly 664, 644, 640 or 600. Files you really don’t want to accidently mess with are ususally 444 or 400.

Other bits are also possible, but less often used. See man chmod(1) chmod(2) stat(2).

Pay special attention to system files that contain passwords to other systems, eg your dial-in ISP.dip script contains your password to access the ISP’s machine. If someone gets that, they can login to your ISP as you, take your email, send email as you, and you might never know.

The best cure for that, is for the ISP to log the calling phone number of every caller, and send you a list every week by email. That would also give a vital clue to tracing down whoever is doing the illegal access. I don’t think many ISP’s offer this service (yet). Ask.

2.2 Device Permissions

Every device also has permissions similar to files. These are applied when you OPEN the device (eg /dev/modem).

Being actual code, the device driver is able to find out more information about you, not just that you opened the device.

It can find out your UID, GID and PID. From the PID, a lot more can be found, such as your login terminal. That’s how /dev/tty works.

TCP/IP comes with a collection of virtual devices, called eth0, ppp0, sl0, lo. Although these have similar names they are NOT the same as /dev/eth0. You will ”always” need root permission to access them.

2.3 System Call Permissions

When you make a system call, the kernel code can enquire as to your UID (etc). In fact it is the open() call that checks your permissions when opening a file.

Most system calls, don’t do any checking, which is faster, because they offer the service to anyone. EG getting the system clock is a basic right of a program running on Linux.

However, setting the system clock, is something that only root should be able to do, so the syscall checks and enforces the permissions.

Noe that the permissions on the executable files have to be OK, then again for the system call. This is why the ”slattach” program, which calls the ”slattach()” function fails for non root users, even though they have permission to run the program.

TCP/IP reconfiguration, is a ”root controlled” thing, because other users might create a spoofing identity that leaves your system security in shreds.

2.4 adduser

If your system has it, use the adduser command, and follow the prompts. It edits /etc/passwd for you. See also /etc/group, and /etc/shadow if your system uses it.

Your login name is something daft, but unique, like gps (only different).

Your Full name will be posted in all Email headings, and such. It is a field in /etc/passwd.

Your GID is the default group (files you create will be group-owned by this GID).

You can be in any number of groups. When attempting to open a file, the kernel will cycle through the group list (NFS also?). This is done later by editing /etc/group. Your primary group is the one used to tag new files that you create.

You can use two commands to change the ownership of any file, these are chown and chgrp. chmod changes the mode of the file (eg read-only for you, the group, others).

        chown root      /var/log/messages

        chgrp root      /var/log/messages # group by same name !coinicdence
        chmod 600       /var/log/messages # ISP password often logged here

Your UID (number) should be unique to you, it identifies you for file access permissions and such.

Actually it is possible for several users to share the same UID, but have different login names, passwords and shells. You don’t normally want this.

Your $HOME dir is /home/gps. You can use a symbolic link to move it to another disk.

Your Shell is /bin/bash. Much like SVR4 /bin/sh (Bourne Again Shell), not at all like BSD /bin/csh. bash has command line editing and is a good standard shell.

Your Password is YOUR password. Root can change it with passwd gps, so can you, but you will have to prove you know the old one.

Is that Correct Y/N ? If you say N, you’ll have to type it all again.

If you don’t have the adduser command, you will have to edit the files manually. Other distibutions (such as Linux Universe and Linux-FT) have other utilities to help you with this, eg xadmin.

2.5 /etc/passwd

All that information is put in /etc/passwd, for all to read.

The password is encoded, only the correct password or a coincidence will generate the same encrypted checksum that is in /etc/passwd.

If this is a no-login user, such as lpd or nobody, edit /etc/passwd and put in a key that is not a legal crypted key. EG ’*’ or ’no-login’

The primary group is set here, files you create will have this GID.

The shell can be /bin/sh for a normal login, /bin/sh for a BBS login, or /bin/BBS-BINARY or even /bin/BBS-SCRIPT. If it is is blank, it defaults to /bin/sh.

A /bin/BBS-SCRIPT script must have #!/bin/sh (or other) as it’s first line, otherwise the kernel won’t be able to make sense of the script text. It can be any executable, such as /usr/bin/perl or /usr/bin/wish, not just /bin/sh.

The name of the script will be put into $SHELL as a sign of preference. Secure applications would check SHELL with /etc/passwd. You may have to edit /etc/shells, to use them as your login shell, or derived binary.

2.6 /etc/shadow

This isn’t used by the default Slackware, but you can switch to using it by replacing and re-configuring some system components. There is probably a FAQ somewhere.

The point is to remove the password-key from /etc/passwd, and put it in /etc/shadow, which only root can read. This stops hackers walking off with your list of crypted-password-keys, and finding the password by brute-force testing every combination of letters (or known previous passwords).

/etc/shadow also adds password age control parameters. ie you can automatically make users change passwords after 90 days.

2.7 /etc/group

This lists the NAMES of the groups (the kernel uses UID numbers internally), and lists group members (if not already in that group from /etc/passwd).

Add yourself to the any number of secondary groups, as:

        floppy::11:root,gps

You will probably have to logout and in again, for it to take effect.

2.8 /dev/fd0

To be able to re-format disks, and to mount them (unless the user tag is used in /etc/fstab), you need rw access to /dev/fd0. This should already be done as the device is 660 UID=root, GID=floppy.

        ls -l /dev/fd0* | less
        chgrp floppy /dev/fd0*

2.9 fdformat /dev/fd0h1440

/dev/fd0 does an autodetect floppy format (sectors per track etc), so that pre-formatted diskettes work every time (almost).

If the disk has not already been formatted, the auto-detect on the /dev/fd0 device will fail, and the driver won’t know how many sectors/tracks you want. It says: ioctl(FDGETPRM): No such devicea

Naming /dev/fd0h1440 goes past the autodetect. /etc/fdprm also has an effect (I once formatted a 1440 as a 1200, but can’t remmeber how or why).

With an old release (kernel / distribution / bad-disk?) I had the following mystery. I presume it was a bug, as it now works.

        Single-sided, 0 tracks, 0 sec/track. Total capacity 0 kB.

The CMOS settings also have an effect, make sure that A: is defined as a 3.5” type floppy (if it is). Otherwise any boot disk you create will be of the wrong format, and will only work at that setting!

2.10 /etc/fdprm

Is related to /dev/fd*, the man page is setfdprm. Hopefully you don’t need to know about it.

2.11 chmod, chown chgrp

These are used to change the permissions of files, devices etc. It isn’t possible to change a symbolic link, you change it’s target!

        chgrp floppy /dev/cdrom
        chmod 644 *.tcl
        chown -R gps /home/gps/new-package

2.12 Symbolic Links

A symbolic link is a confusing chameleon. In a trick of mirrors, it is both the mirror and the reflection. It is a ponter to a file, directory or device. Any commands you run on that symb-link, effect the file it points to, except the commands that apply to the symb-link itself!

EG If /home/gps is really a symb-link to /hdc2/gps, then cd /home/gps puts you in the /hdc2 directory. However rm /home/gps only removes the link, not the directory! ls -l /home/gps lists the link, whereas ls -l /home/gps/. lists the directory!

The ln -s command appears to be backwards, until you realise it follows the ln, cp and mv commands. Ie bring some thing that exists to something new.

ln -s doesn’t actually check whether it really exists, which does make sense. EG deleting the real file doesn’t remove the link, so creating a link when there is no real file is also allowed.

        ln -s /home/gps/.Xdefaults /home/root
        cd /usr/src/linux ; ln -s linux-1.99.3 linux
        ln -s /tmp/pkgs_ftp/package-0.55/lib /usr/lib/package
        ln -s /tmp/pkgs_ftp/package-0.55/lib /usr/src/package
        # where 'package' is some name

This IS a confusing area, as files might not exist when the link does, or a link to a directory might actually be the link to a file. Similarly when a symb-link points to a directory, ls -l link1 only lists the link, not the contents of the directory. In addition, tar has real problems with symb-links. When restoring a file, should it follow the link, which may be what you want, or should it delete the link and create a file, which may be what you want.

Even with these problems, I like symb-links. Note that most links will actually fit within the links i-node, so use up much less disk space (excpet for UMSDOS, where they are kept as files, not entries in the table file).

3 BackSpace

• Q: BackSpace not working in X11?

• A: xmodmap -e ”keycode 22 = BackSpace”

• Q: BackSpace now not working in ftp in xterm ??

• A: stty erase ˆ H (everywhere)

• Q: BackSpace now not working in VC?

• A: edit keyboad map /usr/lib/kbd/keytables/*

There are several places where you don’t notice that BackSpace is faulty. You may even believe that your system is OK, see tried it - it works! Attempting to fix it causes other problems to occur elsewhere. The knock on effect cascades through several steps. Fixing it is the reverse of how the problem started in the first place.

The problem and the answer, is that the key above the Return key is the BackSpace key, and nothing else. It always has been, and it always should be. Everywhere (except Dec terminals).

Everyone will tall you to use the xmodmap fix. This is a quick fix that solves the most obvious symptom, but the ”real” fix, is to edit the keyboard table in /usr/lib/kbd. When you are finished, you should NOT have the xmodmap incantation anywhere (except in memory, for use on other peoples systems).

3.1 BackSpace History

On DEC VT100 terminals (the old original ones), there is no BackSpace key, there isn’t even a key above the Return key. To get a CTRL-H you had to type CTRL-H. So the community of DEC users used the Delete Key instead (to delete to the left).

DEC users naturally setup up their stty erase and xmodmap configurations so that DEL deleted to the left and were happy.

Most other manufacturers, followed ASCII and provided a BackSpace key, returning CTRL-H. They set their stty erase and xmodmap files, and were happy.

Then DEC added a physical key in that location, and to keep users happy (damned installed base), made that key return the DEL character 127. DEC users changed nothing, got a new key and were still happy.

Years later, the East-Coast/West-Coast divide grew, and then smudged. At some time confusion arose, and every combination of available fixes was applied, to make different keys do different things.

The legacy, is that the UK Linux keyboard map (and several others also) has the BackSpace key defined as Del, returning 127 not 8! The system, as distributed, has been customised into the DEC set of fixes, instead of the proper ones. Except in trix of course, and soon your machine. (At least until the next upgrade!).

3.2 Why it always works with /bin/bash

bash has it’s own line editing functions, that responds to CTRL-H whether it is set in stty or not.

Bash also responds to Del (CTRL-?) in the same way. It always works, and never deletes to the right.

3.3 /usr/lib/kbd/keytables/uk.map

To test it, (before and after) run vi, insert CTRL-V BackSpace.

Every PC key has a unique PC-Kbd ScanCode. BackSpace key is ScanCode key 14. Different PC keyboards in different countries can have identical keyboards, but with different engravings on the key-tops. Different countries can also have different shapes of keyboards, but the computer doesn’t really know this. The keyboard tells the computer that switch(14) was pressed or released, and the computer interprets that into an actual key.

The uk.map file tells the console driver what character (or function) to return for each scan code. Each key has several values and flags for Shift/Control/L-Alt/R-Alt.

Without disturbing the other settings, change the first Delete to BackSpace so that it look like:

keycode  14 = BackSpace       Delete
        control keycode  14 = Control_underscore
        alt     keycode  14 = Meta_Delete

After editing, load the table using loadkeys uk.map. This command is also in /etc/rc.d/rc.local (or other), so that it happens every time you boot, but you can run it anytime.

To test it, (before and after) run vi, insert CTRL-V BackSpace.

3.4 /usr/lib/kbd is correct but still needs the xmodmap line

This is a tricky one. The fix ”keycode 22 = BackSpace” has a corresponding ”un-fix” somewhere. IE some kind DEC user actually wants it to Del. Look in all the file listed here, then read and follow startx, using the xmodmap -pk to see if it’s been un-changed since xinit was started.

3.5 stty erase ˆ H

The kernel can do simple line editing, when asked to.

Applications have either line-based input, or character based input. The tty driver has it’s own line-based-editing-mode, where the kernel releases the entire line, after you press Return. Before then, you can cancel the line, or other editing actions such as press BackSpace. The application (eg ftp) never sees this editing, it gets the result and doesn’t have to do any complicated interaction.

The various keys (single characters) that kill-word, kill-line, kill-char, can be set or changed using the stty command. stty erase X sets the key that will be used as the BackSpace key. X can be any single character key, such as CTRL-H or even ”X” (makes typing ”TeX” appear as ”T”).

When typing stty erase ˆ H, you don’t type the ”picture” ˆ then H, you type the actual key. If it is already set, either prefix it with CTRL-V, or put it into a file.

This command makes it works properly, but only after the command is run. If you put it into /etc/profile, it will be run on every users login. It won’t be run before login.

3.6 stty setting before login

If you put the command into /etc/profile, it won’t be run until after you have entered the username and password. During this time the getty login progam is running on the defaults builtin to /sbin/agetty, or any configuration that your getty chooses.

To see what they are, logout of tty2 and on tty1 run:

        stty < /dev/tty2

The defaults are not printed when they are the defaults. The default is Del (historical mistake). You can see that this is effective, before you login (eg over a modem) by seeing that BackSpace gets echoed as a non-destructive left move, whereas CTRL-? (Del) gets echoes as a Left-Space-Left, ie the last character of the username is removed from view.

Press CTRL-? more times than you have pressed keys, and you will login first time.

If you are running a different getty, it may have a configuration file, (/etc/gettydefs, or /etc/conf.uugetty, or ...) where you can set what you want. Try it with both BackSpace and Del to see that you can/can’t login after making a typo.

I don’t know where xterm gets it’s stty settings from, but xterm -ls runs through /etc/profile anyway.

3.7 vi

Vi looks at the stty settings, and allows DEL as BackSpace. It adapts intelligently to your stty settings (elvis does anyhow).

It also gives a way of seeing what any key really generates. Goto Insert-Mode (by pressing i) and type CTRL-V then the key you want, eg BackSpace, you either see ˆ H or ˆ ?. Press ESC (leave insert mode) then :q! (quit without saving).

Actually CTRL-V only ”quotes” the following byte. This works with function keys that start with ESC or CTRL-C, but not any second byte that would have a strange effect.

The CTRL-V key works with vi, and also with the kernel command line editor, and also with bash, and also with mc. Sort of a group standard.

3.8 X11

X11 uses different numbers for ScanCodes (it’s for virtual hardware, not just for Intel-IMB-PC keyboards), and ’that key at the top right with a big left arrow’ is key-22.

3.8.1 xmodmap -pk | less

Lists all of the keyboard table entries currently in use. Thats how you know that you DON’T need to do the following:

3.8.2 xmodmap -e ”keycode 22 = BackSpace”

This runs xmodmap on a running X11 kernel, and remaps the key. If that helps, you can run the command every time X11 starts up. But it is better to fix the bug, and not the symptom. However, you might not have root access to run loadkeys, or have forgotten to do it on a new instalation, or simply want to run it from curiosity.

3.8.3 $HOME/.Xmodmap

It is customary for startx or openwin, to tell xmodmap to read this file, (ie X11 scripts come pre-configured with standard places for you to put things).

If you want to (or someone else did), you can put the configuration entry in the .Xmodmap file. Only the expression within the quotes, (the xmodmap command with the -e option means run a single expression without reading from a file). Whilst there uncomment all the other entries with a !

3.8.4 /var/X11R6/lib/xinit/.Xmodmap

This sets it globally for X11. It was the only entry in the file, and shouldn’t really be there at all as it is a fix that shouldn’t need fixing. IE this is another place to remove the patching fix from!.

3.8.5 X11 globally

If there isn’t an overriding xmodmap command, then the system defaults are used. These days, the values are not listed anywhere, but loaded by XFree86 from the running Linux console. If you have defined it there (and not overriden it elsewhere), BackSpace will be properly defined, and no fix or un-fix is required.

3.8.6 stty erase ˆ H

Now that BackSpace works for X11 apps, test it again for text apps, especially those running in xterm (or rxvt, or ...). Maybe these apps should get it from the stty settings of the controlling terminal (other than themselves!)

xterm -e ftp localhost &

Actually that still fails for me, but now I know that SHIFT-BackSpace generates a Del, and the kernel command line editor undraws th ˆ H picture properly. IE press shift, and be happy (ish).

3.8.7 Left-handed mice

Don’t edit /etc/XF86Config, but put a command into your $HOME .xinitrc, eg

        xmodmap -e "pointer = 3 2 1"    # man xmodmap

or put the data part of this command in any of the config files listed above, Now you know that xmodmap does other things.

4 xearth - EG Package Installation

You have just blown the money for a holiday pony-trekking to Reykjavik, on a Linux box. You’ve just spent 2 weekends assembling it, you want results.

RedHat packages come with pre-configured Linux installations of many packages, but you want the authors original (more recent) version. Many authors ship binaries for impatient customers, many authors take pride in the fact that they don’t have to.

If you have never installed a source package before, you have a simple chain of steps to follow. At any stage, the process could fail, requiring you to roll up your sleeves, and do some work.

Some developers have an exclusion clause - if you can’t read a Makefile, you shouldn’t be equipped with gcc. Others are less enlightened, and do the work for you. Often a makefile will need minor adjustment to suit you, and reading the Makefile often helps to understand the package.

I used to have an open-mind, until I hit a few huge packages with cranky Makefiles, and overnight compilations. I think those people must have come from a cobol background. Now I see the first make error message, as a warning of others to come. Often proved wrong (TM).

4.1 cmd - a useful utility

This is a new command to create (locate) commands. Use SELECT+PASTE to copy it to a file (via an editor such as xedit), and chmod 755 it.

        #!/bin/sh
        # cmd
        # set -x
        #       # FILE=$HOME/bin/$1 # if you prefer
        #
        if LINE=`type $1`
        then
                FILE=`echo $LINE | awk '{print $3}'`
        else
                FILE=/usr/local/bin/$1
        fi
        vi $FILE
        if [ -f $FILE ]
        then
                set -x
                [ -x $FILE ] || chmod 755 $FILE
        fi

4.2 mk - a useful utility

You can make your life easier by pasteing the following into a shell script. Don’t forget chmod 775 /usr/local/bin/mk

        #!/bin/sh
        # mk - simple wrapper for make
        # keeps output in a log file
        # "$@" means "$1" "$2" "$3" ...
        # tee may over buffer interactive commands within make
        LOGFILE=gps.out
        ( echo ; date ; echo ; echo "# make $*" ; echo ) >> $LOGFILE
        make "$@" 2>&1 | tee -a $LOGFILE

Now instead of typing make or make install you type mk or mk install.

The result is much the same, except that the screen output is also written to a logfile. Interactive make scripts may have a problem with tee not displaying the text soon enough, but this is rare.

Now: every time you see make, type mk instead!.

4.3 xearth

Installing xearth is really easy, the description of how-to do it takes only a few lines (read the README and INSTALL on the disks). The only information you’ve GOT to have, is that it’s called ’xearth’ and it is excellent.

The Raven Issue-One LOGO, was produced using xearth. When you run it, it bocomes the X11 desktop background, gets updated every 5 minutes, and displays the names of major cities.

Persoanlly, I use it as desktop clock. I know it’s the end of my shift when it’s light in Bombay.

4.4 Pre-requirements

I hate pre-conditions, but like a lot of X11 software, you have to have X11 running. Issue-One has a section on /etc/XF86Config.

You will need to have gcc, the gnu c compiler installed, and all the correct LIBS installed. This is likely to be done - if you installed the recommended parts of the Slackware d-diskset, and the x-diskset. Fortunately, people like Pat Volkerding, have done the really hard word of making a system that boots and runs and runs.

4.5 xearth-1.0

4.6 Locating xearth on disk InfoMagic Disk set

If you have copied the Infomagic /cdrom/ls lr from disk one to /tmp/ls lr, you can search for it by name. If you don’t have the CDROMs, but do have Internet access, you can ftp it.

######## grep -i xearth /tmp/ls_ls/ls_lr ########
Mar  6 19:42       115688 disc1/debian/debian-0.93/binary/x11/xearth-1.0-1.deb
Mar  6 22:27         5549 disc1/debian/debian-0.93/source/x11/xearth-1.0-1.diff.gz
Mar  6 22:27       157845 disc1/debian/debian-0.93/source/x11/xearth-1.0-1.tar.gz
Feb 26 18:05       119485 disc2/RedHat/RPMS/xearth-1.0-3.i386.rpm
Nov 17 16:18         6152 disc3/X11/xapps/graphics/xearth-1.0.README
Nov 17 17:10         1209 disc3/X11/xapps/graphics/xearth-1.0.lsm
Nov 17 16:32       153162 disc3/X11/xapps/graphics/xearth-1.0.tgz
Feb 26 18:05       155091 disc6/SRPMS/xearth-1.0-3.src.rpm
Nov  4 19:43       519141 disc6/axp/RedHat/RPMS/xearth-1.0-2.axp.rpm

This shows that ’xearth’ is an ingredient of several distributions.

I used the version from sunsite - disk 3.

4.7 cd /cdrom/X11/xapps/graphics/

This is where the xearth package source is. You must have the correct CDROM mounted using mount /cdrom (see Issue-1 for editing your /etc/fstab file).

4.8 mkdir /tmp/pkgs cd

Make a directory where you build various packages from the cd’s. During ’make install’, many packages copy the necessary files to /usr/local/bin, and others. xearth does this for you.

This means the source directory can be deleted, or left available for browsing. /tmp/pkgs cd is a good place to unpack and play with files from the cd-rom. If you like them, you should move them to wherever you chose to put it. /usr/local/src/package or /usr/src/package is a good place.

        mkdir /tmp/pkgs_cd
        chown gps /tmp/pkgs_cd # ie your user
        mkdir /tmp/pkgs_ftp

If you are desperate for disk space, and want to kill something, look in /tmp. (and /var/log, and /usr/tmp, and /usr/docs, and /usr/lib/package...).

4.8.1 Packages as Self Contained Units

Many packages have default layouts configured, so that all files are kept in the package’s home directory. Some even put their own tmp and log files in there too!. Others use /tmp/package and /var/log/package.

All xearth files get created in /tmp/pkgs cd/xearth-1.0 until you ”complete” the installation.

4.8.2 No root password required

xearth compiled and ran as a plain user. root login was later needed to install the files into /usr/X11/bin. If you are trusting, you can do all the installation as root.

The idea is that the root password is used occasionally. The package is built as (you), and can be tested as a plain user. Then you decide if you want to run make install as root.

Most reputable packages can be trusted, and most of the ones you will handle are, but if a package needs root permission to build or run, the question is why? (( The answer is usually that the Makefile was tested that way, and thanks for providing a Makefile that does work. ))

4.9 tar -C /tmp/pkgs cd -zxf ./xearth-1.0.tgz

Unpack the archive you have just found, into the directory you specified.

• C - change directory, unpack in that current working dir

• z - gunzip .gz format

• x - extract files

• f - filename

• OTHERS:

• t - table of contents (instead of x option)

• v - verbose - lists files or long format with t option

• p - preserve permissions (file owner)

• man tar

This runs the ’tar’ command (tape archive), telling it to use /tmp/pkgs cd as the -C current directory. Ie it does a cd /tmp/pkgs cd to write the files, but finds and loads xearth from ./.

The -f FILENAME, options tells tar the name of the tar-file to work on. Note that tar won’t allow anything else between the -f and FILENAME. The orignal tar didn’t even allow a gap!

The -z option tells tar that the tar-file is gnu-zip compressed, and needs the builtin gzip utiltiy.

The -x option means EXTRACT all files from the archive. To get a table of contents, use -ztf instead of -zxf.

If you have ’mc’ you can let it help you, do some of the typing. It can also browse inside .tgz files. The command line keys are :

• CTRL-X CTRL-P — /path/dir of the other panel

• CTRL-X P — /path/dir of this panel

• ESC-RETURN — file name of the highlighted file

• ESC-5 — copy highlighted file or dir to other panels directory

If the tar file package, contains a top level directory, such as ”./xearth-1.0”, when you use mc to browse the tar file, (which you should do anyway), you can COPY (using F5) the top directory to the other panel (eg /usr/src). If F5 is snatched by X11, use ESC-5 instead.

4.10 cd /tmp/pkgs cd/xearth-1.0

Notice that the package created a sub-directory, with all its files in. This is known as polite behavior. Some packages create lots of files in the top directory (/tmp/pkgs cd or wherever you were), they require you to delete and do again.

xearth is also practical. It numbers the directory by the version number of the package. This means that xearth 1.0 source will go into a different directory. Thank-you Kirk Lauritz Johnson tuna@cag.lcs.mit.edu

Browse the files, you should find INSTALL, README and HISTORY at the top of the list. Reading the INSTALL tells you how to build and install it.

You should read it, as it may have changed, or I may be intentionally skipping important discussion texts (no point duplicating the README here). However, here is what I did.

4.11 xmkmf

x-make-makefile, is a utility to create Makefiles. The package designer has done a lot of work, and told xmkmf what to look for. Remember that the package has to compile on Linux, and SUN, and SVR4, and ...

xmkmf scans your machine, and makes a few relevent adjustments to the Makefile (it generates a new one from Makefile.in). Some other packages may require make depend, or ./configure, but check their README files.

4.12 make

The make command, reads the Makefile, and picks a default target (the first in the Makefile is usually called all :-) It then looks to see if any work is needed to bring TARGET upto date.

In this case, it calls gcc to compile xearth.c and link it with the other files, to make a binary executable.

4.13 make install ; make install.man

You should run as a plain user as much as possible, but when installing you will need a second window, logged-in as root, to complete the installation. make install copies the necessary files onto the system directories. The source is not copied, and can be deleted (sooner or later).

Most applications can be tested as a plain user, and don’t need root permissions at all, until they need to create files in a system bin directory.

4.14 xearth -pos ”fixed 62.4 -51.1” -grid &

You don’t need any parameters, xearth is enough.

The & tells the shell to run this command in the background. Most X11 applications run this way.

If you don’t, it makes it easier to use CTRL-C to generate an Intr, and stop the program. If you forget, and wish to use that tty, but don’t want to quit the program, use CTRL-Z followed by bg %1.

The suspended job gets resumed as a background style process. A background process is one that the foreground isn’t waiting for.

4.15 man xearth

This shows the range of options that xearth has.

4.16 vi ˜ /.xinitrc

This is one of the X11 startup files. It doesn’t have to exist, but if it does, it must contain olvwm or fvwm. By adding xearth to it, it will get started automatically, when you start X11. If it doesn’t, it could be a sign that you are running as someone else.

        # /HOME/.xinitrc
        # run by shell during openwin or startx
        # must call window-manager-wm
        xhost pigeon
        xhost kestrel
        raven.tcl &
        sleep 2
        clock &
        xearth -pos "fixed 62.4 -51.1" -grid &
        olvwm
        # fvwm

4.17 delete xearth-1.0

It’s easiest to use ’mc’ to delete directories, rm is prone to typing errors.

You no-longer need the source online. You can re-generate it from the CDROM, and the installed package has its files installed elsewhere. You can delete the directory, or leave it there for browsing.

        cd /tmp/pkgs_ftp
        rm -rf xearth-1.0

4.18 Worked example - done!

This is how many packages install. They work out of the box, they don’t blow-up during make, and they do something real-neat asap.

Other packages mentioned in Raven will have LESS help, telling you what worked for me. If it doesn’t work, investigate. Always check for README files, and such.

Regrettably, not every package works perfectly. Personally I discard those that don’t, as any trick to make it work takes ages to find, and gets forgotten. However it often happens for no fault of the package. Particularly if the package used to work perfectly with a.out, but needs a different set of libraries, or linking options to work with ELF.

RPM packages, are pre-compiled, and make it easier to quickly install something. Someone else has tweaked the Makefile, and run it in the correct sequence. However, for essential components, you may wish to confirm that you can build from the source, so that if you move to another system you have a reference point that did work.

4.19 configure

Instead of xmkmf (or as well as!), some packages have a configure script that configures the compilation, and installation. It probably sets the names of spool directories, but doesn’t really configure the RUNNING application, but pre-configures the compiled application.

When an application needs defaults other than the compiled-in ones, there is usually a run-time (start time) configuration file, such as /etc/conf.package

4.20 configure –prefix=/usr/local

This is the most common default parameter for installing things like xpaint, or user desktop tools, though there are many dialects and interpretations of what ”local” implies.

Is it local to the workstation? ie the users choice. Is is something that is specific to the site? such as a local network service.

Personally, I let the package decide itself, as it makes upgrading much easier. I’ve just installed mc-3.2.1 over mc-2.1.8. I didn’t delete the old, I just sprayed the new over it. However, at least I don’t have two versions! One is /usr/bin, and one in /usr/local/bin.

If you don’t want /usr/local/bin (etc), and you don’t mind having to repeat the same incantation for an update; can over-ride it with

        configure --prefix=/usr # to use /usr/bin, /usr/lib, or even
        configure --prefix=/    # to use     /bin, /sbin, /lib, /etc.

4.21 make linux

Some packages avoid the added complexity of configure, but do provide Makfile customisations for specific systems. Many EXPECT you to edit (or at least view) the Makefile, and may provide a make linux target.

4.22 package elf-01.tgz

Some applications come in both source and ready-compiled packages. This particularly applies to Motif apps, where you need to spend £100 to get the Motif compilation libraries. If you don’t have them, download the STATICALLY linked binaries. The DYNAMICALLY linked binaries are smaller, as the shared Motif Libraries are already on your disk (If it says libXm.so not found, you haven’t purchased Motif, and the files aren’t installed on your disk).

Often the binary package, won’t contain the documentation, or background information, then you have to ftp both. Occasionally, an application will be shipped as a single gzip’d executable, that doesn’t NEED any other files.

4.23 old lib.so

If the linker or loader can’t find a necessary library, you may have to install the package that brings it, or hunt on the CDROM’s for support for old environments.

eg A program compiled for X11R5 will (often) still work on X11R6, but it will require the old libraries to be installed. Slackware ususally has packages of outdated-libraries for exactly this reason.

5 sunsite: disk3

Thanks to the unc.edu University and the system administrators there, sunsite contains the bulk of interesting packages for Linux (and similar systems). Packages vary from fundamental system packages, to Yohan’s favourate soundblaster utility. Many of the packages are very good, but be wary of files older than a year or two.

Your CDROM set should include a mirror of sunsite, maybe slightly re-arranged, to reduce the duplication of the tsx-11 site, without the non-distributable files. If possible, build your machine from one set of CDROM’s. Then rebulding it will be easier, and known to work.

5.1 unc.edu

sunsite.unc.edu is a machine somewhere in North-Carolina. Many universities sponsor Internet, by providing a connected machine (with administrator) for public use.

The benefit to themselves, as well as to the public is in-estimable, and costs relatively little. Bandwidth consumption is seen as a sign of a need being fulfilled.

5.2 Internet anonymous ftp BBS’s and mailing lists.

Sunsite is one machine, other sites have other machines, either broadcasting their own packages, or everybodies. tsx-11.mit.edu is another example. Many Universities simply mirror sunsite (why waste good time duplication work done well elsewhere? Time that could be spent doing something original), and add their own ftp areas.

The existence of such Internet-BBS’s, allows others to access and broadcast material 24 hours a day, and good system administration builds up a library of relevent code packages. IE it makes Linux possible.

5.3 Why GNU ?

GNU really means that the package came from the FSF, but it also includes packages from anyone under the GPL or Library-GPL.

In general, the Library-General-Library-License is much better than the original GPL license, as it free’s up a lot of grey areas, especially concerning the boundries between a Library and an Executable.

Arguably an older GPL’d package can NEVER be converted to an L-GPL’d package. Please, use L-GPL not GPL, even if your ”Library” is a self contained binary, it contains code that could be useful as a library.

Personally, I think that this contradicts it’s own stated policy, to make your program ”the greatest possible use to the public”, since it restricts it’s use.

The L-GPL effectively lifts these restrictions by allowing commercial sites to re-use your code, in L-GPL’d libraries, in their products. Arguably, NOONE can do this, so it’s not good for GNU developers.

People contribute to public-domain, gnu and shareware for various reasons. Projects that come out of universities get prestige for that department, and many departments hold on to valuable staff, by providing them with a work environment that makes them happy.

Some commercial sites choose to purchase configuration help, installation time, and support channels from GNU suppliers. They pay for results, and like the idea that their installed code, could be supported elsewhere.

The MIT university has a policy of making much of it’s work available to the general public. This of course benefits other universities, who may be ’competing’ with MIT, or who don’t pay for the running of MIT, but MIT somehow comes to terms with that fact.

Most Universities have facilities to mirror other sites, and to broadcast their own material, both computing orientated, and all other subject studied there. Computing just tends to be first in the queue for computer resources.

Company consortiums, contribute to X11, because it benefits everybody, including themselves. Open systems don’t need restrictions to sell, they need open acceptence, and quality products/services.

JAVA is a Sun product, made available to others. The benefit to Sun is that everyone can use and wants Java, and that helps it sell more Sun boxes - even though the customer doesn’t HAVE to buy Sun.

When the race is on, for the fastest Java-Byte-Code-Interpreting piece of silicon, Sun will be there.

Companies allow staff to maintain packages, as part of aquiring that person, that skillset, and that package - supported on its hardware.

The sum of all this is that when someone releases a neat pice of kernel technology, the support utilities already/soon exist to build it up to a fully fledged UNIX-like system.

This system gets used, configured, bridged, tested, supported and developed, my everone, and those focusing on their special interest group.

This is how graphics libs get supported, or compiler tools, or how user-groups develop standard profile packages such as gnu plot for botanists.

InfoMagic, and other CDROM vendors, download the entire contents of sunsite, tsx-11, and other key sites. Making them available to the rest-of-us, who don’t have permanent Internet facilities. Some of the material on sunsite is not distributable for copyright reasons, but is still available on the net.

Some material is duplicated, especially when included in more than one distribution. Here are a few sites for you to try out and enjoy.

5.4 Not sunsite

There are mirrors of sunite, other hosts apart from sunsite, and there are URLS of pages of information indexing other sites and documents. ”sunsite” is actually a chain of University installations, all mirroring each-other!

        ftp://sunsite.doc.ic.ac.uk/packages
        ftp://sunsite.doc.ic.ac.uk/packages/linux/sunsite.unc-mirror

Mirroring is an overnight task, between universities. Who’s nightime, can give occasional connection refused, so look to see that the version you find is the one you’re looking for, and check the date of the files. Some mirrors might only copy Incoming on a daily basis, and the installed files weekly. That is their mirroring policy, and is one of the reasons why different parts of the network go slow at different times.

Having a fast, nearby, up-to-date mirror is a great asset, especially if it’s off-peak hours are your dial-in time, however don’t be supprised if at certain times, it’s recalculating pi, whilst simultaneously handling lots of nice anonymous ftp sessions, and swamping it’s own nets with hi-pri network traffic (ftp backup). It is doing what it’s designed to do.

5.5 Not sunsite

        sunsite.unc.edu         Linux toolkit
        prep.ai.mit.edu         FSF - GNU - GCC
        ftp.x.org               X11 from all directions
        ftp.xfree86.org         XFree86 X11 head drivers (SVGA)
        ftp.azstarnet.com       Linux on Alpha
        vger.rutgers.edu        Linux on SPARC archives

ftp.coast.net           /SimTel/
ftp.cdrom.com
ftp.redhat.com

6 Sunsite Packages

Each package comes with its own README files, and you should read them. However it often helps to read an example installation, to get an quick intro to what the manual is talking about.

Annotate each step with additional settings you used on that installation.

By the time you are reading this, newer versions may be available, with different installation sequences. Lifes like that.

6.1 xearth

This is a program that build out of the box. It becomes the wall paper.

cd /tmp/pkgs_cd
tar -zxf /cdrom/X11/xapps/graphics/xearth-1.0.tgz
cd xearth-1.0
xmkmf
make install
make install.man
xearth
xearth   -pos "fixed 62.4 -51.1" -grid &
man xearth

6.2 eject - cdrom

This is a utility that opens the CDROM drive tray. The kernel driver used to do that automatically when closing the device, but apparently, people complained about excessive tray activity during reboots.

The eject utility won’t work if the device is held open by another application, such as workman, or mount.

Do the ususal installation: (HINT use mc to help you)

cd /tmp/pkgs_cd
tar -zxf /cdrom/utils/disk-management/eject-1.2.tar.gz
cd eject-1.2
make install
umount /cdrom
eject

6.3 umount: /dev/hdd is busy

If you get this message, it means that the CD drive is in use, either a program is being run off the CDROM or a shell (or any program) has it as the current working directory.

Personally, I run mc /cdrom within an xterm, and exit when I want to change the cdrom. That way, I know which window is using it.

6.4 Arena

Mosaic and Netscape are deleted from the InfoMagic (and other) CDROM distributions of sunsite, for copywrite reasons (ie at request of author). They are Licensed for anonymous-ftp, and are on several ftp sites. Look in /sunsite/system/Network/info-systems.

Arena IS available on the CDROM’s. Not as source (yet) but as a simple jigsaw of linkable pieces.

        cd /cdrom/system/Network/info-systems
        tar -C /tmp/pkgs_cd -zxf arena-elf.tar.gz
        cd /tmp/pkgs_cd/arena-linux-elf-linkkit
        vi README

use cut and paste to run the following. ld is the link-loader which finds shared libraries when a package is run. You have to either install the Arena libraries in a system directry, or tell the system to look in the Arena directory (which you could not then delete, without losing Arena).

        gcc -o arena arena.o libXext.so libX11.so libjpeg.so libwww.a  -lm
        mv arena /usr/local/bin
        echo /tmp/pkgs_cd/arena-linux-elf-linkkit >> /etc/ld.so.conf
        /sbin/ldconfig
        arena /home/gps/raven/tmp/ssr1a.html &

Arena lacks file browsing (which is a shame for a network browser), and it has problems with font BACK-GROUNDS overwriting adjacent lines, during scrolling (refresh cleans it all up). However it works and it is on the disks. Chhimera is an alternative, and lynx is a text based browser. It is reported as being very HTML/3 compattible.

Good placs to start are the EXCELLENT sunsite Index.html pages in every directory, and the docs/HTML directories on disk1, ie the LDP manuals in HTML format. Or the Raven pages.

7 Searches

The Internet and the CDROM’s offer so many files, it can be hard to find what you want, especially if you don’t know what you want!

7.1 man pages

The traditional unix documentation is like all unix, there are several alternatives! User guides, HOWTOS, FAQ’s and of course man pages.

Manual pages, are online, printable, mini documents that describe a single program, or a single system call, or a function, or a data format, or a group of related commands.

Each page is (usually) formatted with groff, for display on a VDU or X11 shell, but X11 also has xman. mc (midnight commander) can also format man page files, from within .tgz files.

The overall collection of man pages are held in several places, ie /usr/man and /usr/local/man. Manuals are grouped according to category as follows:

• 1 - user commands

• 2 - system calls

• 3 - library functions

• 4 - devices

• 5 - file formats

• 6 - games

• 7 - misc

• 8 - sys admin

• - - other

NOTE: system calls are like library functions, but are offered by the kernel itself, rather than libraries of code, that make system calls. eg open() is a basic sys-call, fopen() is a library call, that adds buffering and such.

If the keyword you want, isn’t in the title line, you might need to search the body texts, using glimpse, or something.

Some packages, such as TCL/TK, bring so many man pages with them, they might have a their own subdirectory. xman makes it a lot easier to browse man pages by category and single title wordi (filename).

7.2 apropos mail

The man pages are searchable, using a loose search, and the apropos comand (see apropos(1) by typing man apropos). You can also use the man -k command.

This returns a list of commands that contain the search string in the title line. If you get error messages try running the mkwhatis command. The list is usually viewed using the less command.

So for example, if you are interested in something to do with mail, apropos mail will return a list that may or may not help.

The list propbably contains duplications, either because you have the man pages installed twice, or because MANPATH contains repettitions.

7.3 locate string

If you (or the system) have run the updatedb command, there will be an out of date database of every file on the system, possibly including the CDROM that was mounted when the updatedb command ran. It is configurable, read the man pages.

If you run locate string, you get a list of every filename, and path, that contains that search string (or pattern). Occasionally you get a few more than you expected, but this can help a lot to find files that you have misplaced or hunting for clues.

7.4 ls lr

Most CDROMS have a ls lr file that lists every file on the cdrom, in the ls -lR format. Disk sets, usually have a huge index on the first disk. I copy these to /tmp/ls ls/. and search through them using a grep command in a mini shell script.

        #!/bin/sh
        grep "$@" /tmp/ls_ls/ls_lr | less

7.5 /cdrom/slackware/MANIFEST

In addition to files that are open (not hidden inside .tgx files), Slackware (and others) has a MANIFEST file, that lists every file, and the .tgz file that they appear in. Copy it to your /tmp/ls ls directory, and write a script that greps for it.

Actually, you might have to use less, and the ”/” search command to get full results, but the information is there.

So if you are looking for the missing xman command, you can see which package you have forgotten to install. Ditto for when you have badly configured a config file, and want to revert it back, but do beware of reloading too much!

Slackware also has a database of files installed onto the system in /var/adm, well worth browsing.

7.6 archie - ftp index

Archie is a service offered by some universities, that searches a database of files known to that archie, on every ftp server it cares to index. Using archie is very simple, using a web browser, see the example serach in the archie article. Note, if it helps, it helps, if it doesn’t .. oh well.

7.7 www.dejanews.com

dejanews is an archive of all USENET (to some extent), and has a search engine to help you find things.

7.8 Other search engines

To tempt you in, other sites offer search engines that know about many, many WEB sites, and can find keywords in web pages for you.

Look in the URL’s section, and send me a list of those I’ve forgotten!

7.9 Browsing sunsite.unc.edu by category

Large sites, such as sunsite, make a good attempt to group packages into sub-directories, but don’t rely on it too much, as one word means different things to different people. What you think of as a system package, might be a user-level package, or applications might be split into X11 based, and not.

In addition. large sites, get ”carved up”, when they get copied onto CDROM.

7.10 HOWTO’s Guides FAQ’s -etc-

As well as the man pages, don’t forget the others!

8 xloadimage-4.1

xloadimage is a graphics viewer (and library of code). If you don’t have it, you can use xv instead.

8.1 xloadimage /tmp/fix fax/page.pbm

xloadimage can read .pbm files, or pipes with data in .pbm format. It is an alternative to XV, (it exits with the ’q’ key).

It needed a tiny edit to a system makefile, because something got defined twice, slightly differently in two .h files, in two sub-systems. If your system works OK, don’t edit the .h files!

8.1.1 installing

        cd /cdrom/X11/xapps/graphics/viewers
        tar -C /tmp/pkgs_cd -zxf xloadimage.4.1.tgz
        cd /tmp/pkgs_cd/xloadimage/
        make

At this stage, the make process blew-up, so I attempted a kludge to fix it. This might not be needed with your installed system. You will just have to figure it out from the error messages.

8.1.2 typedef unsigned long whar t;

I edited this into /usr/lib/gcc-lib/i486-linux/2.7.0/include/stddef.h, line 240. This is because of /usr/X11R6/include/X11/Xlib.h (line 79).

8.1.3 su root -c ”make install”

Takes a while.

8.1.4 xloadimage /tmp/fix fax/page.pbm

If you have installed efax (as described in issue-3), you can use xloadimage to view pbm files, generated by efix from fax/g3 files.

This shows that the g3 file generated by efax are perfect, using the default plain-text builtin hi-res- font. It shows that viewing files at the wrong resolution, can make you believe that the file is wrong, when it is the view, not the file.

Converting files from g3 to pbm uses a lot of disk space. You can do it with pipelines, instead of files. See the section on efax in Issue-3.

8.1.5 xloadimage /tmp/fix fax/page.pgm

This shows that a g3 file converted to pgm is very hard to read, and pbm may be a better option.

Edit /usr/bin/fax, so that xloadimage is called by fax view page.001

8.1.6 xloadimage to view tk.ps reference card

        pbm=pbm
        gs      \
                -sDEVICE=$pbm   \
                -sOutputFile=tk.%d.$pbm \
                -dNoPause               \
                -r180x180               \
                -dSAFER                 \
                tk.ps
        xloadimage tk.1.$pbm

This looks quite good, but may be due to the very high resolution (180 dpi compared with a typical screen 90). Compared to well chosen bit-mapped fonts, such as those used by tk/x11 it’s sad. The problem is with the fonts selected and how they are rendered by gs. xloadimage dimply displays the bit image.

The -dSAFER option to ghostscript, is to reduce the risk of running a trojan. Postscript is a programming language that can delete files or call programs. The -dSAFER option, attempts to prevent someone putting a trojan into a normal postscript file.

9 mc-3.2.1

Midnight Commander is a text based file manager, and one of the best reasons for (not) buting Linux. It can look inside .tgz file. I found it on sunsite.

9.1 Install and Run

     ./configure
     make install
     man mc
     mc      # [ -b ] /home/ftp ftp://gps@trix/home/ftp

mc is gpm mouse aware and xterm aware. It uses SLANG instead of curses, but should work with ncurses. tk and X versions are mentioned in passing, with C callbacks for widgets. They are not compiled (by default).

9.2 Configure

• – F9, Options, Configuration.

• Pause after run always

• Lynx like motion

• Show backup files

• – F9, Left, sort order

• Modify Time, Reverse

• – F9, Options, Layout

• menu bar visible # good for mouse use

• menu bar visible

• – F9, Options, save setup, SPACE

9.3 Useful keys

• CTRL-I – goto other panel

• CTRL-P – previous command • BackSpace – delete

• CTRL-X CTRL-P – other dir name

• ESC-Return – current file name

• CTRL-X P – current dir name

• CTRL-O – switch between full screen and one line

• ESC-5 – F5

• cd ftp://gps@beyond.malmo.lth.se/

• CTRL-\ A malmo

• CTRL-\ A malmo

• F8 – delete file

• CTRL-L – redraw screen

• CTRL-R – reread files •

OK, just so that you know Raven is written on-line, whilst transferrring this, I found the following: • ssr02-0f # directory already exists

• mv ssr02-0f ssr02-0f-01 # in another window

• F8 copy local ssr02-0f to remote

• Cannot do file not permitted, retry - ditto

• CTRL-R F8 - in progres

• ie the VFS subsystem masked the volatile changes

9.4 Annoying Bug - xterm resize when command active

When you resize an xterm (eg clicking on the title), you lost access to the application (via CTRL-O). I had to quit mc, (and xterm) to clear it.

10 ddd - gdb data diaplay

ftp://sunsite.unc.edu/pub/linux/devel/debuggers/ddd-1.4* or /cdrom

This is a front-end to gdb (more advanced than the xgdb button helpers).

Fetch the precompiled elf binary (unless you have motif). You don’t need the source, which is nice for 14.4K users, who want something to do whilst the other half isn’t here. Note that one file is a ”tar” file, the other is the compressed binary.

        gunzip ddd-1.4b.gz
        file ddd-1.4b
        ./ddd-1.4b

Open a program that you have previously compiled with -g. Open the source, put a break point in main. Run the program with arguments (simply type run args in the gdb text window).

It will then stop at the breakpoint. Single step to a function, then try the data options by selecting: Edit Display (new), var name ...

If the Display is for a pointer variable, select Dereference, and the struct will be displayed as a box of lines to the right of the pointer box. You may need to rescale the display. Redraws are slow.

If X11 is already running, and gdb is available, it just runs. To untar the sources and docs, use:

        tar -C /tmp/pkgs_ftp -zxf ddd-1.4b.tar.gz

Personally, I find the statically linked version, quite slow. I don’t know why this is, because I have no other Motif apps running, so there should be no real memory penalty. However the graphical layout of the data can help when browsing a piece of code. Moreover, this is one of the first versions of ddd, and generally things get better, as the developers move on from the basic (!!!) job of getting a GUI application together, and have more time to spend on the product itself.

I don’t write much ’C’ code, and don’t use ddd much, but it doesn’t crash, I just don’t use it.

11 AUIS - ez - WordProcessor

Andrew User Interface System, is a collection, from Carnegie Mellon University.

11.1 auis63L4-wp.tgz

I found this in the /cdrom/slackwar/contrib directory. So I ran the Slackware installpkg filename.tgz

It is also on the sunsite /cdrom/X11/andrew/auis635L1-wp.tgz a slightly different version? Who knows?

If you don’t have slackware, but do have the same .tgz file. You can run the following command, but it won’t maintain the slackware list of installed files.

        # if not # installpkg auis63L4-wp.tgz
        tar -C /  auis63L4-wp.tgz
        sh /install/doinst.sh           # creates the symb-links

However you install it you must now

        cd /usr/andrew/etc
        ./complete-setup wp

You must also add /usr/andrew/bin to the PATH, maybe in /etc/profile, or manually.

        PATH="$PATH":/usr/andrew/bin

You can now test it with

        cd /usr/andrew
        ez README.ez.wp

Yes this is a work processor with Bold (etc), different fonts, and a whole lot more.

11.2 A different version

I then deleted all of /usr/andrew, and reinstalled it from /cdrom/X11/andrew/auis635L1-wp.tgz (sunsite). Apart from the version number increment, I couldn’t see the difference, but I guess there are changes internally, that are not immediately visible. But at least both versions work!

11.3 Mini Starter Guide

I find it quite usable, but I don’t often use it. This summer there is release of the NEW AUIS (7), which has moved to C++, and ’ez’ comes with an HTML editing module. I hope to look at it again then, and see how the UIF has changed. Here is a mini starter for those who need that extra nudge.

11.4 ez - Button-2 Menu Stack

Pressing Button-2 on the mouse, gives you a stack of menus. If you let go of the mouse, and nothing is highlighted, they go away.

If you move the mouse sideways, a different panel comes to the front. Vertical motions select a menu item. If you let go of the mouse, the highlighted command is run.

Most of the commands are also available from the normal menu bar.

11.5 Highlight text zone, apply attibute

You add styles to the highlighted zone of the document. Eg to make a sentence bold, you highlight it and select Font/Bold from the menu.

Styles accumulate, so you can have bold, underline, or whatever. The menu option File/Toggle Expose Styles makes them visible (by name). The Plainest style, will remove all others, if you have messed up somehow.

11.6 Styles available from the menu

If you edit a plain file, there might not be any useful attributes in the menus. If you edit a file like README.ez.wp, they get loaded by the document.

If you edit a new file with the .ez extension, the styles will be there in the menus. Unless, of course the file is ReadOnly.

To get them loaded for already existing files, there is a trick. But I have forgotten what it is. There is a collection of style sheets somewhere, and these then appear by-name on the menus and cards.

You can create new menus and items, by defining styles with the relevent FONT, point-size, attribute, etc. A style attribute that is left blank, means no-change.

Really you have to think out what you want, and produce a set of site profile styles, with names that make sense to you.

11.7 Preview

The File/Preview menu option, formats the document for the printer, and sends it to GhostView. Yes this is a postscript system, but only for output.

11.8 File Format

AUIS uses a text style a bit like latex. ie you will see things like \\bold{ this is bold text }.

Paragraphs are all on one long line, so you might need a filter to get data in and out, if you use another format.

IE This format is open to conversion, WITHOUT needing the ATK.

11.9 Other Parts of the package

There is a mail module, and a src editing module. They each need the complete-setup xxx command to be run.

11.10 No File Selector Dialog Box

Strange really, but there isn’t one, you have to type in the name.

However, ez works, so that you’d never notice this, if you start ez with the name of the file on the command line, eg from mc, or a tkDesk.

If you install the src package, you get bush. It offers you a tree of dirs and files, otherwise you have to type the name in the message/entry line at the bottom.

11.11 Bottom Line Status Bar

The bottom line is both a message line, and where you type filenames, (Insert File, Save AS, ... ).

This causes me some grief, as it is often off screen, and I don’t understand why ez is ”frozen”. Really, it’s just waiting for input! CTRL-C cancels that line, and reverts to editing.

When inputing a filename, the TAB key does completion, but I couldn’t see a way of getting any other than the first. Reading the manuals would probably bring it all to light.

11.12 CUT+PASTE

This IS a problem. AUIS uses it’s own cut+paste, that doesn’t interface with the default X11 selection. There is an option that can be set in ˜ /preferences, but otherwise it is a pain.

You can tell that this is so, when two windows BOTH contain ”highlighted” text. If one is the X selection, the other isn’t.

11.13 Accurate Scroll Bars

The left button, only goes DOWN, (right goes UP) - except where you manage to exactly grab the scroll bar (LEFT). Then the mouse turns to a big dot, and you go where you want.

11.14 (More) Media Table

From the menus, inserts a table into the text.

CAREFULLY, click elsewhere, and the grid lines of the table disappear, leaving a gap on the page. Now click back where the grid was, and the re-appear. This is because the inset object wasn’t active, and (by default) has no grid lines.

Drag the cursor over an area of the grid, eg 2x4 cells, and select menu Cells, Draw box. Now that area has a box around it, as will the printed page.

11.15 Is it Business Quality?

YES

The code doesn’t crash. The data is easy to convert to and from. The speed is excellent. The functionality you need is there.

There is a distracting amount of extra functionality (pre-java embedded applets for example), and various areas under development (different types of embedded objects), and the MMI is a bit strange at first, but this is an excellent word processor for most needs.

The convertion to C++ is taking time to get ported through all the supported platforms. Linux is on the list, and will get release 7 this summer. Along with new graphics-drawing and HTML support.

The only other thing I would recommend for investigation for serious use, is linuxdoc-sgml. It will reformat sgml into a variety of types. Although it is mostly for the Linux-HowTo SGML templates, it is a fore-bearer of things to come. However linuxdoc-sgml is a (batch) text formatter, not an actual editor.

11.16 Is it GNU

No. I belive that the auis source is openly available, but is HUGE. CMU have hinted that they are looking for ways of making money from AUIS, but if enough people write to them, they will stick to selling the T-shirts, and consultancy.

The existing AUIS distribution is ”use for any purpose .. without fee” as long as you include the Copywrite notice and Disclaimer.

12 lyx-0.8.4 - Word Processor

Lyx is a Linux LaTeX front end. I don’t do much TeX’ing, so I was looking for a gentle introduction. This review was for 0.8.4, Newer versions are now available, and better!. So don’t do any of the following. It is out of date.

LyX is developing at a rate of knots! A much more recent version (0.9.19) is already available, that build first time (if you have the latest xforms library available). Locate the files and read the READMEs.

I think that there is talk of a code freeze, so maybe I should go back and take another look.

12.1 Install

I already had LaTeX installed, from the Slackware 3.0 recommendations (ie not the extra fonts, but the basic foundations plus).

On the sunsite CDROM I found disc4/apps/editors/lyx-0.7p4.srcbin.tar.gz, but instead I downloaded lyx-0.8.4-srcbin.tgz from sunsite Incoming (Feb 96). IE a pre-compiled binary.

I did a tar -C /tmp/pkgs ftp -zxf ...tgz, and I just couldn’t resist the temptation. I ran it without installing it (and never having any previous version installed). This was a mistake, because it worked very well.

The srcbin package includes all source (this is a GNU), and doesn’t use Motif. It does have a few notes about compiling with specific versions of libraries, but it tells you where to get them, and will probably matter less in future. It is also quite chatty, giving opinions on XForms and such.

12.1.1 Installing properly

        su root
        make -f Makefile.std install
        exit

Unfortunately that didn’t work, and the preview command fails because it cant find lyx.sty. Linking it in from /usr/local helped.

        ln -s /usr/local/lib/texmf/tex/latex2e /usr/lib/texmf/tex.

12.2 First Use

I just dived in, and looked at the menus. These looked like normal WP menu’s with the usual icon-cryptic tool-bars. Help brought up a list of documents, I selected Documentation.lyx, and 10 seconds later I was looking at two windows. The second was a table of contents, allowing fast jumps to sections, the first window was the main display.

I then selected screen options, normal font size 18 (14). This took 6 seconds and made the screen more readable. That is a long time, but the document is long, and it only happens for global changes, where every-line has to be reformatted. Changing the window width then took 3 seconds (486-80).

Generally the MMI was slightly strange at first, but every new X11 app feels that way to me. A bit of experimenting showed that it is fairly consistent, and in some places high quality.

I like this package already, so there is a list of features I don’t like later in this text. Please accept my feedback as being over-critical and subjective (( and out of date )).

12.3 TeX Inside

TeX is good when it works, but can be hell when it doesn’t. Source documents can be unreadable and bugs unfindable (hopefully this is where LyX helps).

TeX uses a range of fonts, and the fonts used in your document may need converting between formats. In my case (eg previewing the multicol.lyx document on Slackware 3.0), it took a few minutes to do the necessary font convertions the first time round. However these remained available and did not require re-converting.

I got lots of badness messages, which wasn’t particularly wonderfull, but the document appeared to be OK.

12.4 It’s not WYSIWYG

Technically (pedantically) this is impossible. SVGA displays are not A4 and they are not 300 dpi (75 or 100 dpi is typical). Any font used on the screen will either be huge, or at a lower resolution. That resolution can make italic serif fonts look different, even though the printed page is OK.

12.4.1 So it’s WYSLRN

Looks-real-neat? Yes! LyX repormats the right margin to the window, and omits the blank left margin (mostly). It does not show automatic page breaks, and selected fonts are approximations.

12.4.2 But I can still see latex commands

Bold, underline italic, font selections and various others - appear in a WYSIWYG style, but a few latex command seem to be visible, especially tables.

Headings, and paragraphs are shown properly, whch makes a difference, and other commands are shown in red, so the text is quite readable.

12.5 MMI features

12.5.1 foot

References to footnotes are shown with the foot marker. Clicking on it with the Middle button, shows the actual footer text. Clicking again (on or above) folds it back.

12.6 MMI glitches

12.6.1 Scroll Bar - Jump to

Clicking on the scroll bar with the middle button, does a ’goto’ (goes to that position on the scroll-bar, in the document). This is good.

Doing the same with the Left button is BAD. Normally, I would expect it to scroll up/down by one page, and maybe repeat. (even half pages would be OK for virtual desktops).

12.6.2 Scroll Bar - Too small

If you use the PageUp key, the scroll-bar-bubble jumps by more than its own height.

12.6.3 Scroll Bar too sensitive

This is a generic problem with X11 and long documents. You pick up the scroll-bar-bubble using the middle key, and scan the document. Regrettably the entire scan of the document is done within the height of the window. With small documents this is OK, but big documents jump up and down too much with tiny mouse motions.

Personally, I would configure some sort of ’scroll document through MUD’ mode. That would give a more ’stable’ feel to the scroll bars, as they do flicker, and make it easier to find things.

Tcl allows Button-2 to drag the paper, (( repeating outside the frame for long docs )). So do a few X11 widgets. If Button-2 isn’t busy it would be nice ...

12.6.4 Scroll jumps

I use a scrolling desktop. Sometimes a page of document is taller than the screen, so I don’t use PageDown, I use arrow keys. I particularly like them in browsers.

With LyX, when the cursor (insertion point) touches the bottom of the screen, it jump-scrolls 20% upwards. This is good when editing, but not so good for scrolling. If it does it again, it could learn to scroll, with the cursor the selceted 20% above base-line.

Personally I would like arrows to scroll the page, after PageUp PageDown or any other action that scrolled the page. Maybe move sideways to exit that mode.

12.7 Glitches

12.7.1 Readonly files in dir

Help, documentation, loads the document into a buffer (fair enough). However, I don’t have write prmission on the file or on the directory.

The auto-save facility generated a few errors, and Preview failed because it couldn’t write the TeX file for formatting. TeX got activated anyway, and started to talk to me in the xterm I used to start LyX, causing all sorts of problems (especially when not started from an xterm!).

12.7.2 Loads of Files

LyX created a lot of ’semi-useful’ files, as part of the previewing process, you may find filename.{dvi, log, aux, tex, ps tmp, lyx.bak, lyx.bak˜ ) in addition to filename.lyx. These should really be created in a working sub-directory, or /tmp/LyX/$LOGNAME/.

12.7.3 Core dump

Occasionally the program code dumped and died. When this happened it was very sudden and all file changes were lost. A bit disheartening really. However I have seen applications do this at one release, and then be rock solid on the next. I guess it only takes one bad function to get included in several places to cause problems, but when that bug gets fixed, the product suddenly becomes reliable.

13 thot

This is a 4 M archive, with loads of dictionaries, and a Motif binary from France. It is not re-distributable, you HAVE to obtain it for personal or educational use, but it takes less than 30 minutes to download. With BT phones costing £2 per hour w/ends, it’s not too bad. You first have to fill in a registration form, and get the exact pathname back.

The .tgz file that you get, has full path names, that install it into /usr/local/thot. This is fine if you have enough space. You should be root when you un-tar it, and a plain user when you run it.

        browser http://opera.inrialpes.fr/thot/
        ... follow the instructions ...
        I did:
root:
        tar -C / -zxf thot-linux-elf.tar.gz
user:
        /usr/local/thot/bin/thot doc &
        select doc
                /usr/local/thot/doc/Thotman-E.PIV
        View
                Zoom - Increase (until larger - note reformat of text)
        Window Resize Bigger - note paper width still A4

This is a document system, with all sorts of formatting options. I guess that you have to really use it to see if it makes sense to you. I have not yet had the time to do so, so I won’t comment further, except to say that it works, and may be worth serious evaluation. Especially if ’ez’ is too light for you, and you have a fast machine and network.

14 dvi .ps .tgz .shar .me .ps

What are all these file formats? How can I view them? Are they convertable? Where is the editor, or do I create them from scripts? Can I start a line with a dot? Do I use a comma?

14.1 compression

14.1.1 ,gz - gzip compressed

This is the standard gnu gzip format, which is open and efficient.

14.1.2 ,Z - old compressed

This is the traditional Unix compression. Many people prefer gzip, which makes files about 25% smaller than compress can manage.

14.2 Packaging

14.2.1 ,tar

This is the standard unix tar file (tape-archive). Most people use this to package up a subdirectory of files into one file.

tar archives are useful, because they retain the original file modification date, rather than making everything have todays date (cpio does the same).

14.2.2 ,tgz

This is the same as .tar.gz, ie a compressed tar archive.

The easiest way to view a .tgz file is to use mc (mc-3.1), and press Return over the filename.tgz file. Then browse inside the file. Eg with the prep.ai.mit.edu = GNU = CDROM-disk3, browse to /cdrom/gnu/gnuplot.tgz, then browse inside to find ./gnuplot/docs/latextut/tutorial.tex.

View this file with F3, then copy it to /tmp using the F5 key. You will use it later to see how tex works.

14.2.3 ,cpio

Unlike tar, there is no standard name.ext for cpio archives.

cpio is an SVR3 / SVR4 sort of utility, but gnu supports it with a cpio utility. Some people like it because it can recover from broken tapes, but I never got much luck when this happened to me. cpio is very good at holding /dev/nodes and symbolic links.

I use cpio to duplicate directories on the disk, eg

        FROM=/usr/local
        DEST=/hdc2/local
        cd $FROM || exit $?
        find . -print | cpio -pvdm $DEST

14.2.4 ,shar - shell archive

A .shar file is a shell script that expands into several files. Beware of running these blindly, as you will be giving a trojan a free ride. Fortunately, being source, trojans get spotted quickly, and kicked off reputable systems.

14.2.5 ,zip - DOS style archives

These are much like .tgz files, except they have more of a DOS history. Netscape uses a .zip file to hold it’s java extensions. Probably because the authors have all the .zip tools they need to make good sense of this format, even if the content varies between systems.

14.2.6 ,rpm - redhat package module

This is a file format that RedHat have licenced to the world, to package source and binary packages, and install them.

The format is not immediately readable by simple utilities, but I did manage to install an .rpm package, by copying the /rpm/ directory from the CD, and running it on one of its own files. For the latest version of RPM look on http://www.redhat.com. You can then install .rpm packages on a slackware (or other) system. If not, raise a bug.

,rpm packages are ususally pre-compiled, and pre-configured to make sense in a RedHat Linux environment. Ie they are the original package plus a few diffs to make it install smoothly. Mixing slackware and RedHat system files may cause problems that neither side will help you with. Most of the files are ”effectively the same” (eg Slackware ”ls” vs RedHat ”ls”), but there are different approaches to sytem configuration, especially that part which is meant to be done by the user. EG /etc/rc.d, and network configuration files.

However, if you keep to categories of application, you should be ok. EG installing scilab.rpm on a slackware system might work. If you aren’t the first to attempt it.

,srpm packages are the source, used to build .rpm’s

14.3 print ready documents

These have been pre-formatted by a word processor into formats that are ready to be printed by a postscript printer, or are in a portable format that gets the correct font selections.

14.3.1 ,ps - postscript

postscript can be viewed in X11 using ghostview or gs. It can also be converted to other formats (eg epson-dot-matrix) using gs.

Postscript is a full blown language, capable of calling programs and reading files. Always use the -dSAFER option, to prevent trojan’s taking control of your system. just because you viewed a .ps file.

14.3.2 ,dvi - device independent

dvi files come from TeX. They are like postscript files but smaller. Use the xdvi command to view them, and dvips to convert them to postscript.

14.4 on-line files

OK .ps and .dvi are online.

14.4.1 ,1 .1.gz .me .ms - man pages

These are man pages for the (1) directory. When installed use the man or xman command to find and view them. They get formatted by groff using the -man macros. groff -T ascii -man FILE.1

,me files are formatted using a command like nroff and the ’.me’ macros

        nroff -T ascii -me filename.me | less
        nroff -T ascii -mandoc filename.man | less

Except of course read.me!

14.4.2 ,txt - plain text files

These are either totally plain, or mostly plain files, that need no formatting to view or edit.

14.4.3 ,ez - AUIS files

The ez word processor creates .ez files for text and sheets. Use the ez word processor to view them, though they are almost plain text. The AUIS system can be fount in /cdrom/slackwar/contrib and others.

14.5 Graphics files

There are plenty of graphics file formats, and I am well confused by them all. Some come from other machines, and may be less used.

Some swiss-army-knife utilities handle several different formats, and can convert between them. Try xpaint, xloadimage, xv, netscape, ...

14.5.1 pbm - portable bit map

These are X11 bitmaps, with N colours. You can view them with xpaint or xloadimage.

14.5.2 pgm

There are several types of bitmap, depending on how many colours there are, how they are selected and palletted. Whose system you are working on!

All I know is that FAX files get reduced in resolution x4, when they get converted from .g3 to .pgm. The same happens when a .pbm gets converted to .pgm. This conversion is ’lossy’, and ugly (possibly due to a library bug).

14.5.3 gif - graphics interchange format

These are compressed graphics files, with a proprietry algorithm. Now that Unisys is charging for use of the Licence, alternatives are appearing.

14.5.4 ,tex - TeX or LaTeX source files

These are editable text files, with embedded TeX commands. You run the TeX processor on them to produce .dvi files. Then you either run xdvi or dvips and ghostscript/ghostview. If TeX finds an error in the text (not uncommon), it usually stops to give you a chance to correct the errors. Either press CTRL-D or quit, and it will go into batch mode.

You might have to run TeX twice, to get the indexing and x-referencing correct. Here is a worked example:

        mkdir /tmp/temp
        cd /tmp/temp
        cp /usr/doc/TeX/Gentle.tex .
        tex Gentle.tex          # takes 20 seconds
        tex Gentle.tex          # takes 20 seconds # repeat for index
        dvips Gentle.dvi        # takes 15 seconds
        ghostview Gengle.ps &   # takes 10 seconds
        xdvi Gentle.dvi &       # takes 3 minutes + 10 seconds
        xdvi Gentle.dvi &       # takes 10 seconds

Actually this is doing things twice, you don’t have to both every time. This is so that you can see the difference between ghostview and xdvi. IE they both take the same time, but xdvi may have to create some fonts. If they were already on the disk it’s just as fast. Also xdvi looks a lot easier to read than ghostview - but this may be due to the fonts.

(( is there a way to configure ghostscript to use the fonts that xdvi uses? ))

Personally, I think there is a bug in ghostscript, but it’s probably only visible at 75 dpi, not at 300 dpi (or even 600 dpi if you have such a printer). At every step run ls, to see what files get created, and how big they are.

The xdvi command took ages, because it had to create all the fonts in the right format. The second time, the fonts already existed, so it took a few seconds.

The ghostview took about the same time as xdvi - but only when both have the fonts already prepared.

Both xdvi and ghostview allow you to select which page to view. They both give you a magnifier (click or hold a mouse button over the text, try another button), so you can see the any hard to read bits. There is another ’gv’ ghostview viewer available on the net somewhere, but I haven’t tried it yet. It might have other command options, but will probably have the same display quality (unless ...).

What do you think?

14.5.5 ,html - hot metal WWW files

These are viewable using lynx, arena, mosaic, netscape, chimera or your favourite web browser.

They contain X-REF’s to other pages ”URLS”, which may be on the same machine or on different remote machines.

The Hyper Text Marup Language HTML standard keeps changing, as the heavy-weights try to jostle it out of popularity. The next thing is style-sheets, where you select header fonts in a site-wide config file. Just a sniff of creeping functionality, with a strange SGML base format.

14.5.6 sgml - Source Document Markup Language

These look like html, but may get compiled to TeX or compiled into documents. The tag names are completely different from HTML, and could define any set of name tags.

These are not usually on-line browsable.

14.6 Program source

These are files that get interpreted or compiled to be programs, or structured data.

14.6.1 ,c .h

filename.c is a ’C’ program source, that gcc can compile into filename.o Other names are .cc or .cpp for ’C++’ source which you can compile with g++. If the source follows all the standards, the program should be portable to many machines and environments.

filename.h is a ’C’ program header file (or other language header file). It ususlly contains constant declarations, type declarations and function declarations (that later get defined in .c files).

Other languages use other filename extensions for their sources, such as .pas (pascal) .bas (basic) .m4 (m4 macro text) .cpp .hpp (the list goes on). Some languages might have interpreters, ’C has a compiler.

14.7 Program objects and library files

When you compile a .c file, it usually becomes a .o (object) file.

14.7.1 ,o Object

This is machine code (binary executable for the specific architecture of the CPU and system), along with a symbol table so that the linker can find all the pieces by name.

You can’t run, since it doesn’t have a program header.

14.7.2 ,a .so

You can pre-link a group of .o files into one libname.a file or a shared libname.so (shared object) which can be linked into a running program, either statically or dynamically. Shared object libraries are usually left as-is to be linked at run time.

When a program that uses shared libraries is started, it loads the header index of each shared library it uses. You can get a list of .so’s that a program uses with:

        # fogrotten

Some programs load the libraries later, (as required), but most print a list of absent ones and die.

15 Ghost Script

Postscript is a language used for printers. Documents in postscript form are font commands and strings intermixed. Actual drawing programs, and embedded things are also possible Ghostscript is a postscript interpreter, and graphics renderer (that’s font rendering, and 2-d shape NOT 3D texture rendering - ok?).

gs has a number of device drivers. It can produce epson 9 or 24 pin dot-matrix escape codes (pages of graphics, a line at a time), or output for PCL printers, or SVGA LIB display, or X11 display, or .pmb files.

Running gs -? gives you a list of devices and options. man gs explains them better. /usr/lib/ghostscript/doc explains a lot.

I installed it with other Slackware packages, during installation. To add packages, browse to where the package is, and run

        cd /cdrom/slakware/z9/. # where z9 is the releven disk directory
        installpkg pkgname.tgz  # where pkgname is the package name

installpkg used to have a problem updating index files, but it now works, and packages installed this way, appear in the listings, in the same way as those installed by the setup program.

15.1 Display tiger.ps on a linux graphics console using SVGA LIB

        gs -dSAFER -sDEVICE=linux /usr/lib/ghostscript/examples/tiger.ps
or:
        gs -dSAFER -sDEVICE=linux -r 640x480x266 tiger.ps

You can’t be running mc-3 on the virtual console, because that gives you a different child virtual tty that is not a graphics console.

Use CTRL-C to interrupt the program. This is messy, but gs is really meant for batch convertion, not interactive chit-chat, but it does quite ok.

This looks very nice but it is graphics, not text. Ie graphics does look nice, but TEXT has to be readable, as well as having an overall look.

15.2 Display tiger.ps on an X11 graphics console

gs is an X11 utiltiy, not an application. All you get is an X11 window with a native x11 bitmap in it. The window can be easily moved. It can be closed by the desktop (Quit button from the frame). And not a lot else.

        gs -dSAFER -sDEVICE=x11 tiger.ps
or:
        gs -dSAFER -sDEVICE=x11 -r75 tiger.ps

The -r75, sets the scale factor resolution in dpi. A Higher number (eg 150) has more dots per inch (so you tell it), so it generates a bigger picture to cover the same dimensions. It used to be limited to 75 or 100, but any number seems to work.

15.3 Text or graphics

Graphics built from shapes, tends to scale well, however text is another problem. An A4 page reduced to your screen will be unreadable (it is on mine), so you use a scrollable viewer like ghostview and change the magnification.

There are two problems. The first is that the screen tries to be WYSIWYG, which is good for looking at page layouts, but is not so good for actually reading the text.

The second, is that the (automatically) selected font may not scale well to the required resolution, and produce hard to read characters.

Personally, I suspect that the fonts, or the font rendering is faulty. I may be wrong (I suspected the same with efax fonts until I looked at an xpm view). My theory is that at 300x300 dpi, the lost lines (and column pixels) are not noticable, but at 50 dpi it becomes so noticable, as to be unreadable. It may also depend on the font selected.

Running xmag to view a few characters, on a gs output page, and on a readable x11 text shows the difference. The letters appear to have lost their bottom line, or a line in the middle (eg across the center bar in ’e’). (xmag is available from the openwin desktop menu, click-right on the background (xearth :-), and click right on tools.

Here are a few examples, for you to see how screen displays will look. You make up your mind.

15.4 tk ref card - example ps

This is a free .ps file, with a useful list of tk command options. If you print it double-sided on A4 card, it becomes a foldable ref-card.

You can use any .ps file in these examples. I fetched ftp://ftp.aud.alcatel.com/tcp/docs/tkrefcard.tar.gz, which contained a pair of files: tk.ps, and tk.tex. Whilst you are there fetch tclhtml.tar.gz which contains tcl documentation in html format.

There are actually several pages (4 sides, two cards). gs will display one then ask you for return.

15.5 mkdir /tmp/temp

Create a scratch directory. Put tk.ps in there, and any mini-sripts you write. Delete it all afterwards, as some of these .pbm files can be huge.

15.6 gs -dSAFER -sDEVICE=x11 tk.ps

This looks the the printed page but is sideways, and the characters appear blurred.

15.7 gs -dSAFER -sDEVICE=x11 -r200 tk.ps

This is readable (albeit too big and slow), but the quality of the characters are dreadful when compared to native X11 fonts.

The ’blurring’ appears to be related to how the high resolution stroked lines have been scaled to the low resolution pixel coordinates. eg bad smudging algorithm.

15.8 gs -dSAFER -sDEVICE=pbm -r180 tk.ps

The idea here is to output the pages to .pbm files (bitmap files), which can then be viewed using xloadimage, or xv, or ...

I wanted to give gs the opportunity to drive a plain pix-map (which is what it does at all resolutions - more or less), and output that pixmap directly.

I put the following commands into a temp scripts. This creates big .pbm files, so delete them soon.

        DEV=pbm
        ext=$DEV
        < /dev/null     gs      \
                -sDEVICE=$DEV   \
                -sOutputFile=tk.%d.$ext \
                -dNoPause               \
                -r180x180               \
                -dSAFER                 \
                tk.ps

15.9 xloadimage -rotate 270 tk.2.pbm

This turns the image 90’ anti-clockwise. This is only needed because it is a ref-card, and prints landscape instead of portrait. It added quite a large CPU and memory overhead, but it got there. I used xmag to view individual characters. I chose -r180, because of epson -r360x180.

If you have a 9 pin (not 24) you might experiment with -sDEVICE=eps9high at 120x216, then other variations.

15.10 gs -dSAFER ...

Always use the -dSAFER option to gs, otherwise if you view a file containing a trojan, it will be run as a program, as your UID (ie as you) and may do something naughty.

        gs -dSAFER -sDEVICE=linux -r 640x480x266 tiger.ps

This is because ghostscript is a full blown programming language, and can call other binaries, such as rm -rf $HOME, or something more subtle, which you might not notice, but leaves you with no remaining security.

The -dSAFER option tells the interpreter to attempt to detect and limit such behavior. It allows you to use gs to drive a printer, without really knowing where the original file came from, or having to run in a special environment.

15.11 Output to an epson 24 bin dot-matrix printer

This is easy, but is a combination of tricks. Firstly you know that ghostscript does all the work for you (it says that here!).

Secondly - and most importantly, you know that RES=360x180 (it also says that in the ghostscript docs - but it isn’t obvious!) This is special to the epson driver and printer. Without this you get a shoddy 9 pin output!

Thirdly, you know that your epson requires manually fed pages (to print double sided), and that it is a near certainty that either the paper will jam+tear, or the operator will put the paper in upside down, requiring two pages to be reprinted.

Armed with this knowledge, you create the following shell script, read it and run it. ”$1” is the name of the file, less the .ps extension. It creates SEVERAL files, each file containing the escape codes required for a page of epson output. Regrettably I don’t know any way of previewing these files other than printing them.

        file="$1"
        RES=360x180
        gs                              \
         -dSAFER                        \
         -sDEVICE=epson -r$RES          \
         -sOutputFile="epson.$1.pg.%d"  \
         -dA4                           \
          "$file".ps

You then send each file (page of epson codes) to the printer. I used another shell script that asked me did I want to print this page Y/N. This is to skip 20 pages, and to pause between pages.

        for file in "$@"
        do
                if yes_no print $file
                then
                        dd bs=2k of=/dev/lp1 if=$file
                fi
        done

dd is a standard unix utility (duplicate data to/from device or file). The 2k blocksize helps keep the buffer full. You could also use

        cp $file /dev/lp1

For those who want it, the yes no script is:

        #!/bin/sh
        # yes_no
        question="$* [y/n] "
        while :
        do
                echo -n "$question"
                read line
                case $line
                in
                        y|Y|Yes|YES|yes)
                                echo "YES: $*"
                                exit 0
                ;;      n|N|No|NO|no)
                                echo "NO: $*"
                                exit 1
                ;;      *)
                        echo
                        echo "Wrong answer ($line) - this is a yes_no question"
                        echo
                        if tty -s
                        then
                                : continue
                        else
                                echo "stty -s says this is not Interactive"
                                echo "resonse is No"
                                exit 1
                        fi
                esac
        done

In addition, you also want the tunelp program, to select IRQ7 instead of polling. It is MUCH faster (you may also need modprobe lp to get the lp driver statically loaded if it is a module). man tunelp.

If you already have your printer setup for tractor feed and unattended output, your life will be much easier. If you have a laser printer, you want to read the printing HOWTO, and have the magic filter call ghostscript for you.

This took over 4 hours (70 pages is a lot for a dot-matrix, where every page has to be aligned). It also had a nasty problem, where the first graphics line is LOST! This may be a problem with gs, or it may be due to sending the text directly to the printer, ie the first line confused the printer. I’m not certain, but I couldn’t get it to work, and it only lost the page numbers. I did try to shift the page down a line, using a gs option, but that didn’t help.

15.12 /usr/lib/ghostscript/doc/*

Look in here for further information.

16 gnuplot for botanists.

gnuplot is an axis drawing program, that takes data in ASCII format, and produces fancy graphs. You will need X11 running and a text editor. I installed this as a Slackware package. For many people it is a standard component. According to it’s own README, the GNU in gnuplot has nothing to do with GNU. Strange, but fair enough.

16.1 /usr/lib/gnuplot/demos

There are a several demo programs, and datafiles here. Might as well try a few.

16.2 gnuplot world.dem

Up pops a flattened globe, then a transparent one, then a cylinder.

16.2.1 world.dem (1414 bytes) This is the program that sequences the demo, and draws the graphs.

16.2.2 world.dat (17 k bytes) This is the datafile with the approximate coastal outlines, in 3-d coordinates (latitude, longtitude). Not bad for 16k. Does it fill ??

16.2.3 world.cor (3485 including comments) This is a list of points, marking city and university sites. I wonder what the MX records say ... This file shows how you could keep comments in datafiles, whilst still sorting and auto-editing the data files.

16.3 gnuplot all.dem

This cycles through some graphs, ranging from the sinusoidal, to the experimental. Goes through all variations of a type of graph.

16.4 gnuplot.gih (120 k)

This is the online help topic documentation (except for man gnuplot). IE when you type ”help topic”, that ext comes from this file.

It explains how to set titles on graphs, what kind of graphs are available, how to call math exprs. how to read files of data-points, and how to generate maths functions.

You can access it using less, or an editor that allows you to search for keywords. It can be run in another VC, whilst you browse the gnuplot command lines, and data files.

16.5 defaults.ini

This file is manually included in many demos using load ”defaults.ini”

16.6 Online-help

see above (gnuplit.gih)

16.7 More help

Whilst I like Slackware, I also like the original packages. If you look on disk3, or prep.ai.mit.edu, you will find /cdrom/gnu/gnuplot-3.5.tar.gz, with loads of files and docs in there.

From the example gnuplot graphs, you should see that it can produce neat graphs from files of data points, and quick command lines. Type your data in, using a similar line-per-point format. Keep the data in the correct (sorted) sequence, and create a 1 line gnuplot program, maybe add a line or two for the titles.

17 archie -via- www

net connected or not connected?

17.1 Gopher - what is it?

You can install xgopher to have a look. More or less it is what they used before www came on-line. It is a university service menu front-end to browse lists of files, download them and view them.

You connect to a gopher server, and follow it’s menu commands. It may have interesting links to archie, or whatever the server administrator felt like adding. Since your initial gopher server probably links to others, you may find information that www/html doesn’t have, or connect to search engines that are not easy to find. It is useful when your server is a local campus facility, otherwise use http.

17.2 Archie - what is it?

Archie is a system where all the universities cooperate to produce a huge index of files, of their anonymous ftp servers. If you know the name of a file (or part name!), you ask archie to find it for you.

Archie returns a list of matching files, and where they are. To save time, archie only returns the first find on each server, so a loose search might locate a README that hasn’t changed, when the .tgz file has.

You can use a local archie client, or you can use somebody’s WWW to Archie interface (eg ArchiePlex), a WWW/CGI form.

University ftp machines include mirrors of other ftp machines. src.doc.ic.ac has many files from many sources, and is useful for UK clients.

17.3 ArchiePlex

ArchiePlex is a WWW/CGI fromt-end form for archie (There must be others). You point your browser at http://www.lib.ox.ac.uk/internet/archieplex/, fill in the form and it does the interfacing.

http://archie.doc.ic.ac.uk//archieplexform.html for Imperial College.

Don’t believe the results blindly. Archie uses the file’s mtime, which could be close to accurate, but is easily wrong. EG when copying a CDROM onto disk, the system administrator must remember to tell cpio to preserve the mtime on files (-pvdm). The mtime of the original source file must also be correct!

interestingly, gzip’ing a file to file.gz, puts the file’s mtime into the .gz header. Browsers (eg netscape) that fetch the file and expand them for viewing AND for processing, are not doing you any favours, when they save the file as uncompressed.

Archie stops searching a host on the first matching files found. This might be package-1.2.README, when package-2.3 is what you are looking for! There is also the risk that the file is unavailable when the index item says it should be (though I don’t understand why that happens).

17.4 example archie session

By the time you read this, the bugs shown will have changed. But here’s the story ...

        browser ...
        http://www.lib.ox.ac.uk/internet/archieplex/doc/form.html
        set: nicer # eg batch processes get fewer bigger chunks
        search for: xearth
        save as: ./archieplex.xearth
        set: Not so nice
        search again sorted by date
        save as file: 9602/sess1/archieplex.xearth.sorted

The file you get back is an HTML pagem with hotlinks to the servers and files. It makes it very easy to fetch the file you have just found. This looks great, but needs a bit of manual interpretation.

17.5 Unexpected errors

• Servers with the file you want might be exceeding their 200 user ftp limit.

• File may exist in the index but not on disk!

• The age of the file may be misleading (ie the most recent at the top of the list, may be a very old version with a recent date).

• The first file returned MIGHT be the README which hasn’t changed.

• Package-1.2.3 might really be 0.95 with someone elses mods.

With the sorted results for search xearth, follow the first link to

¡-! very long line hated by groff -¿

ftp://scitsc.wlv.ac.uk/pub/infomagic/source+internet/source.code.cdrom.Oct94/X11R6/contrib/applications/xearth-0.91-0.92.diff.gz

Note that the Oct 94 tells you that something is wrong. When the SysAdmin copied the CDROM to disk, the mtime of the file was set to ’today’, not the original date retained.

To avoid this when you copy a tree of files, use the -m option to cpio, and do this as root. To preserve existing file ownerships ls -l /cdrom do

        cd /cdrom
        find . -print | cpio -pvdm /hdc2/cdrom_14

17.6 Top of the list - outdated!

The list shows wlv.ac.uk at the top of the list, followed by sites claiming to have 1.14, followed by sites with 0.92 (then 0.6 - bless them). Sorry wolves, nul points

        1       uk      scitsc.wlv.ac.uk
        2       us      ftp.cs.umn.edu # Univ Minnesota (1.14 absent?)
        3       no      romeo-klive.nvg.unit.no
        4       se      ftp.luth.se (has both 1.14 and 0.92)
        5+      **      0.92 or 0.6

Strangely enough, a later search for ’stretching’ also produced a stray result, on the same disk! But that was because the rec.sport.misc FAQ was deleted from the infomagic disk, but the directory thoughtfully left there to see that it really does exist. (Wolf saves pack).

17.7 Looking with FTP to check the package versions

This is an example of an FTP session, looking for a file that isn’t there.

gps@trix:/tmp/pkgs_cd/xearth-0.92$ stty erase ^H
gps@trix:/tmp/pkgs_cd/xearth-0.92$ ftp -n ftp.cs.umn.edu
Connected to ftp.cs.umn.edu.
220 ftp FTP server (Version wu-2.4(14) Mon Dec 11 10:01:35 CST 1995) ready.
Remote system type is UNIX.
Using binary mode to transfer files.
331 Guest login ok, send your complete e-mail address as password.
Password:
230-Welcome to the FTP Site for the University of Minnesota,
230-Department of Computer Science.
230-
230-Commonly used packages and their paths on our site:
230-Package             Mirror site             Local Directory
230-Netscape    ftp.netscape.com        /packages/ftp.netscape.com
230-Tcl-Tk              ftp.smli.com            /pub/misc/tcl
230-GNU         prep.ai.mit.edu         /packages/gnu
230-
230-X11: All located in /packages/X11/
230-Packages mirrored from ftp.x.org:
230-  R5        R5-Contrib      R6      R6-Contrib
230-
230-Linux:      All located in /packages/linux/
230-  Slackware ftp.cdrom.com           /slackware
230-  Kernel    ftp.cs.helsinki.fi      /kernel
230-  Docs              sunsite.unc.edu         /docs
230-
230-NetBSD: All located in /packages/NetBSD/
230-Packages mirrored from ftp.netbsd.org:
230-  Current NetBSD-1.1
230-
230-NetBSD-Amiga is mirrored from ftp.uni-regensburg.de in /pub/NetBSD-Amiga
230-
230-If you have comments or questions please mail ftp-admin@cs.umn.edu
230-
230-Please read the file README
230-  it was last modified on Thu Mar 16 15:32:28 1995 - 336 days ago
230 Guest login ok, access restrictions apply.
ftp> hash

ftp> cd pub/NetBSD-Amiga/contrib/X11
250 CWD command successful.
ftp> ls xe*
,..
,..     ls xe* shows only 0.92 !! where has 1.14 gone?
ftp> quit

17.8 No fake dates, please!

This gives you the date of the package, rather than the date of the tar file.

Now locate the xearth files in the directory. Look-at (and save to disk) the 91-92 diffs. The first lines are the times and dates of the HISTORY file ie:

diff -r -c xearth-0.91/HISTORY xearth-0.92/HISTORY
*** xearth-0.91/HISTORY Wed May 25 02:05:17 1994
=-- xearth-0.92/HISTORY Wed Jun  1 19:38:25 1994
***************

This shows that the HISTORY file is being used properly (probably), so the correct date is in the HISTORY file line 1, and for a patch file it’s the top 3 lines. IE I don’t know what is more recent than Jun 1994, but thats the date of this package (it agrees with all sub files).

xearth 0.92 is the version on the CDROM, and it works, so why worry?

17.9 Strange Netscape Dialog Box - press F ilter

The Netscape ”Save As ...” dialog has a split mode. The top half is in one directory, the other half in another. To get them the same press FILTER every time you highlight a directory. If you lose the filename, carry on navigating, then cancel and repeat.

18 Mesa-1.2.6

Mesa is an OpenGL clone, (Lib-GPL). It includes demos, so that you can see what kind of 3-D rendering it does. You might prefer to install it into /usr/src/mesa, eg by creating a sym-link.

ftp iris.ssec.wisc.edu
tar -zxf ...
cd /tmp/pkgs_ftp/Mesa-1.2.6
make

        make linux-elf
        (takes as long as the kernel)
        su
                vi /etc/ld.so.conf # add /tmp/pkgs_ftp/Mesa-1.2.6/lib to list
                ldconfig

I’m not a Mesa user, but it will be one of the surface texture renderers used in 3D-browsers, and I hear that it’s close to standard.

I went through the demo, which tended to highlight a particular prgramming feature, or use of lighting. Most of them display a sphere, cube, cone, with some significant variation on lighlting, perspective, shading (etc).

The demos are quick, but generally simple (except for the cogs demo), and low-res. Ie I don’t know how long it would take to pov-ray a tea-pot, but I guess that if you are a Mesa user, you would be able to benchmark it.

19 Chinese xterm

xterm is an X11 terminal emulator, where you run text applications like less, vi and mc.

cxterm is an enhanced xterm that understands the Chinese character set and keyboard. It comes with the fonts needed and other tools, (such as cvi) which work with double width/height multi-byte characters.

Chinese character set texts follow one of a few different standards, so your cxterm is still a valid xterm.

I never know that this was possible, so I installed it to have a look. And yes it’s all chinese to me, so it was a bit of a non starter. However it all installed and ran OK, and it displayed various chinese letters. All the documentation is in english, and it appears to be a group of companents gathered into one distribution for convenience.

hztty is a separate module, included in the main distribution.

19.1 Two different file on sunsite CDROM’s

Oct 12 1994          1035 disc3/X11/xutils/terms/Chinese-Tools-1.2.XFree86-3.1.lsm
Oct 12 1994       2745520 disc3/X11/xutils/terms/Chinese-Tools-1.2.XFree86-3.1.tgz
Nov  2 1994          3766 disc4/sunsite.app/Chinese-Tools-1.1.README
Nov  2 1994        725210 disc4/sunsite.app/Chinese-Tools-1.1.bin.tar.gz
Nov  2 1994       1222175 disc4/sunsite.app/Chinese-Tools-1.1.dict-man.tar.gz
Nov  2 1994          1111 disc4/sunsite.app/Chinese-Tools-1.1.lsm
Nov  2 1994        814754 disc4/sunsite.app/Chinese-Tools-1.1.xfonts.tar.gz

/cdrom/X11/xutils/terms/Chinese-Tools-1.2.XFree86-3.1.tgz, is pre-compiled for your convenience, and arranged so that you install it directly from the ’/’ directory, not /tmp/pkgs cd. Slackware does the same for its tgz files.

There are different versions, 1.1 has more docs, 1.2 is more tempting! The 1.1 is in the wrong place on the CD: /cdrom/apps/. This also puts it on a seperate CDROM, because InfoMagic had to cut sunsite into CDROM chunks.

        cd /cdrom/X11/xutils/terms
        tar -C / -vxzf Chinese-Tools-1.2.XFree86-3.1.tgz

I installed one of these, and got a cxterm that behaved like an xterm, but also displayed Chinese glyphs, and had some sort of F3 key, that switched between different keyboard interfaces. Not knowing anything about chinese, I left it.

Apparently, there are different byte-code encodings for chinese ’big5’, ’hz’, character sets (and fonts) as well as different keyboard techniques. If it means anything to you, the documents should make sense. I got so far with them, I guess you would get further.

There is a chinese news group you can subscribe to, but it is general news in chinese fonts and character sets (not about cxterm). You can also try to read that using netscape.

There are other utilities, such as a big5 to postscript converter, which is shareware (it substitutes rectangles for certain symbols). If I was you, I’d pay a chinese student some extra cash to get your business computerised, and networked. You can recover the cost, with reduced phone bills, by sending personalised fax’s instead of chatting forever.

20 kaffe - Java Compiler

Java is a language outside of the browser.

kaffe implementation of the Java compiler and bye-code interpreter.

IE this is not a port of the sun code, with adjustments for Linux, it is a from-scratch implementation, that follows the Java standards, from Sun.

Java is a language, not a browser library.

20.1 I don’t yet do Java

Sorry but my TODO list is trying to strangle my life.

There is also a Java Development Kit, that has the Sun compiler, ported to Linux.

It comes with lots of example apps, that Netscape (with Java) can run. If trix is on-line, browse http://trix.dircon.co.uk/pkg/java for the JDK un-tarred. You can read it to find where to find the latest version is, and to play with the demo applets. They are very neat. The JDK is also on the InfoMagic disks, and probably most peoples!

The idea is you write Java code to feed to browsers, or other activities. You need all the tools, libs and docs for that, so you get the JDK.

If you need a non-sun implementation, or know how to test it, try kaffe.

21 cbb-0.64

Check-Book-Balencer cbb, is a tcl cash-book accounts package. It handles one account.

# http://www.me.umn.edu/home/clolson/cbb/cbb-man/cbb-man.html
# ftp://ftp.me.umn.edu/pub/finance
ftp ftp.me.umn.edu
cd /pub/finance
ls
mget *E
mget *64*
quit
tar -zxf cbb-0.64.tar.gz  -C /tmp/pkgs_ftp
cd /tmp/pkgs_ftp/cbb-0.64
make install
# detected perl and wish
# netscape for docs
# gnuplot for diags
where should binaries go ? ~/cbb
where should libraries go ? ~/cbb/lib

To make sure I always set the PWD directory, I wrote a shell script:

PATH=~gps/cbb:$PATH
export PWD=`pwd`        # env var needed, ? csh relic ?
cbb

Which I ran and loaded the demo file from the source tree.

        File Load - browse back to
        /tmp/pkgs_ftp/cbb-0.64/demo/cbb-demo.cbb

22 xfinans

This is another mini-accounting system. It handles several accounts (cheque, Visa, cash, ...)

22.1 Installation as a user

Like many packages, xfinans allows you to build it and run it without access to the root password. All files get stored in your $HOME directory, or where you put them.

For the most recent version, check http://www.iesd.auc.dk/˜ lupus/xfinans.html or look on your sunsite CDROM /cdrom/apps/financial/xfinans-5.8.lsm

su root -c "chgrp gps /usr/src" # allows creation of dirs and slinks.
tar -C /usr/src/ -zxvf xfinans-5.8.tar.gz
cd /usr/src
mv Xfinans  Xfinans-5.8
ln -s Xfinans-5.8 Xfinans
cd Xfinans
less README     # 1/2 page hello with URL
less INSTALL    # tells you to ...
cd Src
xmkmf
make depend
make
cd ..
xrdb -merge XFinans.defaults    # repeat every X11 session
Src/xfinans &

22.2 Transfers

xfinans allows multiple accounts with transfers between them (it creates two seperate lines, which you shouldn’t edit in isolation). It includes categories, and has a few helpful editing features - the forms retain their previous texts, so that you can do a batch of petrol receipts (though there is no support for milage).

22.3 ASCII files

The output .acc files are viewable text, but be very careful of accidently changing the number of lines. A quick look at the source code should provide you with utilities to read and write those files. Files can be read a line at a time quite easily, even from shell or awk.

Each account is a seperate file. At the end of the year you would archive the files, and build an aggregate with acct1 95 acct1 96 acct2 95 ... being in the same directory.

23 Linuxing with X11

23.1 X11 keyboard stuff

If you are having problems with BackSpace, see the earlier section.

23.2 Starting X11

There are different window managers, or ”desktops”. Motif and mvwm (if you have it) is one. fvwm and olvwm are others.

If you type openwin & you start up the XView/OpenLook olvwm desktop, the one with the blue background (unless you have installaed xearth!). This is the desktop that I have been using, and some comments here might not apply to your desktop.

If you type startx &, you will get the fvwm (feather weight virtual window manager). This uses less memory than olvwm, but gets the same job done. It probably has key-bindings that will contradict what is written here, so be aware.

If ˜ /.xinitrc exists, it must contain the olvmn or fvwm command.

23.3 Mouse hints

When you click the mouse, take care not to move the mouse, OR move it by a pixel or two.

X11 and your application, receives a sequence of events that logs every key-press, and release and movement. Different applications may have different sensitivities, becuase they interpret the sequence of events themselves.

For example, if you click-right on the openwin desktop (background) the desktop menu appears. However, if you move by 1 pixel, whilst clicking, the pop-up appears, (you move within it) and disappears. You might even have selected an option by accident.

Other applications wont do anything until you either move or release. When you are used to your system, it seems quite plain and natural, but it can be a great source of confusion for beginners.

23.4 The X11 desktop is a foreign langauge ?

It starts out with point and grunt. Different apps make diferent sense out of the same guesture. You have to learn different schemes, and gravitate to a way of working that makes sense to you.

23.5 Desktop menu

With openwin, if you click-and-hold-right, the desktop menu appears. This menu is configurable, and allows you to start new xterms, accessories or demo programs. If you did this by accident, move the mouse away and let go.

The sub-menus will pop-up if you focus on the triangular symbol, and you can navigate into (or out of) that menu. If you release over the sub-menu’s top button, you will get the default from that menu (without ever seeing the menu). This is useful for when you want to start an xterm, but don’t want to pick one of the several options.

A right click in fvwm, pops-up a list of windows. Picking one brings it to the front. TO pick a window in olvwm, use the menu of windows from the desktop pop-up.

Note that if an application produces any error messages on errout or stdout, these will appear on the terminal where you started the openwin. If you start an application from an xterm, the error messages will appear in the xterm. This makes a difference when something doesn’t work, as you might not see the error message, and realise WHY it didn’t work.

23.6 Window focus, follows mouse.

I used to prefer the top window to stay active, now I prefer focusing with the mouse and not having to click. To change it in openwindows:

• desktop menu (HOLD-RIGHT over blue background)

• Properties

• Category: Colour - HOLD-RIGHT to get menu

• Category: Miscellaneous

• Set input area: (Move pointer) (ClickSelect)

• Apply

• Un-pin

In addition, within a window, the current focus may require a click to get the text cursor where you want it to be. Intelligent applications feel more natural, as they do that automatically. Most applications have an thicker border around the widget that holds the keyboard focus.

23.7 POINT-F5 raises window to front

This allows you to bring a window forward without having to find a safe place to click. It works with the OpenLook/openwin desktop, but Motif is configured differently.

If you want F5 to make mc (running in an xterm) copy a file, use ESC-5 instead. Don’t get mad, just think of it as a feature that prevents you getting too many copies of files!

23.8 F1, F2, F3, F4, are strange

Undo the default openwin configuration, by editing ˜ /.Xmodmap. Comment it all out. Then the question is: where is F5 defined, because it still works.

        ! *** Installed by xview3L5 ***
        ! F1=Help  (move pointer on panel, press F1 to show help on the item)
        ! F2=Find  (after having selected some text, press F2 to do a search)
        ! F3=Cut   (select text, press F3 to move text into clipboard)
        ! F4=Copy  (select text, press F4 to copy text into clipboard)

        ! F5=Paste (insert text from clipboard at caret position)
        ! comment the following out
        | use selection (maybe with SHIFT in xterm)
        | paste is Middle Button
        ! use xedit as clipboard
        !keysym F1 = Help
        !keysym F2 = F19
        !keysym F3 = F20
        !keysym F4 = F16
        !keysym F5 = F18

23.9 Left-handed mice

Don’t edit /etc/XF86Config, but put a command into your $HOME .xinitrc, eg

        xmodmap -e "pointer = 3 2 1"    # man xmodmap

or put the parts in quotes in $HOME/.Xmodmap (without the quotes). You should put this into YOUR $HOME, because you are left handed, not the system, and it is part of your configuration. When you move your files to another machine (eg by NFS) it will immediately be pre-configured. You could of course type it manually or add it to a menu somewhere.

I used this command, when my old mouse developed a faulty button.

23.10 F5 - Back to Front

F5 puts the window beneath the mouse at the front, or back of the stack of windows. Very convenient, except with mc in xterm, when you have to press ESC-5 to copy files between panels.

23.11 Window-Frame Right

Pressing the Right button over the windows border frame (eg the title bar) pops up a menu from the windowmanager. Choices include bringing the window to the front, or back, or to an icon, or quit.

23.12 Icons

Many applications have their own pretty icons, others don’t, and you get a default from somewhere. You can specify whether icons will be placed at the left, right top or bottom of your screen.

Every eindoe has two titles. The full title, that is displayed in the title bar, and an abbreviated one that appears on the icon. These appear in the pop-up menu, to help you find specific windows straight away. Clever apps can even change their own titles, eg editors put ”Modified” there, if you have unsaved changes.

23.13 ALT-Q

This is a bit deadly, so be careful that you don’t press it by accident. It quits the window (just as Quit from the window managers frame menu did).

23.14 ALT-W

This is too close to ALT-Q for comfort, but is very useful. It Converts an icon to a window, and vice-verse.

23.15 Paste into vi within xterm

Xterm can pass mouse events through to the application, using escape codes. New-vi / elvis understand these mouse clicks within xterm, and turn the option on. However, this makes highlighing, and pasting difficult.

To use cut+paste within an xterm application (that doesn’t have it switched off), press the SHIFT key. Do make sure that the cursor is in the correct place, as the pasted text is fed to the application via the keyboard buffer, ie where the character cursor is.

If you forget to press SHIFT when pasting into elvis, it leaves ’insert’ mode, and goes into open (command) mode.

23.16 CTRL-ALT-PLUS, -MINUS, ZOOM keys

The display can be switched between modes, eg 640x48, 800x600, 1024x768, 1280x1024, provided of course you have configured /etc/XF86Config correctly. Use CTRL-ALT-PLUS or CTRL-ALT-MINUS (on the numeric keypad) to step through a circular list.

Either the biggest mode, or the setting of Virtual (in XF86Config) defines the size of the full screen. When in a smaller mode, the displayed portion can be scrolled by pushing the mouse against one of the four sides.

This happens ’instantaneously’ because all of the current screen is loaded into the SVGA card’s memory, and XF86 is just telling the card to display a different area.

See Issue-1 for hints on configuring XF86Config. Personally, I spend most of my time in 640x480 mode, and scroll around a lot.

23.17 Text is too small to be readable

This is a general problem with high-res displays that aren’t running on 21” monitors! Many applications allow you to select the fonts that they use, either the font-style or the point-size. Some applications have groups of fonts, that you can switch between.

• set xterm fonts HUGE - CTRL-HOLD-RIGHT

• mosaic options fonts Helvetica 14 Pt

• ghostview scale=1 (0 is unreadable, 3 unwealdy)

• netscape options general fons Helvetica 14 Pt (Makes H1’s cleaner)

23.18 ALT-F1 ALT-F4

X11 has several screens, laid out as the virtual desktop. Each screen is selectable, ALT-F3 selects the third window.

This is visible in the openwindows mini-panel in the top left, where each open window is shown as an outline and a just-readable name. You can move windows there, by dragging them. Whilst dragging a window, if the mouse leaves, or enters the minipanel, you continue to move the window (abbreviated to it’s outline), but in the new context.

ALT-ARROW also changes the selected window (look in the condensed worktop map TLC), and SHIFT-ALT-ARROW moved by half steps! Note that the mouse must be pointing at the (blue) background, otherwise the current window gets the key-press.

23.19 CTRL-ALT-F1

This switches out of X11 to the first text based VC. CTRL-ALT-F2 switches to the second ... etc.

Note that when you switch TO X11 (usually with ALT-F7 because it is running on the first free VC), you have to release CTRL-ALT if you want to press them again.

If this seems confusing, it is because it is. Basically all these different facilities come from different places, and choose to use similar but slightly different keys. It soon becomes natural.

23.20 Ctrl-Alt-BackSpace

Kills the entire destop. Although this is done in a controlled way, every running application gets interrupted. Those running inside an xterm get a HUP signal, as though you were connected via a modem and the phone line went dead. Maybe you’ll see the spirit of Elvis.

23.21 openwin - or - fvtwm ?

These share ˜ /.xinitrc, which must end with either exec fvtwm or exec olvwm.

If you don’t create ˜ /.xinitrc, it’s decided by the original command, either startx or openwin.

Basically XF86 is the X11 driver that drives the PC display, it knows about SVGA cards, keyboards and what X11 wants it to do. But after the hardware has being driven, a display manager is needed to add the correct style of borders to windows, to pick up the desktop configuration menu, and to control how X11 messages are routed between apps on the desktop. XF86 will exit the X11 desktop, when olvwm exits.

twm is the basic window manager, fvtwm is a featherlite virtual twm, and uses the most traditional keystyles. Additional configuration of X11 come as OpenLook - with its own olvwm, or as Motif with mwm, or ... roll your own, but try to follow the defacto standards.

All this configurability appears as various scripts (that call programs), and config files. xinit is a program that traditionally has a $HOME/.xinitrc file, where the user specifies the various desktop accessories to be started, and which window manager to run. You may notice, that when the accessories startup, they don’t have any real borders (title bars), but when the window manager gets started (the last program in the list), it adds borders to every window according to its own styles and configuration.

23.22 xdm

The X-Display-Manager starts up X11 as part of the boot process. You then have to ”login” to its screen, instead of the text VC’s. The text VC’s are still there, via CTRL-ALT-F1.

23.23 X-clipboard

Highlighting some text in one application, cancels any text highlighted in another application, and sets the new text SELECTION. This can them be pasted into any other window that supports the X11 selection COPY/PASTE interface.

Actually, the application can have a selection of text-type, or of other types. Text seems to be the most common format. The keys to use to activate selection and paste, vary with applications and window managers, but it usually has a consistent feel.

Often it is a good idea to go-get the pieces of text you want to paste, and keep them in a clipboard for later. If you find selection confusing, it helps to use the clipboard, as you know your text has been sucessfully pasted somewhere , then you can switch to the other application, and copy them over again.

Run ’clipboard’. It is simply a place to cut and paste text, but it can collect several different strings, and recall them. Nifty!

You still have to highlight the selection from the clipboard, so that you can paste it elsewhere, but that’s simple enough.

23.24 /usr/openwin/lib/*menu*

I added raven.tcl to the desktop menu /usr/openwin/lib/*menu*, you can add any program you like, but the error messages will go the text console where you started ’openwin’ from (if you don’t run xdm).

24 URLS to surf

This is a prototype list, maybe one-day I’ll convert it to a different format. It is also prone to change, and maybe should be outside of any issue, but I think you’d rather have it than not.

Remember that browser ”clickable URLS” are still text, and you can use X11 select and paste.

Note that many of these are untested, one day ...

24.1 Raven

• http://sunsite.unc.edu/pub/Linux/docs/Raven is the main distribution, where it propagates to your CDROM.

• http://beyond.malmo.lth.se/˜ gps/Raven has the latest on-line copies. Many thanks to Lunds tech.

• http://www.users.dircon.co.uk/˜ trix My home page on the dircon ISP

• http://trix.dircon.co.uk/Raven if trix is on-line. (My poor phone bill, thanks VideoTron).

• http://beyond.malmo.lth.se/˜ gps/Raven/ftp You want the file called Raven01-1b.tgz, which has most things in it.

• http://www.winzip.com/internet.htm WIN-95 reads .tgz files

24.2 Linux - HOWTOs

Please note: http://sunsite.unc.edu/mdw/ should be mirrored along with sunsite:/pub/linux • http://sunsite.unc.edu/mdw/HOWTO/ the HOWTO-INDEX.html

• sunsite:docs/HOWTO/other-formats/html/ html packages

• sunsite:docs/HOWTO/other-formats/sgml/ sgml source )

• http://www.isc.tamu.edu/˜ lewing/linux/ The Penguin

24.3 Site and Search URLS

24.3.1 Site URLS • http://www.li.org/ Linux International

• http://www.linux.org.uk is where you can find a list of BOOKS to read.

• http://www.linux.ukuug.uk is where you can find the uk unix user group and maybe their SIG newsletter.

• ftp://ftp.xfree86.org is where you find the X11 drivers.

• ftp://ftp.x.org is where you find the X11 base + contrib

• http://sunsite.unc.edu/pub/Linux Central archive

• http://tsx-11.mit.edu Central archive

• http://sunsite.doc.ic.ac.uk/packages/linux Imperial College, London

• ftp://rtfm.mit.edu/ has a LOT of stuff • echo send usenet/comp.object/* | mail mail-server@rtfm.mit.edu

• ftp://prep.ai.mit.edu/gnu GNU

• file:/cdrom/gnu/DESCRIPTIONS

• ftp://ftp.cdrom.com

• http://www.li.org/linux-int/internet/otherwww.html - is a list of linux sites.

24.3.2 Distributions • http://ftp.cdrom.com Slackware

• http://www.redhat.com

• http://www.debian.org

• http://www.yggdrasil.com

• http://www.morse.net Slackware

• http://www.lasermoon.co.uk Linux FT

• http://www.cuug.ab.ca:8001/˜ barkers/programs/slackware-fixes/3.0-fixes.html

24.3.3 Distributors • http://www.infomagic.net They bundle distributions with CDROM sets

24.3.4 Search URLS • http://archie.doc.ic.ac.uk/archieplexform.html

• http://dejanews.com/ - for archived news

24.3.5 Coffe shops and beaches • http:

24.3.6 ISP’s Cables etc • http://www.limitless.co.uk/inetuk/providers.html - list of UK ISP’s

• http://www.dial.pipex.com/dial/netfront.html DIAL PIPEX Faults

• http://www.pipex.com/ 45 MBPS, more like 857 bytes per second ...

• http://www.uunet.pipex.com/company/uunetpipex/index.htm Who they are

• http:

24.3.7 X11 and monitors • http://www.zdnet.com/cshopper/shopguid/0695/index.html 15” Monitors what is dot pitch ?

• http://www.zdnet.com/cshopper/shopguid/0695/index.html PlugAndPlay Monitors - get current sync settings back

• http://www.cviog.uga.edu/monitors/monitors/a-n.html Model specs

• http://www.s3.com Generic S3 drivers

• see also: X11 tools

24.3.8 X11 from DOS This is where a DOS (windows) machine, acts like an X11 terminal. The programs run on the Unix box, but the display appears on the PC. Although X11 is free, the work required to port X11 to DOS, can make a PC-X11-Desktop expensive.

• x DESQview-X

• http://www.starnet.com/ Xwin and Xwin32

• ftp://ftp.starnet.com/ Xwin and Xwin32 - 2 hours demo

• ftp://ftp.xtreme.it/pub/xappeal Xappeal - 30 days demo

24.3.9 Harware URLS Although Issue-1 is mostly about hardware, I’m not particularly interested in it. It’s just the first obstacle to overcome. If you know of any URLS that should be added to the list (or replace it completely!) please call. Hardware is also discussed in various HOWTO’s. ftp://src.doc.ic.ac.uk/usenet/news-FAQS/comp.sys.ibmpc.hardware.chips A database of Linux Supported Hardware (from vendors) is available from http://linux.crynwr.com Parallel port devices are usually supported when not on the parallel port (ie SCSI). Support on the parralel port will require a driver. There are some, try http://www.torque.net/ for Iomega Zip, and SyQuest EX135.

24.3.10 DOC URLS 24.3.11 LDP-HOWTO’s

• http://sunsite.unc.edu/mdw/ the Linux Documentation Project

• http://www.idiscover.co.uk/linux/linuxdoc/linux.html LDP mirrored in the UK (and elsewhere)

• http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html • http://sunsite.unc.edu/mdw/linux.html is 48 K so save it in ˜ /9602/0222/mdw howto list linux.html • http://lsl.com Linux System Labs - latest LDP online!

• http://www.iki.fi/liw/linux/lsm.html Linux Software Map

24.3.12 QUE books online They’ve figured the value of permanent URLS, for key-facts.

• http://www.mcp.com/que/bookshelf/

• Add #0601 to following URL for Setting up Sendmail

• Seems # in URL messes up my formatter http://www.mcp.com/26340798101246/que/et/intlinux/06-05141.htm-0601

• http://www.mcp.com/26340798101246/que/et/intlinux/06-05141.htm Setting up Sendmail

• http://www.mcp.com/26340798101246/que/et/se cgi/Cgi07fi.htm Using CGI

24.3.13 Magazines • http://www.eurodream.co.uk/ Linux World

• http://www.ssc.com Linux Journal

• http://www.ssc.com/lj/Morelj/cool.html Cool it wirks with Linux! Logo

• http://www.ssc.com Web Smith

• http://www.linux.org.uk/lg/gazette toc.html Linux Gazette

• online

• http://landru.unx.com/DD/advisor/index.html X-Advisor magazine - free - paid for by ads

• http://www.generation.co.uk/magazin1.html G-Magazine

• http://tvp.com The Virtual Press

• http://www.magnastar.com/javology Java

• http://tvp.com/idn.html Internet Daily News

• http://pollux.com - pollux - they got there first

• http://www.byte.com/ Byte

• http://www.byte.com/ Byte

• http://pollux.com/compuweb/comphome.htm CompuWeb • UK

• http://www.CompShopper.co.uk Computer Shopper

• http://www.micromart.co.uk Micro Mart

• http://go2.guardian.co.uk/ guardian on-line

• http://go2.guardian.co.uk/internet.htm thread

24.3.14 RFC’s and ISO’s

• ftp://ftp.infomagic.com/pub/mirrors/InternetDocs/rfc/ is an index of RFC’s, each is available as rfc1234.Z.

• ftp://ftp://ds.internic.net/rfc/rfc977.txt is the NNTP rfc

24.3.15 Guides

• http://www.singnet.com.sg/˜ sunsurf/ is a nice installation guide based around the InfoMagic Apr 96 copy of Slackware

• file:/cdrom/tsx-11/ports/Xwdoc.tar.z - 1988 texts on X11 widgets

24.3.16 HTML

• http://www.w3.org/hypertext/WWW/MarkUp/html3/CoverPage.html HTML Specification Version 3.0

• http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html A beginners guide to HTML

24.3.17 SGML • http://www.jclark.com/ James Clark wrote sgmls from arcsgml, and now SP

• UNTESTED SGML WHISPERS

• http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Notes/rtf-html-converter-hector-ann

• ftp://ftp.primate.wisc.edu/pub/RTF

• ftp://ftp.rrzn.uni-hannover.de/pub/unix-local/misc/rtftoweb/html/rtftoweb.html

• ftp://oac.hsc.uth.tmc.edu/public/unix/WWW/

• http://mcia.com/ant/

• http://union.ncsa.uiuc.edu/HyperNews/get/www/html/converters.html 24.3.18 JAVA

• ftp://ftp.linux.org.uk/pub/linux/java/ JDK

• ftp:// http://www.java.co.uk

• http://www.objectspace.com/ Free-ish container library

24.3.19 Blind mailing list Join this list by sending a mail to: blinux-list-request@goldfish.cube.net with subject line: subscribe

24.4 Kernel and System Things

24.4.1 Kernel • ftp://ftp.cs.helsinki.fi:/pub/Software/Linux/Kernel/

• http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html

• http://rsphy1.anu.edu.au:80/˜ gpg109/mem.html graph of kernel source size

• http://pauillac.inria.fr/˜ xleroy/linuxthreads/ Threads are slim processes

24.4.2 GCC • file:/cdrom/tsx-11/packages/GCC/

• ftp://tsx-11.mit/packages/GCC/

• http://www.rt66.com/˜ brennan/djgpp/djgppasm.html Inline Assembly w/DJGPP

24.4.3 Shadow • http://www.broadwaynet.com/˜ shadow convert to /etc/shadow

24.4.4 GRUB • http://www.uruk.org/grub/ Grand Unified Bootloader - alternative to LILO

24.4.5 Linux 8086 Linux 8086 is a cut down (regrown) version, that runs on 8086 and 286 boxes. The idea being to reuse old boxes, and open up Linux to countries where 386 boxes are still rare. You should be able to run it under DOSEMU, and still have Linux-386 (or even other CPU’s) running. I have not tried that yet.

• ftp://linux.mit.edu/pub/ELKS 24.4.6 BUGS

• http://vortex.cc.missouri.edu/˜ rhys/Linux/Common.html

• http://bach.cis.temple.edu/linux/linux-security/Linux-Alerts/

• http://www-genome.wi.mit.edu/WWW/faqs/wwwsf2.html The World Wide Web Security FAQ:

24.4.7 News, FAQS, • news:comp.os.linux.misc newbie questions welcome here

• news:comp.os.linux.annouce read-only essential reading

• news:comp.os.linux.hardware

• news:comp.os.linux.development.apps help porting apps

• news:comp.os.linux.development.system help porting system

• news:comp.os.linux.networking

• news:comp.mail.sendmail after reading the FAQ!

• news:uk.comp.os.linux local issues

• ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/ is a collection of FAQ’s for the user groups so is

• ftp://src.doc.ic.ac.uk/usenet/news-FAQS/comp.sys.ibmpc.hardware.chips

• ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/chinese-text/faq

• http://www.iki.fi/liw/linux/cola.html comp.os.linux.announce help file,

• http://www.iki.fi/liw/linux/cola-via-mail.html comp.os.linux.announce by email

• http://www.cis.ohio-state.edu/hypertext/faq/usenet/advertisers-blacklist/faq.html

• http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html procmail (etc) howto

24.4.8 Chinese - and other fonts • ftp://ftp.ifcss.org/pub/software/x-win/cxterm/ chinese xterm

• ftp://linux.cis.nctu.edu.tw/pub/packages/chinese/

• ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/chinese-text/faq

• search for xcin and crxvt 24.4.9 PGP

• http://www-swiss.ai.mit.edu/˜ bal/pks-commands.html is a PGP-Key server so that posters can find your public key, when you’re at lunch. They can also compare that key with one on a document, and email both of you if there is a difference. This page includes links to other servers.

• ftp://ftp.ox.ac.uk/pub/crypto/pgp/utils/ - privtool-0.84a.tar.gz

• http:/www.c2.org/˜ mark/privtool/privtool.html

24.5 Linux as an ISP

• http://www.infocom.net/˜ linuxisp/

• http://www.amazing.com/internet/

• http://www.infocom.net/˜ linuxisp/lispweb.html List of providers

24.6 Semi-Free Products

24.6.1 Scriptum scriptum is an editor with some language support and FTP support

• http://www.inter-soft.com/eng/products/system/scriptum.html

• ftp://ftp.inter-soft.com/pub/scriptum/

• ftp://reality.sgi.com/ftp-intersoft/

24.6.2 Thot Thot is a word processing system, developed by project Opera (INRIA-IMAG) in France.

• http://opera.inrialpes.fr/thot/

• majordomo@imag.fr subscribe linux-thot

• http://opera.inrialpes.fr/thot/messages/ mailing list is archive

24.6.3 TCP/IP for WIN311 Convert WIN.311 to TCP/IP instead of Windows95! fetch wfwt32.exe (see also samba in slackwar/contrib) I couldn’t find anything else there of interest though!

• ftp://ftp.microsoft.com/peropsys/windows/public/tcpip/ .

24.6.4 Networking • ftp://ftp.gwdg.de/pub/linux/misc/ncpfs Novell

• http://www.hwy401.com/achau/ipmasq/ IP masquerading

• http://www.inka.de/sites/lina/linux/NetTools/index en.html ipfwadm

24.6.5 Development • http://iel.ucdavis.edu/CH/ C interpreter (semi-free)

• http://www.troll.no/ qt

• http://www.gnustep.org/

24.6.6 GUI libs • qt

• http://www.aiai.ed.ac.uk/˜ jacs/wxwin.html wxWindows

• http://www.hungry.com/products/lesstif/ LessTiff

• http://www.xnet.com/˜ blatura/linapps.html

• http://www.xnet.com/˜ blatura/linapps.html

• http://www.cs.cmu.edu/˜ amulet/

• http://sunsite.unc.edu/pub/Linux/devel/lang/c++ Fresco96.tar.gz

• http://www.faslab.com/fresco

• http://www.boutell.com/gd/

24.6.7 CDROMS • http://www.tug.org/texlive.html TeX user group CDROM

24.6.8 Jobs • news:uk.jobs.contract

• news:uk.business.telework

• http://www.jobserve.com/

• http://www.jobsite.co.uk

• http://www.pncl.co.uk/ukjobs/jobs/ JobSite News Service • http://www.itjobsearch.com/asc/

• http://dspace.dial.pipex.com/town/parade/nh99/calls/

• http://www.kidbase.co.uk/kid/sub/ptor.html

• http://www.netvision.co.uk/apex - eg city unix

• http://abraxas.co.uk/cgi-bin/nph-jobsearch.cgi

• http://www.elan.co.uk/cgi-bin/nph-jobsearch.cgi

• http://www.enterprise.net/recruitmentdb/ beyond uk

• http://www.mcg.co.uk/ scotland and chip plants

• http://www.joblocator.com/jobs/

• http://www.topjobs.co.uk bit posh + java intensive

• http://www.ozemail.com.au/˜ itheads

• http://bigweb.scom.com/scom/advert/95 00671.html

• http://Internet-Solutions.Com/itjobs.htm Index like this one!

• http://www.it-ta.com/ US

• http://www.dircon.co.uk/jobs.htm

• Http://www.citielite.co.uk/

24.6.9 Commercial places I have no connection with these, but they offer interesting products, or technical documents, or both.

• http://www.lasermoon.co.uk FT contributor

• http://www.demon.co.uk/solwise/scanners.htm shows you the FX200 modem to modem telephone eliminator (with UK power adaptor) at £18.50.

• http://www.microwarehouse.com - US UTP X-OVER cable

• http://www.spatch.com is where you find a paging despatcher, ie html cgi script that sends a message to a pager. Included list of pager sellers.

• http://www.dircon.co.uk/linefeed/tech1.html is all about EIDE (95), they also have tech2.html, about P5 sockets 7.

• http://www.sas.com - a 3270 graphics mainframe emulator for $99 (I don’t have a mainframe). Includes X11 API for WinHelp and rtf’s (whatever they are).

• http://www.busacu.co.uk/upgrade/index.htm Memory Info (cheap too)

• file:/cdrom/tsx-11/packages/eifel - a shareware compiler to learn eifel with, limited to 100 classes (ie 25 available for you) then $50 + $40 docs

• www.quadraly.com HTML publishing (30 day demo then expensive, untried)

• http://swt1.informatik.uni-hamburg.de/˜ 1willamo/dl.html SNIFF+EIFEL

• http://www.troll.no/dl/ QT-X11 libraries (FREE for FREE)

24.6.10 COSMIC - NASA Software They don’t write their own office apps, but they do serious engineering, finite element analysis, knowledge base, and other things. If you are an oil company, or university, I’d take a look at http://www.cosmic.uga.edu/

24.6.11 Fun places These don’t have much to do with Linux.

• ftp://kestrel.umd.edu/pub/wxsat/

• http://www.njin.net/˜ magliaco/ SpaceNews

• ftp://pilot.njin.net:/pub/SpaceNews/linux also from an overhead projectile

• http://www.juggling.org/ is the JIS, http://www.juggling.org/programs/Todo.html Software Development http://www.hal.com/services/juggle/ is the JIS old address,

• (warning:- the information contained in this java cartoon may (crash your browser or) disturb your lifestyle, the open transmission of material like this to ’anybody’ is a seriously worrying aspect of the Net).

• http://www.demon.co.uk/circustuff/

• http://www.pt.hk-r.se/˜ roos/othello1/ - online Othello (Back does an undo!)

• http://www.halcyon.com/tritoad/where.html - led to above

• Travellers

• http://members.aol.com/kkingboy/index.html Rants

• Nostrdamus

• http://www.newciv.org/˜ albert/nosty/nosty-index.html

• Radio

• http://www.virginradio.co.uk 24.6.12 Money

• http://www.demon.co.uk/moneyweb/index.html pensions + such

24.6.13 This stunning .sig deserves a mention ”Truth decays into beauty, while beauty soon becomes merely charm. Charm ends up as strangeness, and even that doesn’t last, but up and down are forever.” - The Laws of Physics http://wwwhep.phys.cmu.edu:8001/˜ walden/home.html And this historic photo of a leap second also, http://www.parallax.co.uk/˜ alfie/leapsecond.html

24.7 Packages URLS

• http://choices.cs.uiuc.edu/Vosaic/Vosaic.html - video over Internet, may require ISDN, doesn’t say. Uses Motif.

• http://www.cs.toronto.edu/˜ schenk/diald.html - diald

• http://www.pi.se/blox/ - Modules

• ftp://ftp.nuclecu.unam.mx/linux/local/ - Midnight Commander

• http://web.soi.city.ac.uk:8080/homes/njw/htmltext/htmltext.html HTML-EDIT

• http://www.ssc.com/˜ roland/tkHTML/tkHTML.html •

• sunsite:/system/serial/callback-2*

• grav-3.1.tar.gz - JPEG graphics viewer (svgalib not X11)

• ftp://ftp.bond.edu.au/pub/Minerva/msql/ •

• http://iamwww.unibe.ch/˜ scg/FreeDB/FreeDB.1.html - list of db things

24.7.1 Word Processors Office Apps Untested misc • http://www.uni-paderborn.de/˜ SciTeXt/archives/getSciTeXt.html WordProcessor

• http://www.cpsc.ucalgary.ca/projects/grouplab/groupkit/ groupkit eg wipe-board

24.7.2 Sound • x

• x 24.7.3 X11 modules

• ftp://ftp.hungry.com/pub/hungry/lesstif/ lesstif

• ftp://ftp.rhi.hi.is/pub/hungry/lesstif/lesstif.current.tar.gz Mirror in Iceland

• http://logic.csc.cuhk.edu.hk/˜ s947547/Xaw95/Xaw95.html Xaw with WIN-95 style

• http://www.faslab.com/fresco/HomePage.html Fresco, X11 lib

24.7.4 Graphics • ftp://ftp.wizards.dupont.com/pub/ImageMagick/binaries/

• http://sunsite.unc.edu:/packages/programming.grapgics/ - tagl21.tgz)

• www.cecer.army.mil/grass/grass.info.html terrain drawing

• http://evlweb.eecs.uic.edu/pape/vrml/etopo/

• ftp://iicm.tu-graz.ac.at/pub/Hyper-G/VRweb/UNIX

• http://hyperg.iicm.tu-graz.ac.at/vrweb

• http://www.xcf.berkeley.edu/˜ gimp/gimp.html Graphics IMP

• http://www.isc.tamu.edu/˜ lewing/gimp/ General Image Manipulation

• ftp://ftp.xcf.berkeley.edu/pub/gimp/ ftp site

• http://www.comp.lancs.ac.uk/computing/users/andy/ac3dlinux.html 3D modeller - shareware

• mesa - OpenGL 3d graphics lib

24.7.5 Data Base • http://www.openlinksw.com ODCB ¡–¿ postgres (COMMERCIAL) •

• http://s2k-ftp.CS.Berkeley.EDU:8000/postgres95/www/pglite2.html SQL

24.7.6 Info Sheets, Stats • http://lrcwww.epfl.ch/linux-atm/info.html throughput results for ATM on Linux

• http://www.cs.columbia.edu/˜ bm/3dcards/3d-cards1.html 24.7.7 misc

• ftp://ftp.icce.rug.nl/pub/unix Linux Cookies (quotes)

• http://www.iki.fi/liw/linux/linux-quotes.html mirrored as http

24.7.8 Netscape

There are several mirrors around, I chose a UK one. It is very confusing which dir and file to pick, so this is only an example. This file disables it’s features in August!

• http://src.doc.ic.ac.uk/packages/Netscape/pub/navigator/gold/3.0/3.0b4/unix/standard/

• netscape-v30b4-export.i586-unknown-linux-elf.tar.gz

• actually that build crashes on several Java pages, when previous didn’t

24.7.9 MGR

• http://archimedes.nosc.mil/Mgr

------------------------ Usenet -----------------------------------------
        usenet:net.answers
------------------------ urls -----------------------------
<htmlurl url="http://wwwis.cs.utwente.nl:8080/bestof.html"
        name="http://wwwis.cs.utwente.nl:8080/bestof.html">
<htmlurl url="http://liinwww.ira.uka.de/bibliography/Typesetting/index.html"
        name="http://liinwww.ira.uka.de/bibliography/Typesetting/index.html">
<htmlurl url="ftp://scitsc.wlv.ac.uk/pub/infomagic/source+internet/internet.tools.cdrom.Apr95/index.unx"
        name="ftp://scitsc.wlv.ac.uk/pub/infomagic/source+internet/internet.tools.cdrom.Apr95/index.unx">
is about that cdrom.
To blow-up netscape, select 'hot metal help from' phontom/ws.edu
------------------------ cd urls -----------------------------
disc5/tsx-11/packages/drealmbbs - soon!
sunsite: devel/debuggers/ddd-1.4*
sunsite:/utils/text/linuxdoc-1.4*
http://forgotten/slumbers - The worst quilt in the world
------------------------ urls -----------------------------

24.8 More URL’s to look at

• ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/netscape

• http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/NCSA/MosaicHome.html

• skim-0.4++ newsreader - want robot that drains when line quiet • •

• devel tools •

• sunsite:devel/c/cflow-(2.0)

• asWedit sunsite/packages/www - want html interactive sde

• /disk3/cdrom/gnu/cfengine-1.2.14 •

• Even More ... •

• Linux Resource by Topic page • •

• http://public.logica.com/˜ kempsonc/tknet.htm

• http://wwwhost.ots.utexas.edu/ethernet/ethernet-home.html

• http://www.zebu.com - the Mazama Packet Filter. •

• http://www.ast.cam.ac.uk/RGO/leaflets/leapyear/leapyear.html

• http://www.ft.uni-erlangen.de/˜ mskuhn/iso-time.html •

• http://rsphy1.anu.edu.au/˜ gpg109/mem.html

• http://pluto.ops.neosoft.com/netstat •

• ftp://ftp.openlinux.com •

• Apple

• http://www.info.apple.com also ftp.info.apple.com

• http://www.support.apple.com •

• sound

• http://www.digiserve.com/ar/linux-snd/ Linux Sound + MIDI Pages

• http://www.biochem.ucl.ac.uk/˜ martin/tapes.html •

• dev

• ELF bin-utils

• svgalib 1.2.10 •

• Linux Support URL’s

• A list of lists:

• http://www.xnet.com/˜ blatura/linapps.shtml •

• other

• http://seawifs.gsfc.nasa.gov/SEAWIFS/IMAGES/IMAGES.html

• http://hyperg.iicm.tu-graz.ac.at/0x811b9908 0x0017da98 • •

• lots of GNU docs as HTML, see it, want it, fetch it

• http://funnelweb.utcc.utk.edu/˜ harp/gnu/gnu.html •

• HURD - Linux is ahead of the HURD,

• http://www.cs.pdx.edu/˜ trent/gnu/hurd/index.html • • •

• Internet usage graphs - old

• http://karlsberg.usask.ca:80/˜ slg/netstats/netstats.html •

• How to lp, and other stuff

• http://www.link.ca/˜ stooky/slg/slg/tips n tricks.html

• http://www.link.ca/˜ stooky/slg/slg/index.html • •

• perltk

• ftp://ftp.wpi.edu/perl5/Tk-b10.tar.gz

• ftp://ftp.ifh.de/pub/unix/edit/tkedit-2.1.2.tar.Z • • •

• file:/cdrom/sunsite/apps/graphics/scanners/hpscanpbm.lsm

• http://www.tummy.com/xvscan/ •

• mkLinux on a Power Mac

• http://mklinux.apple.com •

• Benchmark

• http://www.silkroad.com/linux-bm.html

• Ultimate Mail Tool

• http://www.crocodile.org/UMT/UMT.html

• ftp://ftp.andrew.cmu.edu/pub/AUIS/PAPERS/atk/Gliedt* (EZ files)

• EZ - As a Word Processor http://www.ssc.com/lj/issue4/ez.html • LDDK - driver generator

• ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/LDDK

• http://www.fu-berlin.de/˜ clausi/documents/software.html

• Video

• http://www.crynwr.com/qcpc

• mailto:quickcam-drivers-request@crynwr.com

• Font FAQ

• http://jasper.ora.com/comp.fonts/FAQ

• comp.text.tex

• http://ourworld.compuserve.com/homepages/bigtlittlet/coolfont.html

• ftp://ftp.ifcss.org/pub/software/linux/X11R6/dtop1.4/pub/ chin dtp

25 Copywrite and DISCLAIMER are in the Base Station

The Copywrite note and DISCLAIMER notices are currently common to each Issue, and appear in the Base Station. Click above to find them.) You can locate Raven at

• http://sunsite.unc.edu/pub/Linux/docs/Raven/

• http://beyond.malmo.lth.se/˜ gps/Raven

• http://trix.dircon.co.uk/Raven

• http://www.users.dircon.co.uk/˜ trix If you are having problems locating them, please contact me by email. gps@trix.dircon.co.uk Raven is copywrite Graham Swallow, it is try-before-you-buy shareware. The authors cannot accept any liability for the content of this magazine. It is up to you to check that any actions you take, makes sense, matches other documentation, and work on a test system. This is a summary. Please locate and read the actual notices.