home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-05-09 | 38.5 KB | 1,717 lines | [TEXT/hscd] |
- Configuration HOWTO
- By Guido Gonzato, guido@ibogfs.cineca.it
- v1.2.2, 10 April 1998
-
- This HOWTO aims at making the fine--tuning of your newly installed
- Linux box quicker and easier. Here you will find a set of configura≠
- tions for the most common applications, so you can start to work with
- a well-usable system.
- ______________________________________________________________________
-
- Table of Contents
-
-
- 1. Introduction
-
- 1.1 Why This HOWTO
- 1.2 What We Will Be Configuring
-
- 2. General System Setup
-
- 2.1 Keyboard
- 2.2 Kernel Matters
- 2.3 (TT
- 2.4 Hard Disk Performance
- 2.5 Parallel Port Zip Drive
- 2.6 Device Drivers
- 2.7 Bootup Messages
- 2.8 Hostname
- 2.9 Mouse
- 2.10 Mount Points
- 2.11 (TT
- 2.11.1 Security Tip
- 2.12 Printer Configuration
-
- 3. Software Configuration
-
- 3.1 (TT
- 3.2 (TT
- 3.3 (TT
- 3.4 (TT
- 3.5 (TT
- 3.6 (TT
- 3.7 (TT
- 3.8 TeX and Friends
- 3.9 PPP
- 3.10 POP Client
- 3.11 X Window System
- 3.12 Fortran
- 3.13 Users' Configurations
- 3.14 Upgrading
-
- 4. The End
-
- 4.1 Copyright
- 4.2 Feedback
- 4.3 Disclaimer
-
-
- ______________________________________________________________________
-
- 1. Introduction
-
-
-
-
-
- 1.1. Why This HOWTO
-
-
- I have installed Linux on many PCs and noted that current
- distributions are terrific but, annoyingly, lack some basic
- configuration. Most applications will work out of the box, but some
- won't. Moreover, I have noted that the same questions crop up on
- c.o.l.setup over and over again.
-
- To try and remedy this situation, and to have a memorandum for fresh
- installations, I wrote a do--this--and--that list that I later
- expanded to become this HOWTO. Here you will find a handful of
- configuration examples for the most common applications, programs, and
- services, which should save you a fair amount of time and work.
-
- A few of the examples outlined in this HOWTO are somewhat distribution
- dependent. I only have access to Red Hat and Caldera OpenLinux
- machines, so don't take any of my tips as gospel if you have
- Slackware, Debian or other distributions. In any case, reading
- documentation and the HOWTOs always pays off, so you're advised to do
- so anyway.
-
-
-
- 1.2. What We Will Be Configuring
-
-
- There can be endless hardware configurations for a PC, but in my
- experience one is quite common: a PC fitted with a large HD split into
- three partitions (one for DOS/Windows, one for Linux, one for the
- swap), sound card, modem, CD--ROM drive, printer, mouse. A parallel
- port Zip Drive is also becoming commonplace.
-
- This is the hardware I'll assume you want to configure, but it's easy
- to adapt the following tips to different configurations. It's
- implicitly assumed that you'll be root when editing/fixing/hacking.
-
- And now, lads, sleeves up.
-
-
-
- 2. General System Setup
-
-
-
-
- 2.1. Keyboard
-
-
- First of all, how to configure the keyboard. If you missed this step
- during installation or have changed your keyboard, you'll have to:
-
-
- ∑ choose a suitable key table from /usr/lib/kbd/keytables/; for
- example, it.map selects the Italian keyboard;
-
- ∑ edit the file /etc/sysconfig/keyboard so as it reads:
- KEYTABLE="/usr/lib/kbd/keytables/it.map";
-
- ∑ to set up the keyboard repeat rate and delay time, add this line to
- /etc/rc.d/rc.sysinit or, if you have Caldera, /etc/rc.d/rc.boot:
-
-
-
- /sbin/kbdrate -s -r 16 -d 500 # or whatever you like
-
- Upon the next reboot, the keyboard will work fine. To avoid rebooting
- and load the key table only, cd to /etc/rc.d/init.d and issue the
- command ./keytable start.
-
-
-
- 2.2. Kernel Matters
-
-
- IMHO, the first thing to do next is build a kernel that best suits
- your system. It's very simple to do but, in any case, refer to the
- README file in /usr/src/linux/ or the Kernel HOWTO. Hints:
-
-
- ∑ consider carefully your needs. Choosing a kernel configuration,
- applying the patches, and compiling it once and for all is more
- productive than reconfiguring and recompiling each month; this is
- especially true if your Linux box is a server. Don't forget to
- include support for all the hardware you might likely add in the
- future (e.g. SCSI, Zip, net cards, etc);
-
- ∑ if your PC is based on a Cyrix CPU, apply appropriate patches to
- improve performance. Information on
- <http://www.linuxhq.com/patch/20-p0591.html> ;
-
- ∑ notebook users will want to improve their LCD screen legibility by
- applying the Noblink patch. The latest version is called noblink-
- X.X.tar.gz and is available on
- <ftp://sunsite.unc.edu/pub/Linux/kernel/patches/console> . Install
- the package, then add to your /etc/profile the line
-
-
-
- /usr/local/bin/cursor bgreen # or other colour
-
-
-
-
-
- ∑ again for notebook users, if you plan to use a PCMCIA modem/fax
- don't compile serial support as a module; compile it in the kernel,
- otherwise your PCMCIA modem won't work;
-
- ∑ remember, Linux won't see your sound card unless you configure it
- properly. It's easy in most cases, but remember to enable all
- options (don't forget /dev/dsp and /dev/sound);
-
- ∑ if you get those pesky messages from modprobe indicating that some
- modules can't be located, that means that your /etc/conf.modules
- needs mending. If you don't use the ipx and appletalk modules, add
- these lines:
-
-
-
- alias net-pf-4 off
- alias net-pf-5 off
-
-
-
-
-
- ∑ to save time the next time you reconfigure and recompile the
- kernel, it's a good idea to save your configuration on a file and
- keep it in a safe place.
-
-
- 2.3. sendmail Lock
-
-
- On some systems, sendmail locks the machine at boot time. Quick fix:
- make sure your /etc/hosts contains a line that reads
-
-
-
- 127.0.0.1 localhost
-
-
-
-
- See also Section ``Hostname''.
-
-
-
- 2.4. Hard Disk Performance
-
-
- Your hard disk's performance can be greatly enhanced by carefully
- using hdparm(8). If your Linux distribution doesn't include it, you'll
- find on <ftp://sunsite.unc.edu/pub/Linux/system/hardware> ; look for
- a file called hdparm-X.Y.tar.gz.
-
- I can't give you a general recipe, as many details depend on your hard
- disk and HD controller. Since you risk to toast your filesystem,
- please read the man page carefully before using some options. At its
- simplest, you could add the following line to /etc/rc.d/rc.sysinit:
-
-
-
- /sbin/hdparm -c1 /dev/hda # first IDE drive assumed
-
-
-
-
- which enables (E)IDE 32-bit I/O support. As for the `-m' option, this
- is what hdparm author Mark Lord emailed me:
-
- (...) if your system uses components from the past couple of
- years, it will be fine. Older than that, there *may* be a
- problem (unlikely). The really buggy chips were the CMD0646
- and RZ1000 chips, used *extensively* on 486 and (early) 586
- motherboards about 2-3 years ago.
-
-
-
- 2.5. Parallel Port Zip Drive
-
-
- To use the parallel port version of the Zip drive you can use the
- default driver that comes with recent (2.x.x) kernels. During kernel
- configuration, make sure that SCSI support and SCSI disk support are
- enabled (either in the kernel or as a module). Remember, there can be
- conflicts between the printer and the Zip drive on the same parallel
- port.
-
- Zip disks are sold preformatted on partition /dev/sda4. To enable the
- Zip, all you have to do is issue
-
-
-
- #~ chmod 666 /dev/sda4 # everyone can access the Zip Drive
- #~ insmod ppa
-
- and the Zip can now be mounted as usual (better write the last line in
- /etc/rc.d/rc.sysinit). You also access the Zip drive via mtools adding
- this line to your /etc/mtools.conf:
-
-
-
- drive z: file="/dev/sda4" exclusive
-
-
-
-
- There's a better ppa driver than the standard one, though: have a look
- at <http://www.torque.net/~campbell> .
-
-
-
- 2.6. Device Drivers
-
-
- Devices in /dev (or better, links to the actual device drivers) may be
- missing. Check what devices your mouse, modem, and CD--ROM drive
- correspond to, then do what follows:
-
-
-
- ~# cd /dev
- /dev# ln -s /dev/cua0 mouse
- /dev# ln -s /dev/cua1 modem
- /dev# ln -s /dev/hdb cdrom
-
-
-
-
- and, if you want, do chmod 666 to these devices (not the links, the
- actual devices!) to make them fully accessible by every user. Tip: in
- some laptops the mouse device is /dev/psaux: take this into account
- when configuring X11.
-
- In addition, you'll want to make the floppy accessible by non-root
- users with chmod 666 /dev/fd*. This is bound to cause security
- problems, but I don't know the details. Comments are welcome.
-
-
-
- 2.7. Bootup Messages
-
-
- If you want to customise the bootup messages, check whether your
- /etc/rc.d/rc.local overwrites /etc/issue and /etc/motd. If so, fire up
- your editor and go ahead.
-
-
-
- 2.8. Hostname
-
-
- Issuing the command hostname new_host_name may not be enough. To avoid
- the dreaded sendmail lock, follow these steps:
-
-
- ∑ edit /etc/sysconfig/network and change the hostname therein (e.g.
- new_host_name.localdomain);
-
- ∑ edit /etc/HOSTNAME appropriately;
-
-
- ∑ append the new hostname in the line in /etc/hosts:
-
-
- 127.0.0.1 localhost new_host_name.locadomain
-
-
-
-
-
-
-
- 2.9. Mouse
-
-
- gpm mouse services are useful to perform cut and paste in tty mode,
- and to use the mouse in some applications. Check that you have a file
- called /etc/sysconfig/mouse and that it reads:
-
-
-
- MOUSETYPE="Microsoft"
- XEMU3=yes
-
-
-
-
- Moreover, you must have a file /etc/rc.d/init.d/gpm. Of course, make
- sure this configuration is right for your mouse type. Tip: in some
- laptops, MOUSETYPE is ``PS/2''.
-
- For Caldera, all you have to do is append this line to
- /etc/rc.d/rc.boot:
-
-
-
- /usr/bin/gpm
-
-
-
-
-
-
- 2.10. Mount Points
-
-
- It's handy to have mount points for the floppy and other devices. For
- example, you can do the following:
-
-
-
- ~# cd /mnt
- /# mkdir a: ; mkdir floppy ; mkdir cdrom ; mkdir win ; mkdir zip
-
-
-
-
- This creates mount points for an MS-DOS floppy, an ext2 floppy, the
- CD-ROM, the DOS partition, and the parallel port Zip drive.
-
- Now edit the file /etc/fstab and add the following entries:
-
-
-
-
-
-
- /dev/fd0 /mnt/a: msdos user,noauto 0 1
- /dev/fd0 /mnt/floppy ext2 user,noauto 0 1
- /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 1
- /dev/sda4 /mnt/zip vfat user,noauto 0 1
- /dev/hda1 /mnt/win vfat user,noauto 0 1
-
-
-
-
- Obviously, you must use the correct device in the first field. To
- access fat32 partitions, there's a kernel patch and information on
- <http://bmrc.berkeley.edu/people/chaffee/fat32.html> .
-
-
-
- 2.11. lilo (8) and LOADLIN
-
-
- Many users run both Linux and DOS/Windows on their PC, and want to
- choose at boot time which os to use. Let's suppose that /dev/hda1
- contains DOS/Windows and that /dev/hda2 contains Linux.
-
- Do what follows:
-
-
-
- ~# fdisk
- Using /dev/hda as default device!
-
- Command (m for help):a
- Partition number (1-4): 2
-
- Command (m for help):w
- ~#
-
-
-
-
- This makes the Linux partition bootable; this step ought to be carried
- out by activate when running LILO's QuickInst, but it won't work with
- my Red Hat.
-
- Write this basic /etc/lilo.conf file:
-
-
-
- boot = /dev/hda2
- compact
- delay = 50
- # message = /boot/bootmesg.txt # write your own
- root = current
- image = /boot/vmlinuz # boot linux by default as this entry comes first
- label = linux
- other = /dev/hda1
- table = /dev/hda
- label = dos
-
-
-
-
- Now issue /sbin/lilo and you're set. Being lilo a crucial part of your
- installation, you're strongly advised to read its documentation
- anyway.
-
- To boot Linux from DOS/Windows without resetting, put LOADLIN.EXE in a
- directory (in the DOS partition!) included in the DOS path; then copy
- your kernel to, say, C:\DOS\VMLINUZ. The following .BAT file will boot
- Linux:
-
-
-
- rem linux.bat
- smartdrv /C
- loadlin c:\dos\vmlinuz root=/dev/hda2 r
-
-
-
-
- If you use Windows 95, set the properties of this .BAT so as it starts
- in MS-DOS mode.
-
-
- 2.11.1. Security Tip
-
-
- Making a backup copy of your MBR before installing Linux could save
- your bacon. Use restorrb (included in the FIPS package) before
- installation, or you can use a Linux rescue floppy and issue this
- command:
-
-
-
- rescue:~# dd if=/dev/hda of=MBR bs=512 count=1
-
-
-
-
- then make at least two copies of the file MBR on floppies. Should
- disaster strike, you'll be able to restore your old MBR by issuing:
-
-
-
- rescue:~# dd if=/mnt/MBR of=/dev/hda bs=446 count=1
-
-
-
-
- assuming that a floppy containing MBR is mounted under /mnt.
- Alternatively, use a DOS rescue floppy to issue FDISK /MBR.
-
-
-
- 2.12. Printer Configuration
-
-
- Red Hat and Caldera have a fine configuration tool, printtool; if you
- don't use these distributions, manual configuration follows.
-
- Let's suppose you have a non-PostScript printer you want to use to
- print raw text (e.g., C source files) and PostScript files via
- Ghostscript, which is assumed to be already installed.
-
- Setting up the printer involves a few steps:
-
-
- ∑ find out which one the parallel print device is: try
-
-
-
- ~# echo "hello, world" > /dev/lp0
- ~# echo "hello, world" > /dev/lp1
-
- and take note which one works.
-
- ∑ make two spool directories:
-
-
-
- ~# cd /var/spool/lpd
- /var/spool/lpd/# mkdir raw ; mkdir postscript
-
-
-
-
-
- ∑ if your printer exibits the ``staircase effect'' (most inkjets do),
- you'll need a filter. Try to print two lines with
-
-
-
- ~# echo "first line" > /dev/lp1 ; echo "second line" > /dev/lp1
-
-
-
-
-
- if the output is like this:
-
-
-
- first line
- second line
-
-
-
-
-
- then save this script as /var/spool/lpd/raw/filter:
-
-
-
- #!/bin/sh
- # This filter does away with the "staircase effect"
- awk '{print $0, "\r"}'
-
-
-
-
-
- and make it executable with chmod 755 /var/spool/lpd/raw/filter.
-
- ∑ make a filter for PostScript emulation. Write the following filter
- as /var/spool/lpd/postscript/filter:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- #!/bin/sh
-
- DEVICE=djet500
- RESOLUTION=300x300
- PAPERSIZE=a4
- SENDEOF=
-
- nenscript -TUS -ZB -p- |
- if [ "$DEVICE" = "PostScript" ]; then
- cat -
- else
- gs -q -sDEVICE=$DEVICE \
- -r$RESOLUTION \
- -sPAPERSIZE=$PAPERSIZE \
- -dNOPAUSE \
- -dSAFER \
- -sOutputFile=- -
- fi
-
- if [ "$SENDEOF" != "" ]; then
- printf "\004"
- fi
-
-
-
-
-
- (in this example an HP DeskJet printer is assumed. Fix it to suit your
- printer).
-
- ∑ finally, add the following entries in /etc/printcap:
-
-
-
- # /etc/printcap
- lp|ps|PS|PostScript|djps:\
- :sd=/var/spool/lpd/postscript:\
- :mx#0:\
- :lp=/dev/lp1:\
- :if=/var/spool/lpd/postscript/filter:\
- :sh:
- raw:\
- :sd=/var/spool/lpd/raw:\
- :mx#0:\
- :lp=/dev/lp1:\
- :if=/var/spool/lpd/raw/filter:\
- :sh:
-
-
-
-
-
- For more complex or exotic printing configurations, the Printing-HOWTO
- awaits you.
-
- If you use printtool, be aware that the GSDEVICE chosen by Printtool
- will work, but not necessarily at its best for your printer. You may
- consider fiddling a bit with the file postscript.cfg; for instance, I
- changed GSDEVICE from cdj500 to djet500 and now my prints come out
- much quicker.
-
-
-
-
-
-
- 3. Software Configuration
-
-
- These are the the configuration files we are going to custimise:
- /etc/profile /etc/bashrc .bashrc .bash_profile .inputrc .less .lessrc
- .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xdefaults .jedrc. .abbrevs.sl
- .joerc .emacs . Don't add users until you have completed your system
- configuration; you'll put the dot files in /etc/skel.
-
-
-
- 3.1. bash (1)
-
-
- To tailor bash's behaviour, these are the main files to edit:
-
-
- ∑ /etc/bashrc contains system wide aliases and functions;
-
- ∑ /etc/profile contains system wide environment stuff and startup
- programs;
-
- ∑ $HOME/.bashrc contains user aliases and functions;
-
- ∑ $HOME/.bash_profile contains user environment stuff and startup
- programs;
-
- ∑ $HOME/.inputrc contains key bindings and other bits.
-
- Examples of these files are shown below. First, the most important:
- /etc/profile. It's used to configure a lot of features in your Linux
- box, as you will see in the following sections.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- # /etc/profile
-
- # System wide environment and startup programs
- # Functions and aliases go in /etc/bashrc
-
- # This file sets up the following features:
- #
- # o path
- # o prompts
- # o a few environment variables
- # o colour ls
- # o less
- #
- # Users can override these settings and/or add others in their
- # $HOME/.bash_profile
-
- # set a decent path
-
- echo $PATH | grep X11R6 > /dev/null
- if [ $? = 1 ] ; then # add entries to the path
- PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."
- fi
-
- # notify the user: login or non-login shell. If login, the prompt is
- # coloured in blue; otherwise in magenta. Root's prompt is red.
-
- USER=`whoami`
- if [ $LOGNAME = $USER ] ; then
- COLOUR=44
- else
- COLOUR=45
- fi
-
- if [ $USER = 'root' ] ; then
- COLOUR=41
- fi
-
- # put a real escape character instead of ^[. To do this:
- # emacs: ^Q ESC vi: ^V ESC joe: ` 0 2 7 jed: ` ESC
- # Remove `;1' if you don't like the `bold' attribute.
- ESC=^[
- PS1='$ESC[$COLOUR;37;1m$USER:$ESC[37;40;1m\w\$ '
- PS2="Continue> "
-
- # no core dumps, please
-
- ulimit -c 0
-
- # set umask
-
- if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
- umask 002
- else
- umask 022
- fi
-
- # a few variables
-
- USER=`id -un`
- LOGNAME=$USER
- MAIL="/var/spool/mail/$USER"
- EDITOR=jed
- HOSTNAME=`/bin/hostname`
- HISTSIZE=1000
- HISTFILESIZE=1000
- export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE
-
- # enable colour ls
-
- eval `dircolors /etc/DIR_COLORS -b`
- export LS_OPTIONS='-F -s -T 0 --color=tty'
-
- # customise less
-
- LESS='-M-Q'
- LESSEDIT="%E ?lt+%lt. %f"
- LESSOPEN="| lesspipe.sh %s"
- VISUAL=jed
- LESSCHARSET=latin1
- export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
-
- for i in /etc/profile.d/*.sh ; do
- if [ -x $i ]; then
- . $i
- fi
- done
- ______________________________________________________________________
-
-
-
- This is a sample /etc/bashrc:
-
-
- ______________________________________________________________________
- # /etc/bashrc
-
- # System wide functions and aliases
- # Environment stuff goes in /etc/profile
-
- alias which="type -path"
- alias d="ls"
- alias dir="d"
- ______________________________________________________________________
-
-
-
- This is a sample .bashrc:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- # $HOME/.bashrc
- # Source global definitions
-
- if [ -f /etc/bashrc ]; then
- . /etc/bashrc
- fi
-
- # this is needed to notify the user that they are in non-login shell
-
- if [ "$GET_PS1" = "" ] ; then
- COLOUR=45
- # put a real escape character instead of ^[
- ESC=^[
- PS1='$ESC[$COLOUR;37m`whoami`:$ESC[37;40m\w\$ '
- export PS1
- fi
-
- # aliases
-
- alias cp='cp -i'
- alias l=less
- alias lyx='lyx -width 900 -height 700'
- alias mv='mv -i'
- alias rm='rm -i'
- alias x=startx
-
- # A few useful functions
-
- inst() # Install a .tar.gz archive in the current directory.
- { gzip -dc $1 | tar xvf - }
-
- cz() # List the contents of a .zip archive.
- { unzip -l $* }
-
- ctgz() # List the contents of a .tar.gz archive.
- {
- for file in $* ; do
- gzip -dc ${file} | tar tf -
- done
- }
-
- tgz() # Create a .tgz archive a la zip.
- {
- name=$1 ; tar -cvf $1 ; shift
- tar -rf ${name} $*
- gzip -S .tgz ${name}
- }
- ______________________________________________________________________
-
-
-
- This is a sample .bash_profile:
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- # $HOME/.bash_profile
-
- # User specific environment and startup programs
- # This file contains user-defined settings that override
- # those in /etc/profile
-
- # Get the aliases and functions
- if [ -f ~/.bashrc ]; then
- GET_PS1="NO" # don't change the prompt colour
- . ~/.bashrc
- fi
-
- # set a few `default' directories
- export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology"
-
- # fix rxvt 2.45 backspace
- if [ "$COLORTERM" != "" ] ; then
- stty erase ^?
- ESC=^[ # put a real escape character instead of ^[
- echo -n "$ESC[36l"
- fi
- ______________________________________________________________________
-
-
-
- This is a sample .inputrc:
-
-
- ______________________________________________________________________
- # $HOME/.inputrc
-
- # key bindings
-
- "\e[1~": beginning-of-line
- "\e[3~": delete-char
- "\e[4~": end-of-line
- # (F1 .. F5) are "\e[[A" ... "\e[[E"
- "\e[[A": "info \C-m"
-
- set bell-style visible # please don't beep
- set meta-flag On # allow 8-bit input (i.e, accented letters)
- set convert-meta Off # don't strip 8-bit characters
- set output-meta On # display 8-bit characters correctly
- set horizontal-scroll-mode On # scroll long command lines
- set show-all-if-ambiguous On # after TAB is pressed
- ______________________________________________________________________
-
-
-
- To make the backspace and delete keys work correctly in in xterm and
- other X11 applications, the following is also needed:
-
-
- ∑ put this in your .xinitrc:
-
-
- usermodmap=$HOME/.Xmodmap
- xmodmap $usermodmap
-
-
-
-
-
- ∑ put this in your .Xmodmap:
-
- keycode 22 = BackSpace
- keycode 107 = Delete
-
-
-
-
- this fixes the console. To fix xterm:
-
- ∑ put this in your .Xdefaults:
-
-
- xterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
- <Key>Delete: string(0x1b) string("[3~")\n\
- <Key>Home: string(0x1b) string("[1~")\n\
- <Key>End: string(0x1b) string("[4~")\n\
- Ctrl<Key>Prior: string(0x1b) string("[40~")\n\
- Ctrl<Key>Next: string(0x1b) string("[41~")
-
- nxterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
- <Key>Delete: string(0x1b) string("[3~")\n\
- <Key>Home: string(0x1b) string("[1~")\n\
- <Key>End: string(0x1b) string("[4~")\n\
- Ctrl<Key>Prior: string(0x1b) string("[40~")\n\
- Ctrl<Key>Next: string(0x1b) string("[41~")
-
-
-
-
-
- rxvt is a wee bit more complicated, as some compile--time options
- influence its behaviour. See the above .bash_profile.
-
- More info in bash(1) and readline(3) man pages.
-
- Don't expect every application to work correctly! If you run joe in
- xterm, for instance, some keys won't work; the same holds for versions
- of rxvt older than 2.21.
-
-
-
- 3.2. ls (1)
-
-
- ls can display directory listings using colours to highlight different
- file types. To enable this feature, add these lines to /etc/profile:
-
-
-
- eval `dircolors /etc/DIR_COLORS -b`
- export LS_OPTIONS='-F -T 0 --color=tty'
-
-
-
-
- (If you don't have the file /etc/DIR_COLORS, remove the reference to
- it in the first line.) This sets the environment variable LS_COLORS
- that contains the colour list set up in /etc/DIR_COLORS. Note: don't
- ask me why, but this won't work with rxvt older than v. 2.21; use some
- flavour of xterm instead. It looks like rxvt has a bug that prevents
- it from inheriting the environment correctly in some circumstances.
-
- Caldera's ls doesn't have colours, but there's an equivalent color-ls.
- Add this in /etc/bashrc:
-
-
-
- alias ls="color-ls $LS_OPTIONS"
-
-
-
-
-
-
- 3.3. less (1)
-
-
- With this excellent pager you can browse not only plain text files,
- but also gzip compressed, tar and zip archives, man pages, and what
- have you. Its configuration involves a few steps:
-
-
- ∑ to use it with the movement keys, have this plain ASCII file
- .lesskey in your home directory:
-
-
-
- ^[[A back-line
- ^[[B forw-line
- ^[[C right-scroll
- ^[[D left-scroll
- ^[OA back-line
- ^[OB forw-line
- ^[OC right-scroll
- ^[OD left-scroll
- ^[[6~ forw-scroll
- ^[[5~ back-scroll
- ^[[1~ goto-line
- ^[[4~ goto-end
- ^[[7~ goto-line
- ^[[8~ goto-end
-
-
-
-
-
- then run the command lesskey. This creates a binary file .less con≠
- taining the key bindings.
-
- ∑ write the following file as /usr/bin/lesspipe.sh:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ___________________________________________________________________
- #!/bin/sh
- # This is a preprocessor for 'less'. It is used when this environment
- # variable is set: LESSOPEN="|lesspipe.sh %s"
-
- lesspipe() {
- case "$1" in
- *.tar) tar tf $1 2>/dev/null ;; # View contents of .tar and .tgz files
- *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
- *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # View compressed files correctly
- *.zip) unzip -l $1 2>/dev/null ;; # View archives
- *.arj) unarj -l $1 2>/dev/null ;;
- *.rpm) rpm -q -p -i -l $1 2>/dev/null ;;
- *.cpio) cpio --list -F $1 2>/dev/null ;;
- *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1`
- FILE=`echo $FILE | cut -d ' ' -f 2`
- if [ "$FILE" = "troff" ]; then
- groff -s -p -t -e -Tascii -mandoc $1
- fi ;;
- *) file $1 | grep text > /dev/null ;
- if [ $? = 1 ] ; then # it's not some kind of text
- strings $1
- fi ;;
- esac
- }
-
- lesspipe $1
- ___________________________________________________________________
-
-
-
- and remember to make it executable with chmod 755 lesspipe.sh.
-
- ∑ put these lines in /etc/profile:
-
-
- LESS="-M-Q" # long prompt, silent
- LESSEDIT="%E ?lt+%lt. %f" # edit top line
- LESSOPEN="| lesspipe.sh %s" # filter
- VISUAL=jed # default editor---insert your favourite
- LESSCHARSET=latin1 # display accented letters if needed
- export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
-
-
-
-
-
- The variable LESSCHARSET depends on the fact that I live in Italy and
- want to use the ISO 8859/1 character set. You fellow Americans,
- Japanese, Russians and so on had better not set it.
-
-
-
- 3.4. emacs (1)
-
-
- I don't use emacs, so I have only one piece of advice to give you.
- Some emacs distributions don't come preconfigured for colours and
- syntax highlighting. Write this in your .emacs:
-
-
- (global-font-lock-mode t)
- (setq font-lock-maximum-decoration t)
-
-
-
- This only works in X11. I'll leave it to you to peruse all of emacs'
- documentation to find out how to tailor it to your
- needs---potentially, it can take months of hacking...
-
-
-
- 3.5. joe (1)
-
-
- Some people report that joe works with colours under X11, but not in
- tty. In addition, some special keys don't work. To my knowledge, no
- one has found a solution to the former small nag; someone suggested
- hacking on /etc/termcap.
-
- If you experience that problem, a quick and dirty (and inelegant)
- solution is this:
-
-
-
- ~$ export TERM=vt100
- ~$ joe myfile
- (edit your file)
- ~$ export TERM=linux
-
-
-
-
-
-
- 3.6. jed (1)
-
-
- This is my favourite editor: it does what I need, it's lighter and
- easier to configure than emacs, and IMHO emulates other editors quite
- better. Many users at my university want jed to emulate EDT, VMS'
- system editor.
-
- jed's configuration files are .jedrc and /usr/lib/jed/lib/*; the
- former can be adapted from jed.rc in the latter directory.
-
-
- ∑ to make jed use the special keys correctly, write the file
- /usr/lib/jed/lib/defaults.sl whose only line reads:
-
-
-
- () = evalfile("linux");
-
-
-
-
-
- ∑ edit /usr/lib/jed/lib/linux.sl; remove the comment from the line
- that reads Info_Directory = "/usr/info"; and add /bin/mail after
- UCB_Mailer =;
-
- ∑ making jed emulate EDT (or other editors) is straightforward: you
- just have to edit a couple of lines in .jedrc. If you want to use
- the numeric keypad `+' to delete words instead of a single
- character, add this in .jedrc:
-
-
-
-
-
-
- unsetkey("\eOl");
- unsetkey("\eOP\eOl");
- setkey("edt_wdel", "\eOl");
- setkey("edt_uwdel", "\eOP\eOl");
-
-
-
-
-
- after the line that reads () = evalfile("edt");.
-
- ∑ to make xjed use the numeric keypad for EDT emulation, insert the
- following in .Xmodmap:
-
-
-
- keycode 77 = KP_F1
- keycode 112 = KP_F2
- keycode 63 = KP_F3
- keycode 82 = KP_F4
- keycode 86 = KP_Separator
-
-
-
-
-
- Moreover, make sure that your /etc/X11/XF86Config contains the follow≠
- ing lines:
-
-
-
- # ServerNumLock # must be commented out
- XkbDisable
-
-
-
-
-
- This applies to XFree 3.2. Unless you use a standard American keyboard
- though, note that ``XkbDisable'' brings some little problems. You'll
- find out by yourself.
-
- ∑ colour customization for xjed is done adding lines like these in
- .Xdefaults:
-
-
-
- xjed*Geometry: 80x32+150+50
- xjed*font: 10x20
- xjed*background: midnight blue
-
-
-
-
-
- ∑ the ``abbreviation'' feature is an invaluable timesaver. Write a
- file like the following as $HOME/.abbrevs.sl:
-
-
-
-
-
-
-
-
-
- create_abbrev_table ("Global", "");
- define_abbrev ("Global", "GG", "Guido Gonzato");
- create_abbrev_table ("TeX", "\\A-Za-z0-9");
- define_abbrev ("TeX", "\\beq", "\\begin{equation}");
- define_abbrev ("TeX", "\\eeq", "\\end{equation}");
- % and so on...
-
-
-
-
-
- and type ESC x abbrev_mode to enable it. To have the abbreviation on
- by default, add entries like these in your .jedrc:
-
-
-
- define text_mode_hook ()
- {
- set_abbrev_mode (1);
- }
- %
- define fortran_hook ()
- {
- set_abbrev_mode (1);
- use_abbrev_table ("Fortran");
- }
- % and so on...
-
-
-
-
-
-
-
-
- 3.7. efax (1)
-
-
- This package is probably the most convenient for simple
- sending/receiving of faxes. You'll have to tailor the script
- /usr/bin/fax; easy job, but a couple of quirks caused me quite an
- headache:
-
-
- ∑ DIALPREFIX: chances are that simply putting `T' or `P' won't work
- in many countries. Put `ATDT' or `ATDP' instead;
-
- ∑ INIT and RESET: these strings contain the initialisers `-i' and
- `-k', needed by efax. If you want to add an AT command, add it to
- the appropriate string leaving out `AT' and preceding the rest with
- either `-i' or `-k'. For example: to add the `ATX3' command to
- INIT, you'll append `-iX3'.
-
-
-
- 3.8. TeX and Friends
-
-
- I'll assume you have the teTeX distribution. Just a couple of things
- here:
-
-
- ∑ to configure the hyphenation pattern for your language, edit the
- file /usr/lib/texmf/texmf/tex/generic/config/language.dat, then do:
-
-
- ~# texconfig init ; texconfig hyphen
-
-
-
-
-
- ∑ if you add a LaTeX package, after adding the files under
- /usr/lib/texmf/texmf/tex/latex/ run the command texhash so that
- teTeX recognises the new package;
-
- ∑ to tailor dvips, the file to edit is
- /usr/lib/texmf/texmf/dvips/config/config.ps. Be aware that the
- fields regarding the default resolution also affect xdvi's
- behaviour; if you experience annoying attempts to create fonts each
- time you run it, put the line
-
-
-
- XDvi*mfmode:
-
-
-
-
-
- in .Xdefault. This should help.
-
-
-
- 3.9. PPP
-
-
- I'll take it for granted that your kernel has PPP + TCP/IP support
- compiled in, that loopback is enabled, and that you already have the
- pppd package correctly installed and suid root. Obviously, your ISP
- must support PPP.
-
- There are now two ways to get PPP to work: a) manual configuration,
- and b) a configuration program that automagically sees to it.
- Whichever option you choose, have the following information on hand:
-
-
- ∑ your ISP's telephone number;
-
- ∑ your ISP's name server;
-
- ∑ your ISP's mail and news server;
-
- ∑ your ISP's domain;
-
- ∑ your username and password.
-
- Manual configuration is a drudgery. It's about editing files and
- writing scripts; not too much work, but it's easy to make mistakes and
- newcomers are often intimidated. The PPP HOWTO is there for you.
- Alternatively, there are tools that ask for the information above and
- do all the work.
-
- You'll be surely better off if you reach out for a friend who's
- already connected and download one of the following nice tools:
-
-
- ∑ an X11--based tool is EzPPP, whose home page is
- <http://www.serv.net/~cameron/ezppp/index.html> . Very easy to
- use, almost self--explanatory;
-
-
- ∑ for tty--based connections, try the tools available on
- <ftp://sunsite.unc.edu/pub/Linux/system/network/serial/ppp>. One
- of the finest is pppsetup-X.XX.tar.gz.
-
- ∑ the simplest configuration tool to date is surely wvdial. You feed
- it your ISP's phone number, your username, your password, and
- you're in business. From the README file: ``There is a (currently
- cheesy) web page for wvdial at:
- <http://www.worldvisions.ca/wvdial>''. Very fine tool.
-
-
-
- 3.10. POP Client
-
-
- To retrieve your mail from a POP server, you use a POP client like
- fetchpop or fetchmail. The latter is more advanced, and is probably
- the only option if your ISP's PPP server can't deal with the command
- LAST. They're available on
- <ftp://sunsite.unc.edu/pub/Linux/system/mail/pop>.
-
- To configure these clients:
-
-
- ∑ fetchpop: the first time you run it, you'll be prompted for some
- information. Answer the questions and you're set.
-
- ∑ fetchmail: adapt this sample .fetchmailrc:
-
-
-
- # $HOME/.fetchmailrc
- poll mbox.myisp.com with protocol pop3;
- user john there with password _Loo%ny is john here
-
-
-
-
-
- You must set the permissions to this file with the command chmod 600
- .fetchmailrc, otherwise fetchmail will rightly refuse to start. This
- example is very basic and assumes that you have a running sendmail;
- there are endless possibilities of configuration. Check out on .
-
-
-
- 3.11. X Window System
-
-
- Once you've managed to make X work (right video card etc.), there are
- endless possibilities of configuration; it depends on the window
- manager you use. In any case, it's all down to editing one or more
- ASCII files in your home directory. As for the window manager:
-
-
- ∑ fvwm: copy /etc/X11/fvwm/system.fvwmrc to your home directory as
- .fvwmrc, browse it and start experimenting. This contributed
- system.fvwmrc is IMHO a wee bit too simple and doesn't do justice
- to fvwm.
-
- ∑ fvwm95-2: copy /etc/X11/fvwm95-2/fvwm2rc95 to your home as
- .fvwm2rc95, then edit it. The contributed example is quite good.
-
- ∑ TheNextLevel: this is rather harder to configure. Copy
- /etc/X11/TheNextLevel/.* to your home dir, browse them carefully,
- then try and tailor them. The first one to look at is
- .fvwm2rc.defines.
-
- In addition, make sure you have a proper .xinitrc. An example:
-
-
-
- #!/bin/sh
-
- # $HOME/.xinitrc
-
- # set a few keys correctly
-
- usermodmap=$HOME/.Xmodmap
- xmodmap $usermodmap
-
- xset s noblank # turn off the screen saver
- xset s 300 2 # screen saver start after 5 min
- xsetroot -solid "medium blue" &
-
- # rxvt saves a lot of memory, but versions older than 2.21 have bugs
- # affecting the keys and the way the environment is inherited. Upgrade
- # or use xterm instead.
-
- xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 -fb 10x20bold \
- -title "Color xterm" -geometry 80x25+150+0 &
-
- fvwm95-2
-
-
-
-
-
-
- 3.12. Fortran
-
-
- In my experience, if you need Fortran a good alternative to g77 is the
- Fortran-to-C translator f2c and the front end yaf77.
-
- Get yaf77-X.Y.tgz from
- <ftp://sunsite.unc.edu/pub/Linux/devel/lang/fortran> .
-
-
-
- 3.13. Users' Configurations
-
-
- It's a good idea to let new users have a few configuration files ready
- when they first log in. Put the following files in /etc/skel:
- .bashrc .bash_profile .bash_logout .inputrc .less .xinitrc
- .fvwmrc .fvwm2rc95 .Xmodmap .Xdefaults .jedrc .abbrevs.sl. joerc
- .emacs
-
- Note that .pinerc can't be fully tailored; make sure that at least the
- fields user-domain, smtp-server, and nntp-server are properly set up.
-
-
-
- 3.14. Upgrading
-
-
- If you upgrade your machine, remember to save a few additional files
- beforehand. Some of them are: /etc/X11/XF86Config, /usr/bin/fax, ...
-
-
-
- 4. The End
-
-
-
-
- 4.1. Copyright
-
-
- Unless otherwise stated, Linux HOWTO documents are copyrighted by
- their respective authors. Linux HOWTO documents may be reproduced and
- distributed in whole or in part, in any medium physical or electronic,
- as long as this copyright notice is retained on all copies. Commercial
- redistribution is allowed and encouraged; however, the author would
- like to be notified of any such distributions.
-
- All translations, derivative works, or aggregate works incorporating
- any Linux HOWTO documents must be covered under this copyright notice.
- That is, you may not produce a derivative work from a HOWTO and impose
- additional restrictions on its distribution. Exceptions to these rules
- may be granted under certain conditions; please contact the Linux
- HOWTO coordinator at the address given below.
-
- In short, we wish to promote dissemination of this information through
- as many channels as possible. However, we do wish to retain copyright
- on the HOWTO documents, and would like to be notified of any plans to
- redistribute the HOWTOs.
-
- If you have questions, please contact Tim Bynum, the Linux HOWTO
- coordinator, at linux-howto@sunsite.unc.edu via email.
-
-
-
- 4.2. Feedback
-
-
- Perhaps even more than other HOWTOs, this one needs and welcomes your
- suggestions, criticisms, and contributions. Not only is feedback
- welcome: it's necessary. If you think something is missing or wrong,
- please email me. If you have a distribution other than Red Hat or
- Caldera and your config files are different or placed in other
- directories, please tell me and I'll include your tips. My aim is
- making life with Linux as easy as possible.
-
- Linux has a huge number of packages, so it's impossible to include
- directions for all of them. Please keep your requests/suggestions
- pertinent to the ``most reasonable'' programs---I'll leave it to your
- common sense.
-
-
-
- 4.3. Disclaimer
-
-
- ``Configuration HOWTO'' was written by Guido Gonzato,
- guido@ibogfs.cineca.it. Many thanks to all other HOWTO authors and
- man pages writers/maintainers, whose work I've shamelessly pilfered.
-
- This document is provided ``as is''. I put great effort into writing
- it as accurately as I could, but you use the information contained in
- it at your own risk. In no event shall I be liable for any damages
- resulting from the use of this work.
-
- I hope you'll find this work useful. Whenever I install a new Linux
- box, I actually do...
-
-
- Enjoy,
-
- Guido =8-)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-