Select->   Valid XHTML 1.0 Transitional Robert B. White
5 May 2007

NOTES FROM INSTALLING SuSE LINUX 10.1

SuSE 10.1 GOTCHAS! MAJOR: olvwm does not exist!!
ANOTHER: rup and rstatd do not exist!!
(but sourceforge has these as a tarball)
MORE: qps does not exist!
(but the one from SuSE 9.2 works in 10.1)
MORE: pure-ftpd was deleted (but there's a public domain source).
ANNOYING: German special characters do not render in enscript.
Old: APPLIX DOES NOT RUN!!

FOREWORD

These are my notes from installing SuSE Linux on a "tower" using 2.4 GHz P-IV, 1GB RAM, 2xIDE HD, etc. Linux is the primary OS. Some of the "recipes" following are specific to my machine(s), but most apply generally and even the specifics can be understood as recommendations.

If you're installing Linux for the first time, have a hard disk which you can use just for this so you can experiment. Even if this is an update, you should have a spare HD for experimentation. Updates are NOT a "slam-dunk"! You will probably make more than 1 "initial" installation before you're satisfied with the result, so don't destroy your existing system. Linux (at least SuSE) includes all the tools you need to easily set up multiple boot systems. Since Linux can read Windows file systems, you will be able to access all your existing files from Linux. Windows, however, cannot access Linux file systems.

Please note this is a "what to do" which needs some prior knowledge of how to carry out the actions recommended. A full "how to" for a new first time installer is more than I want to write now!


DISK LAYOUT

Under the Windows OS's through Win 2000, you're allowed one "primary" partition and an optional "extended" partition. In the extended partition you can make as many (within some limit) "virtual" partitions as you want.

Under most (all?) Linux distributions you're allowed up to 4 "primary" partitions, each of which can be further divided into many "virtual" partitions. There will be a provision in the installation software to specify these partitions and whether you want them formatted.

In order to properly prepare a hard disk for suspend-to-disk on your laptop, you will need to make sure there is enough space free to accommodate an additional hibernation partition. The hibernation partition must be a primary partition (1-4), and the required size will be determined by the amount of physical and video RAM in your laptop. To determine the size you need to make the partition, as root run:

lphdisk --probeonly

Having created a primary partition of the proper size using a disk partitioning utility, you should set it to type A0 hex (identified by fdisk as "IBM ThinkPad Hibernation", though "Phoenix NoteBIOS Hibernation" would be a more correct label).

lphdisk will then locate, verify, and format this partition for use. At this point you will need to reboot the system so that BIOS can locate and use the new hibernation partition.

Here are my recommendations (remember to add a "primary" partition on a laptop if you want to be able to suspend it):

  1. Disk Layout If possible, use 2 disks for Linux
    1. First one holds swap and the root directory (/)
    2. Second one holds /home, which is where all user date lives.
    This layout permits changing OS without having to back up all your user data (but you'll back this up anyway as normal practice).
  2. Disk Quantity

    If 2 disks aren't possible, don't worry about it, user data will automagically appear in the same place in the file system and you can upgrade later.

  3. Partitions

    As a minimum, create 2 primary partitions on the first disk: swap and / (root), in this order. If your BIOS requires that the bootable partition fit within the first 1024 cylinders of the disk, then you may want to create 3 primary partitions in the order /boot, swap and / (root). The installation program will connect all these together correctly. Be sure to make the / (or /boot if you use it) bootable. You always want swap near the beginning of the disk to avoid having to work the heads over the whole radius of the drive. The file system tries to concentrate data towards the beginning of each partition.

  4. File System

    Specify the "Reiser" file system for /, and for /home if you have this on a separate disk or partition. /boot does not need to be Reiser, it's not big enough nor used very often. Reiser file systems allow files larger than 2GB, are faster than "ext3", and better protect their data. Look up the documentation for more information than I want to present here. The bottom line is just do as I recommend on this one.

  5. Swap Partition

    There is no really firm rule for swap partition size. It should be as large as memory, some OS's recommend 1.5 times memory. If your distribution recommends a value or you have a rationale for a value, use it. Otherwise use at least as much as memory size, or up to 1GB if memory is less than this.

  6. Formatting

    Always format, it cleans up whatever cruft is already on the disk.


NETWORKS

If you're running a private or home ether-net (and you SHOULD be doing this on the LAN side of a hardware firewall even if you have only 1 computer!) set up your home network / DHCP server to use one of the following address ranges:
# Request for Comments: 1918
# Address Allocation for Private Internets
#
# From: http://www.isi.edu/in-notes/rfc1918.txt
#
# 3. Private Address Space
#
#    The Internet Assigned Numbers Authority (IANA) has reserved the
#    following three blocks of the IP address space for private internets:
#
#      10.0.0.0        -   10.255.255.255  (10/8 prefix)
#      172.16.0.0      -   172.31.255.255  (172.16/12 prefix)
#      192.168.0.0     -   192.168.255.255 (192.168/16 prefix)
These are un-routable addresses and will help protect your computers. Normally you use an address in the last range, which is for "Class C" networks. Your hardware firewall should do the necessary Network Address Translation (NAT). If there's an option to do NAT, enable it. If your hardware firewall doesn't do NAT, replace it with one that does.

INITIAL INSTALLATION

NOTE: Laptop testing with 10.1 started 26 Aug 2006. Normal operation of SuSE 10.1 is OK with a few exceptions noted throughout this document. However, running W2K within VMware resulted in approximately 80MB of memory swapping in a 256MB system. This makes VMware effectively useless for Laptops (or any other machine) with less than 512MB memory, and 1GB is a whole lot better.
  1. Laptop
    On the laptop, have the SCSI and Fire-Wire cards (in general everything other than networking cards which you expect to use) inserted initially so they will be detected by hardware probes and the drivers installed from the distribution. After initial SW load remove the SCSI card and install the network one (yes, in the lower slot...) before setting up the network. (It seemed to work OK, if not error free, during a trial installation 21 Jan 2005.)

    However, during tar | tar to retrieve saved data from Fire-Wire drive, transfers would repeatedly hang with the Ethernet card in lower slot. Succeeded by removing card for these transfers. Later experience indicates (32 bit) network cards will not work for long in the (16 bit) lower slot.

    27 Aug 2006: attempting to copy /home to the Firewire disk for transfer to the test SuSE 10.1 installation. Initially disabled Ethernet port and removed PCMCIA card from upper (32 bit ?) slot, replacing it with Firewire card. The disk was not eager to connect and run in this configuration, and shortly hung all processes attempting to access it.
    Rebooted, disconnected the Ethernet cable from it's PCMCIA card (required to physically insert Firewire card), and inserted Firewire card in lower PCMCIA slot. This works OK.

    On the laptop, installing "ifplugd" to enable switching between network cards rendered the Ethernet card "eth0" non-startable. Even with "eth0" configured:

      yast2: Network Devices -> Network Card -> {Change | Configure} -> Edit -> Advanced -> Detailed Settings "At Boot Time"
    

    to start at boot and "ath0" (wireless) configured to start on hotplug (which required "ifplugd"), "eth0" could not be found.

  2. Kernel Boot Parameters

    These appear not to be needed for SuSE 10.1, but are reported here to preserve the information.

    Use the following kernel parameters, and ensure they are installed through boot loader (these work for me, you may need something different. You can safely omit them and let the installation program figure out what to use.):

      acpi=off apm=on,inupower_off
    

    Additionally, boot parameters should include:

      vga=791   (1024x768, 16 bit color: splash screen covers startup messages)
    
    or
    vga=792 (1024x768, 24 bit color: splash screen does not cover startup messages)

    The relation between vga= and splash behavior varies with framebuffer VGA capabilities. Choose a value which gives the startup display you want.

  3. Package Selection

    Accept default SW load initially, being sure sure to include:
    Productivity -> Networking -> Other -> rsh-server.
    rsh-server must then be enabled in:
    yast2 -> Network Services -> Network Services (xinetd)
    to be functional. Then go back and adjust from running system. Be sure to configure display at initial load.

    Be sure to include "gftp", a graphical FTP tool comparable to window's "FileZilla". gftp works well with the one web hosting site on which I've tried it.

  4. Scanner

    On desk-side, have scanner connected and on before installation, be sure to install S/W for it. I have not been able to get the scanner to work with the laptop, though it used to. Still works fine on desk-side.

    The following change allowed the scanner to work long enough to hang the system during setup using yast2 -> Hardware -> Scanner After that it was no longer detected.

    From: http://portal.suse.com/sdb/en/2004/04/thallma_scsiscanner_91.html

    You want to set up your SCSI scanner in SUSE LINUX, but your scanner
    model is not detected by YaST.
    
    The kernel module for the support of generic SCSI devices is not loaded
    on your system. Currently, the reason for this error is unknown. Possibly,
    the problem may be related to block devices (hard disk, CD-ROM, etc.) that
    are also connected to the SCSI bus.
    
    The temporary solution will not work after you reboot the system.
    Proceed as follows in order to load the module automatically when the
    system is booted. This procedure places the kernel module "sg" in the
    initial ramdisk. Subsequently, the module will be loaded automatically.
    
       1. Open the YaST Control Center and go to the following dialog:
              * System
              * Editor for /etc/sysconfig Files
       2. Open the following path in the /etc/sysconfig editor:
              * System
              * Kernel
              * MODULES_LOADED_ON_BOOT
       3. Append the value "sg" to any existing values in the input field to
          the right. The individual values must be separated with blank spaces.
       4. Click "Finish".
       5. Confirm the "Modified Variables" dialog by clicking "OK".
       6. Close the YaST Control Center.
    

REBOOT BEFORE CONTINUING

Reboot at this time may not be necessary, but some aspects of setup work better if you do. Also, if you do an on-line update which installs a new kernel, ALWAYS reboot after kernel installation before doing anything else- you do want the new kernel running, don't you? Installing a new kernel is about the only change which requires a reboot.

Have given up on getting laptop to work w/SCSI scanner. (24 Jan 2005) Might be worth trying the following before attempting to install scanner:

     yast2 -> Network Services -> Network Services Inetd
	      Enable SANE port

     yast2 -> System -> Runlevel Editor
	      Enable SANE

Remaining actions can be done in approximately the sequence given. Exact order given is not required for most of the rest, I've ordered the steps as were convenient for me and may change this in the future.


CONTROL CENTER

  1. Desktop Window Behavior

    Desktop -> Window Behavior: set "focus follows MouseO and un-check "click to raise". You may prefer other settings, please use what works for you!

  2. Login Manager

    System Administration -> Login Manager -> Convenience: Preselect user and focus on password.

  3. XOsview Defaults

    Edit /usr/X11R6/lib/X11/app-defaults/XOsview: set "*disk:" to True.

    On a laptop, also in this file set "*battery:" to "True".
    (Or not: in SuSE 9.2 XOsview displays the battery monitor without the above change and without +battery on the command line!)
    Unfortunately this DOESN't cause XOsview to display the battery monitor. The reason is the behavior of /usr/bin/X11/xosview, which is a shell script. It's deductions about battery fail in SuSE 10.0 and 10.1 (though they were correct for 9.2 based on not needing to set "*battery:" to "True").
    A quick fix, on a laptop, is to change in the last line of xosview $bat to +bat, thereby forcing battery display. To accommodate the longer display, in /usr/X11R6/lib/X11/app-defaults/XOsview change the display's geometry from "184x158" to "184x250".

  4. XTerm Defaults

    Edit /usr/X11R6/lib/X11/app-defaults/XTerm: comment out ScrollBar

  5. updatedb

    yast2: System -> Sysconfig Editor: run updatedb as root.

  6. Set up network

    Set up network initially on 192.168.2.x, getting x from another system's /etc/hosts. But it looks as if it's still necessary to edit /etc/hosts to install the new machine's IP address. After installation ftp in the complete file from another machine.
    As a minimum, the following will be useful to access other machines on the home network to get a copy of /etc/hosts (you use addresses for your network):

    192.168.2.1	router.my-home          router
    192.168.2.12	rel-home.my-home        rel-home
    192.168.2.16	bob-port.my-home        bob-port
    192.168.2.20	print-serv.my-home      print-serv
    
  7. Network printer Set Up

    Network printer can be set up if it's IP address and queue are supplied: 192.168.2.20 (in my case). This printer should be identified as lp (default) on all machines.

    I've experienced problems with color printers. A (refurbished) Epson Stylus Photo R300, for example, printed the gray bars of the YaST / CUPS color test pattern as tan. Prints using the MacBeth color chart (gretagmacbeth_colorchecker-rgb-cmy-dkblks_v1.tif) were not correct. See Color Targets for Digital Imaging. Applying a gamma of 1.6 to the printer helped a bit, but was still not correct. Printing from gimp was much worse, and proved to be unusable for accurate (or even acceptable) color rendition. The Epson printer which preceded this one was VERY good for color until its ink channels dried up and it quit printing.

    Replacing the Epson R300 with an HP 8250 improved color rendition to acceptable (except from gimp). Printing the MacBeth chart from the printer's native Windows software produced good colors which were matched very well by printing from gwenview in Linux. The CUPS driver for HP 8250 does not have any color adjustment, and does not allow selecting the printer's maximum resolution. Gimp has only 2 HP drivers, 1000 and 1100. These will drive the 8250, but very badly.

  8. Network Time Protocol

    This is really slick: it sets your clock on every boot-up.
    yast2: Network Services -> NTP client: set up to use Public NTP server. See ntp.conf,laptop for servers. Have used these:

    ## 20 Sep 2005  revised order to match current responders.  rbw
    server  clock.sjc.he.net         # 216.218.254.202      Hurricane Electric, San Jose, California       Contact: support@he.net
    server  zorro.sf-bay.org         # 192.83.249.28        Added 20 Sep 2005 because it has been responding.  rbw
    ## 20 Sep 2005  neither time.berkeley.netdot.net nor 216.27.190.202 are found within 30 hops by traceroute
    ## server  time.berkeley.netdot.net # 216.27.190.202    Berkeley, CA     Contact: Caleb Haley (chaley@netdot.net)
    ## 20 Sep 2005  ntp1.sf-bay.org resolves to zorro.sf-bay.org but the IP address is not found in 30 hops (traceroute)
    ## server  ntp1.sf-bay.org          # 207.126.97.57     US CA ntp1.sf-bay.org   San Jose, CA    #  Contact: Scott Hazen Mueller (clockmaster@sf-bay.org)
    

    In the following, be sure to start xinetd (inetd) before using the Runlevel editor. xinetd cannot be started from Runlevel editor until it has been enabled through the Network Services setup.

  9. (Laptop: Disconnect Scanner)

    Shutdown, remove SCSI card, insert network card. Restart, configure network and printer. yast2: Network Services -> Network Services (inetd) set up desired services, THEN use System -> Runlevel editor.

  10. Runlevel Editor

    yast2: System -> Runlevel Editor: enable what's needed.
    Unfortunately pure-ftpd is omitted from the 10.1 distribution. See MISSING UTILITIES for how to get a copy and install it.

  11. (Laptop: Reconnect Scanner)

    (VERY OPTIONAL!) On laptop: shutdown, put SCSI card in lower slot and network card in upper. Then connect scanner and boot machine. LEAVE SCANNER CONNECTED UNTIL LAPTOP IS SHUT DOWN! SuSE claims disconnecting or connecting scanner from live OS is bad, and certainly on 8.1 this "poisoned" scanner access. Configure the scanner: yast2: Hardware -> Scanner


FIREWIRE DISK

This was needed on the laptop, and reported from 9.2. I haven't yet tried this with 10.1. The "Firewire" works in the "tower" machine using the drive's USB 2 port. This is more convenient because I have a pair of USB extensions on my desk near where the disk can sit. Be sure to plug the disk into a USB 2.0 connector, NOT USB 1! I haven't tried the disk on the "tower" machine with Firewire as of 27 Aug 2006. The module "sg" is needed for the (non functioning) scanner but not for the FireWire disk, so it's not in the following list.

  1. Module Loading

    From notes for SuSE Linux 7.3 on support portal: http://portal.suse.com/sdb/en/2003/03/mlasars_firewire.html Add these modules to the list at:

    yast2 -> /etc/sysconfig Editor -> System -> Kernel -> MODULES_LOADED_ON_BOOT
    
    ohci1394 sbp2
    
    The disk should have been powered long enough to start before plugging the FireWire adapter into it's PCMCIA slot. 5-10 seconds after plugin cat /proc/scsi/scsi will identify the disk and a few seconds after that it will be automounted as /media/ieee1394-*

On the deskside with KDE, the Firewire disk starts on being plugged into a USB port. It is automatically recognized as a "Memory Stick" and a Konqueror window opened for it. I have found no provision to unmount it after use. Closing the disk's Konqueror window before disconnecting it seems to be adequate. The drive must then be powered off at it's power button.


XSERVER

  1. Enable External Connections

    In addition to the following change, 10.1 completely disables connecting to the X-Server from external machines. Per Bug 130439 in Novell's Bugzilla, this can be overcome by changing an entry in

        /etc/opt/kde3/share/config/kdm/kdmrc
       
    from:
    ServerArgsLocal=-nolisten tcp
    to:
    ServerArgsLocal=

    The parameter must be left in place with it's former value removed. Then reboot to make the new setting effective. This must be done by editing, I found no way in YAST tools.

    Per Novell TIDSuSE89, 28 Jun 2004 As of SuSE 9.1 the XFree server no longer accepts any remote access. This has been disabled by the option "-nolisten tcp" which is passed as a start argument.

    To re-enable remote access, set the following variable in the file

    /etc/sysconfig/displaymanager
    

    to "yes":

    DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN
    
    The changes become effective after executing SuSEconfig and restarting the XServer.
    Notes by RBW:
    1. MAYBE they do, but I had to reboot as well.
    2. The "offending" file is: /usr/X11/bin/startx

    Be sure to include in ,cshrc or equivalent some instructions to set DISPLAY, or remote access to the X-Server still won't work. SuSE 10.1 changes who version again, so another version test has to be added. I'm currently using in .cshrc the following snippet:

    set PCOUNT = 6
    who --version | grep 5.3 >>& /dev/null && set PCOUNT = 5
    who --version | grep 5.93 >>& /dev/null && set PCOUNT = 5
    set WMI = `who -m`
    if ( $PCOUNT <= $#WMI ) then
       set DP = `echo $WMI[$PCOUNT] | tr -d '()'`
       if ( ':0.0' =~ $DP ) then
       else
          setenv REMOTEHOST $DP
          set DP = `echo $WMI[$PCOUNT] | tr -d '()'`:0
          setenv DISPLAY $DP
          ## echo "#2 set DISPLAY"
       endif
    else
      ## this is a local login on a tty and is OK.
    endif
    unset PCOUNT
    unset DP
    unset WMI
    

    Parameter position in who output varies with version, so check position if this code doesn't work for you.


  2. Font for DOSEMU
    If you want to run dosemu (xdos), (as root) install the font vga_cyr8x16 as follows:
    cp -p vga_cyr8x16.pcf.gz /usr/X11/lib/X11/fonts/misc/vga.pcf.gz
    cd /usr/X11/lib/X11/fonts/misc
    mkfontdir
    
    so dosemu will display correctly. Restart X-Server to make this font effective.

    I strongly recommend using dosemu version 0.98.1. More recent versions work well and may not need the font file installation mentioned here, but believe the drive is network mounted and so will not allow running defrag and scandisk.


KDE DESKTOP

  1. Firefox and Thunderbird Icons

    (in all KDE logins) If Firefox or ThunderBird are installed add their desktop icons.

  2. Screen Clock

    For a good on-screen clock, try:
    xclock -d -update 1 -bg green &
    and position it conveniently. Initiate it from Run Command... in the Gecko menu. KDE will remember this command and subsequent position for your next login. Should you inadvertently kill the clock, you'll have to restart it from the above command. Possibly one would want to add it to
    Utilities -> Desktop in the Gecko menu.

  3. Conversion from OpenLook
    To allow KDE to start for former OpenLook users, the files need to be disabled. A convenient way to do this is rename them: Also for each former OpenLook user:
    cp -p /etc/skel/.xinitrc.template .xinitrc

VIDEO

  1. xine Set Up

    xine does not play DVD's out of the box. Remove it if installed.
    But it's different again with 10.1.
    I'm not completely sure what's needed to make Xine work, but the following at least is needed. This information came from Jem Matzan's article "Hacking OpenSUSE" referenced at the end of this file. Be sure to read the article!
    These packages need to be installed:

    1. xorg-x11-devel (from SuSE 10.1 distribution)
    2. zlib-devel (from SuSE 10.1 distribution)
    3. libdvdcss2
    4. w32codec (is not needed)
    Then download from http://www.xinehq.de/, build and install:
    1. xine-lib-1.1.2.tar.bz2
    2. xine-ui-0.99.4.tar.gz
    (Newer versions could be posted.)
    The process is essentially:
    1. Download each file.
    2. Unpack. For xine-lib this is: bzcat xine-lib-1.1.2.tar.bz2 | tar -xf -
    3. cd into the newly created directory.
    4. ./configure
    5. make
    6. su root
    7. make install
    8. return to the parent directory an remove the directory created by unpacking.

    xine-lib took a very long time to build. Remember to install as root! xine installs in /usr/local/bin, so it will be called from the appropriate Gecko sub-menu.

    After installation the system will auto-start Kaffeine (if installed) upon inserting a video DVD. On my system Kaffeine could not play a video DVD, so I un-installed it. To play a video DVD, start xine from the Gecko menu, then click "DVD".

    Use /sbin/hdparm -t to test disk access times on your system. See also the man page. hdparm did not yield significant improvement, so I did not add the following to /etc/init.d/boot.local.

    # 22 Nov 2004   Attempt to set hdparms at boot time since
    #		'-k1' appeared to not persist over reboot.  rbw
    /sbin/hdparm -c1 -u1 -d1 -k1 /dev/hda
    /sbin/hdparm -u1 -d1 -k1 /dev/hdc
    

    Also add the following to the same file to speed up DVD writing (may not be needed with 10.1, but WAS for 9.0):

    # 22 Nov 2004   added per "IDE CD Writer" FAQ on SuSE website.  rbw
    #
    /sbin/modprobe ide-scsi
    

AUDIO

  1. Sound Driver

    Sound driver worked correctly :out of the box".

  2. Kaffeine CD Player

    Kaffeine (/opt/kde2/bin/kaffeine) plays audio CDs and can produce louder volume than other players. It's track lister is a bit flaky getting started. It's equalizer is non-functional on rel-home at least.

  3. Sound Mixer

    alsamixergui (/usr/X11R6/bin/alsamixergui) is a good mixer, but don't use alsamixer.
    The default KMix (under the loudspeaker icon at the right of the taskbar) works quite well, so alsamixergui may not be needed.

  4. CD Player

    Ensure after replacing a DVD or CD drive that the audio cable goes to the CD / DVD connector on the sound card and isn't hiding on some other connector!
    When the default CD player is running it's interrupt rate is frequent enough to make the Gecko menu unusable. Fortunately, if the player is killed the CD keeps on playing...


FTP

  1. Choosing a version

    Classic ftpd is no more with this distribution, nor is pure-ftpd. Secure ftpd allows only anonymous connections with no cd capability.
    Use instead pure-ftp (not in the distribution, see MISSING UTILITIES ).
    BUT: DON'T use pure-ftp with SuSE 8.x.
    pure-ftp will have to be started by boot.local.
    Be sure to NOT remove xinetd if you clean out xine to replace it with a (working) version from outside the distribution DVD!


SESSION MANAGER

  1. KDE and existing .xinitrc

    KDE no longer allows changing the window manager list in the control -> session manager tab. In particular, olvwm no longer exists.

    In each user's home directory need to remove the existing .xinitrc which forced olvwm and copy in a fresh version of .xinitrc.template to enable any window manager to start.


VMWARE

VMWare does not establish host file system connections when the Ethernet adapter is swapped out for Wi-Fi. No DHCP servers are started on any virtual Ethernet.
Furthermore, from http://www.vmware.com/support/ws5/doc/network_bridged_ws.html:
Additionally, wireless network bridging is supported for Windows hosts
Note: NOT for Linux hosts!
Making a fresh install with the Wi-Fi adapter running instead of the Ethernet one at least allows both vmnet1 and vmnet8 to start and run. This configuration, with NAT selected instead of bridged, allows external network access. Unfortunately this does not allow access to the host file system from the guest Windows OS.
  1. VM Installation

    VMWare: needs kernel sources to install. Updating a kernel requires re-installing VMWare, so use the following instructions. An apparently successful sequence is:

    1. Un-install VMWare
    2. Un-install kernel sources
    3. cd /usr/src
    4. Remove all remaining directories linux* (which should be all)
    5. Make a fresh install of kernel sources. Module km_vmware* does not exist in 10.1.
    6. Perform an on-line (or other) kernel update if desired
    7. REBOOT THE SYSTEM TO APPLY THE NEW KERNEL
    8. BEFORE installing VMWare or running vmware-config.pl do the following as root: This is abstracted from "How to install VMware 5.0 workstation on SUSE Linux 10.0" By Joe Harmon, 9 Sep 2005. http://www.novell.com/coolsolutions/feature/15963.html
      Super job, Joe!
      cd /usr/src/linux
      make cloneconfig ; make prepare-all
      depmod -a (was not used by Joe Harmon, may not be needed.)
      
    9. Install VMWare
      Since about June 2006 VMWare installation using Konqueror has failed with error messages indicating one or more software packages, including VMWare itself, are not on the medium. I suspect this is a consequence of submount grabbing the installation DVD before any other program could, thereby making it unavailable to other programs, especially YaST software management. Diagnostic steps I've taken may have exacerbated the situation, and I don't really know what's going on here.

      submount is not the problem, and I still don't know what is. However, the distribution DVD works correctly from a root login. It usually does not work from YaST invoked from a non-root login. This behavior changed by 1 July 2006, possibly with installation of SuSE 10.0. It's another case of "used to work".

      SuSE 9.2 installations have not seen this problem, even with submount installed. The bottom line is: install with an rpm command line like:

      rpm -i VMware-workstation-5.5.2-29772.i386.rpm
      
    10. vmware-config.pl
      Let it build and install the required modules.
      VMWare 5.x sets up networks in 3 phases. I use specific IP addresses for compatibility among several virtual machines. You may not need to do this. I've listed addresses below for my convenience.
      Do you want networking for your virtual machines? (yes/no/help) [yes] <- yes
      . vmnet0 is bridged to eth0
      
      Do you want to be able to use NAT networking in your virtual machines? (yes/no/help) <- yes
      Do you want this program to probe for an unused private subnet? (yes/no/help) <- no
      What will be the IP address of your host on the private network? 
      inet addr       172.16.64.1
      netmask         255.255.255.0
      . vmnet8 is a NAT network on private subnet 172.16.64.0.
      Do you wish to configure another NAT network? (yes/no) [no]  <- no
      
      Do you want to be able to use host-only networking in your virtual machines?  <- yes
      Do you want this program to probe for an unused private subnet? (yes/no/help) <- no
      What will be the IP address of your host on the private network? 
      inet addr       192.168.47.1
      netmask         255.255.255.0
      . vmnet1 is a host-only network on private subnet 192.168.47.0.
      Do you wish to configure another host-only network? (yes/no) <- no
      
      You can now run VMware Workstation by invoking the following command: 
      "/usr/bin/vmware".
      
    11. Finally (and this does appear needed AFTER running vmware-config.pl):
      cd /lib/modules
      depmod -a
      
      This step is REQUIRED before reboot with VMware 5.x also. Deceptively, the computer will run normally without this step, but will have major problems finding modules on the next boot.
    12. When setting up networks for the first time let the setup probe for unused addresses. Fill in the resulting addresses above, replacing the ones I use. Use your addresses in subsequent installations instead of allowing probes for networks. This will ensure compatibility among the several machines running VMWare.

    VMWARE 5.x no longer uses Samba for connection to the host Linux system. Printer connection worked "automagically" on firing up an existing installation, needing only (as Administrator) to correct the queue on the remote printer server.

    Connection to the host file system is through a share, which will need to be set up for each user.

    Initially leave the floppy connected. For the CD/DVD select /dev/hdc and legacy emulation. After installation, set both floppy and CD/DVD to disconnect at startup. In some cases leaving the CD/DVD connected invites the Guest OS to check the drive for a new disk about every 4 seconds. These checks briefly hang the Guest OS and are extremely annoying.

  1. GUEST OS INSTALL
    1. Initial Virtual Machine

      Set up the virtual machine initially with only Bridged Networking. After installing the guest OS (in this case Windows 2000 Professional), get the first update for Internet Explorer. Following the obligatory reboot, defrag the windows disk. Continue alternating updates with defrag until all updates are installed (approximately 60 in May 2005).

    2. Host-Only Network

      Any time after the first IE update, shut down the virtual machine. Edit VM settings to add a second Ethernet adapter for Host-only Network. After restarting the guest OS, it should discover the new adapter and install a driver. Now the host's file system should be available. If you have set up SAMBA access accounts you can test this from "Network Places" or "Windows Explorer".

    3. Printer

      VMWare has for several versions omitted connecting to the host's printer system through "SAMBA Lite". This omission prevents printing from the guest unless the local network has printer(s) on it. If it does, the following settings in Guest OS printer set-up will provide printer access.

      1. Start -> Settings -> Printers
      2. Right-click the printer to configure or double click "Add Printer".
      3. Select "Local Printer" and uncheck the Plug & Play choice.
      4. Select: Properties -> Ports -> Add Port
      5. Creae a new port. Specify "Standard TCP/IP Port".
      6. for "Printer Name or IP Address" use the IP address of your printer server. (In my case 192.168.2.20)
        A "Port Name" will be constructed, there's no need to change it for the first printer. However, for additional printers you'll need to modify the constructed name to distinguish this port from previous ones.
      7. Select Device Type "Custom". Click the "Settings" button.
      8. Protocol: LPR
      9. In "Raw Settings" if there is a "Port Number" it should be whatever your printer server uses, in my case 515.
      10. Queue Name: name of printer on server, in my case lpt3
        This is the queue on the printer server.
      11. Check "SNMP Status Enabled". Under this "Community Name" should be "public", and "SNMP Device Index" 1.
      12. On return to "Add Printer Wizard" continue if you do not have a disk.
        If you DO have a disk, cancel, then insert the manufacturer's disk and use that setup.
  1. SAMBA

    VMWare 5.x no longer provides "Samba Lite". Fortunately, as noted above, it's not needed. Connection to host file system works by shares.

  2. USB

    The solution below from SDB:VMware failed. Try instead from:
    http://www.vmware.com/community/thread.jspa?messageID=489640
    Novell has changed USB structure in 10.1 :-( . You've to (under root):
    mount -t usbfs /dev/bus/usb /proc/bus/usb
    You can also add a line in fstab (to mount it at system reboot) but add this line after the line containing /proc
    /dev/bus/usb /proc/bus/usb usbfs defaults 0 0
    The above connects the Panasonic voice recorder to the emulated windows, but attempting to access the recorder from it's application program abends Windows.

    Problems connecting USB 2.0 devices through VMWare's USB 1.1 "port" have been mentioned. However, usbview describes the recorder in question as a 1.1 device, so there is some other problem. SuSE 10.0 on the deskside machine has a related problem in that the recorder does not connect through at least one of the 4 external USB ports, but does connect through at least one other of them.

    So try from:
    http://www.vmware.com/community/message.jspa?messageID=442117
    Adding to <filename>.vmx:

          usb.present = "TRUE"
          (THE FOLLOWING IS THE LINK CORRESPONDING TO YOUR USB:)
          usb.generic.devfsPath = "/proc/bus/usb"
          usb.generic.skipsetconfig = "true"
          usb.generic.autoconnect = "true"
    

    This one needs further checking.

    From http://en.opensuse.org/SDB:VMware_-_USB_support
    SDB:VMware - USB support

    Version: 10.1
    Problem:
    WMware doesn't recognize USB devices. That's because VMware (release 18.7.2006) only knows the usbfs.
    Solution:
    within /etc/fstab change the following line:
    usbdevfs /proc/bus/usb usbfs noauto 0 0
    to
    usbfs /proc/bus/usb usbfs rw,devgid=108,devmode=0660,busgid=108,busmode=0770,listgid=108,listmode=0660 0 0
    edit-this line does not work, probably a bad entry for "devmode" try "devmode=0666"
    Create group usbfs with gid=108 and add a vmware user to this group.

BROWSER

MOZILLA 1.7.13

SuSE's "update" patch to mozilla 1.7.13, which appears to be the last mozilla version ever posted to mozilla.com, puts the plugins directory in /opt/mozilla/lib/plugins instead of the expected /opt/mozilla/plugins, with the result that no plugins are reported by about:plugins. Furthermore, the Real Player and Flash plugins are linked instead of copied, which has been found to produce a slow or inoperative plugin. Moving /opt/mozilla/lib/plugins to /opt/mozilla/plugins makes the plugins visible.

Firefox, Thunderbird and Mozilla

In Mozilla and Firefox, use the url about:config to view and control settings not available from the Edit -> Preferences menu. In Linux, Firefox doesn't know how to start Thunderbird for a mailto:. See "Launchy" below for a workaround.

Following browser installation (Firefox at least, also Mozilla if you use it) several plug-ins need installing: Thunderbird is a mailtool only. I don't know which of these it needs. Thunderbird setups should be similar to the following. I recommend installing to /opt/firefox, /opt/mozilla, etc. to reduce clutter in /usr and /usr/local. Java will take care of itself, and It's a large and complex enough installation. I recommend letting it go to the default location, even if there is a choice. Check for what's there by entering "about:plugins" in the browser's URL window and hit "Enter".

  1. Mailtool Account Setup

    When setting up Thunderbird, or Mozilla's mailtool, observe the following cautions:

    1. In Edit -> Account Settings -> Server Settings (Thunderbird)
      In Edit -> Mail & Newsgroups Account Settings -> Server Settings (Mozilla)
      check "Leave messages on server" BEFORE allowing the mail tool to contact the server. Failure to do this will drain all email to the newly set up account!
    2. In prefs.js for Thunderbird or Mozilla mail tool ensure a line like:
      user_pref("mail.server.server1.login_at_startup", true);
      
      appears. This causes the mailtool to start with the inbox displayed instead of a (sort of) "splash screen". Changing "true" to "false" is the same as omitting the line.
    3. In prefs.js for Thunderbird or Mozilla mail tool ensure lines like:
      user_pref("mail.server.server1.directory", "/home/<user>/.mozilla/<path_to>/Mail/<name_of_mail_server>");
      user_pref("mail.server.server1.directory-rel", "[ProfD]Mail/<name_of_mail_server>");
      
      appear. These lines couple in the directory which contains mail folders.
  2. JAVA

    This is the easiest. Your distribution should have both runtime and development versions. Install at least runtime package (JRE) java-1_4_2-sun or later, install j2sdk for development.

    Get updates from http://java.sun.com/

    Do the following as root: Following installation run "updatedb". Then cd to each browser's plugin directory, for example:

    cd /opt/mozilla/plugins
    cd /opt/firefox/plugins
    

    and run the command:

    locate libjavaplugin_oji.so | grep gcc32
    

    if this returns exactly one line, then run the command:

    ln -s `locate libjavaplugin_oji.so | grep gcc32`
    

    If there is more than one response, you get to figure out which one to use.

  3. Real Player

    This has multiple versions, with current Linuces you'll need "RealPlayer 10", which is in SuSE 10.1 at least.

    NB: it's tempting to "ln -s" instead of "cp -p", and linked files will work. However, linked files drastically slow Firefox's response to changing selections from, for example, bbc.co.uk/radio based on tests 14 Apr 2005- use 'cp -p'!

    Do the following as root: Following installation run "updatedb". Then cd to each browser's plugin directory, for example:

    cd /opt/mozilla/plugins
    cd /opt/firefox/plugins
    

    and run the command:

    ls -lt `locate nphelix.so` | grep -v '^l'
    

    Copy the resulting file into the plugins directory.

    Then cd to each browser's components directory, for example:

    cd /opt/mozilla/components
    cd /opt/firefox/components
    

    and run the command:

    ls -lt `locate nphelix.xpt` | grep -v '^l'
    

    Copy the resulting file into the components directory.

  4. Shockwave Flash

    Starting October 2005 I've noticed many annoying pop-up ads could not be blocked by Firefox. These ads were presented by Shockwave. You may wish to NOT INSTALL SHOCKWAVE to prevent these ads from appearing. The extension Adblock can mask Shockwave pop-ups, but cannot prevent them. Best control is to not install Shockwave / Flash.

    Version 7.x is in SuSE 9.2 at least. Possibly no action is required other than installing the package "flash-player". Check each browser with "about:plugins". If "flash-player" is installed but not recognized by a browser, then do the following as root:

    Following installation run "updatedb". Then cd to each browser's plugin directory, for example:

    cd /opt/mozilla/plugins
    cd /opt/firefox/plugins
    

    and run the command:

    ls -lt `locate libflashplayer.so` | grep -v '^l'
    

    Copy the resulting file into the plugins directory.
    Then cd to each browser's components directory, for example:

    cd /opt/mozilla/components
    cd /opt/firefox/components
    

    and run the command:

    ls -lt `locate flashplayer.xpt` | grep -v '^l'
    

    Copy the resulting file into the components directory.

  5. Launchy

    This is an extension which can enable Firefox to launch Thunderbird for a mailto:. Unfortunately, Mozilla cannot be similarly started because of conflicts in it's start-up script (it wants to run mozilla-bin from the firefox directory). Possibly come creative environment setups for MOZILLA_HOME and MOZILLA_FIVE_HOME can correct this failure.

    You will need to install launchy, then provide instructions to start Thunderbird.

    1. In Firefox, navigate: Tools -> Extensions -> Get More Extensions
    2. In the "search" box in the upper right corner type launchy and click "Go".
    3. On the resulting Launchy page click "Install Now".
    4. Quit Firefox and restart it.
    Next you will need to create and install a launchy.xml file to tell launchy how to start Thunderbird. You will need to know exactly how you start Thunderbird. Use the .xml file builder provided by Launchy:
    1. In Firefox, navigate: Tools -> Extensions
    2. In the resulting pop-up, right-click the entry for Launchy and select "Visit Home Page".
    3. Scroll down to the section titled launchy.xml file usage.
    4. Use the "this page" link to create the launchy.xml file for your needs.
    5. The resulting file will display in a browser window. You need to create a copy of this, as instructed, in the chrome directory used by Firefox. Identify the directory by looking for a current copy of prefs.js. launchy.xml belongs in the chrome sub-directory of this directory.
      In my case this was /home/rbw/.mozilla/firefox/dp3r1rh2.rbw/chrome, not the /home/rbw/.mozilla/rbw/z05h6qxg.slt/chrome expected from the instructions on the launchy home page.
    Now when you encounter a mailto: in a web page displayed by Firefox, right-click the link instead of left-clicking it. This will bring up Launchy's menu with an option to start a Thunderbird compose window.

OPENOFFICE

  1. Obtain and Install

    Versions starting with 2.0 have rpm packages which are thinly disguised installer file sets. At least installation (and removal!) are more convenient. 2.0 makes the OpenDocument file formats available. Shifting to these is a one-way trip. Saving to 1.x file formats is (currently) an option. 1.5 is the last 1.x version. Downloaded versions of this have installers instead of an .rpm package. The version in the SuSE distribution is packaged.

    When replacing the distro copy with one from openoffice.org, first un-install the distro's package(s). Contrary to information given with 2.0, running this version before completely removing all configuration files and directories from 1.x resulted in hanging OO (as I remember). If using an installer, use the command:

    ./setup -net
    

    Install it to /opt/OpenOffice.org<version number>, then link /opt/OpenOffice to this directory.

  2. Aliases and Menus

    Set all .alias and .*menu* references to OpenOffice to use this link instead of the specific version.

  3. Post Installation

    After installation AND each user has started the new version for the first time:

    cd /home/<user_dir>/.kde/share/applnk
    

    and remove older directories with names in the form of:

    'OpenOffice.org <version_number>'
    

    and YES, that IS a SPACE in the middle of the directory name, hence the single quotes.


MISSING UTILITIES

  1. rup and rstatd

    SuSE 10.1 lacks rup (remote uptime) and the companion rstatd which responds to rup requests. Consequently the local network can not be readily probed to determine which computers are up. If all machines on the network are listed in the local /etc/hosts file, the following perl script emulates rup sufficiently to announce which machines are up:

    #!/usr/bin/perl
    # this is needed for SuSE 10 which inexplicably lacks rup, rstatd, etc.
    #  5 Jan 2005	Robert B. White
    #
    $DOMAINNAME = `dnsdomainname` ;
    chomp $DOMAINNAME ;
    open ( HOSTS, "</etc/hosts" ) or die ( "Cannot open /etc/hosts" ) ;
    while ( $_ = <HOSTS> )
          {
           if ( $_ !~ m/#/ )
              {
               if ( 1 < index ( $_, $DOMAINNAME ) )
                  {
                   @my_line = split ;
    	       ## print $my_line[ 2 ] . "\n" ;
    	       print `ping -c 1 -W 1 $my_line[ 2 ] | grep from` ;
    	      }
    	  }
          }
    close ( HOSTS ) ;
    

    Fortunately, rup / rstatd are available from sourceforge as a tarball. After following the instructions in INSTALL, also (as root) execute the command:
    make install-man
    to install the man pages.
    Then install (as root) the following file as /etc/xinetd.d/rstatd:

    # default: off
    # description: The rpc.statd server implements the NSM (Network Status Monitor)
    # RPC protocol..
    service rstatd
    {
            rpc_version     = 1-5
            socket_type     = dgram
            protocol        = udp
            wait            = yes
            user            = root
            group           = root
            server          = /usr/local/sbin/rpc.rstatd
            type            = RPC
            type            = RPC
            type            = RPC
            flags           = IPv4
    }
    

    Finally, use
    yast2 -> Network Services -> Network Services (xinetd)
    to toggle rstatd on and save the configuration.

  2. qps

    SuSE 10.1 lacks qps, a visual process manager. This utility is a more powerful version of top, and allows sorting the display by any column head, for example PID, %CPU, or CMDLINE; or ordering by process tree starting with PID 1, init. QPS can also send signals such as STOP, KILL, etc. to a process. Fortunately qps from SuSE 9.2 works correctly, and should be copied into /usr/bin/qps and added to K Menu -> System -> Monitor.

    A possible source for QPS is:
    YoLinux

  3. pure-ftpd

    SuSE 10.1 lacks pure-ftpd, a very convenient ftp server for local networks. pureftpd.org has sources available, for example: pure-ftpd-1.0.21. Follow the included instructions to install.
    pure-ftpd installed this way cannot be started from xinetd. Instead, add the following to /etc/init.d/boot.local

      # REMEMBER THE '&', ELSE BOOT HANGS HERE!!
      /usr/local/sbin/pure-ftpd &
    
  4. gxditview, ghostview

    Why should you care about this? gxditview is the on-screen PostScript viewer for groff. Without it groff is broken for all output to screen. The alternatives xditview and gv do not accept piped input. ghostview is also not supplied in SuSE 10.1. Instead use the similar kghostview.

  5. olvwm

    olvwm does not exist. While this window manager is getting old, it allows mapping the desktop to a virtual window several times larger than the screen, stretching windows to fill any position and area in the virtual desktop. Most usefully it lets the user COMPLETELY customize workspace menus, specifying any tree structure, pinning any menu to the desktop (comparable to a "tear-off" menu), executing any arbitrary command from a menu button, and specifying a default commend for each sub-menu (which can be executed just by dragging to the menu). It can also automatically construct a menu from all files in a directory, which is both convenient and allows dynamic menu changes.


BROKEN UTILITIES

  1. enscript

    Starting with SuSE 10.0 enscript, contrary to its man page, does NOT default to character set ISO-8859-1. enscript command lines must now explicitly specify the font, as in:

      alias enscript          '/usr/bin/enscript -X 88591 '
    

    which you might want to insert into .aliases or .cshrc or .tcshrc if you use csh or tcsh, or an equivalent file for other shells.


HARDWARE UPDATES

  1. Replacing A CD Or DVD Drive

    After replacing a CD or DVD drive, yast2 -> Software -> Software Management may not be able to find the installation CD / DVD. The URL cited appears to be correct, and matches that claimed by yast2 -> Software -> Installation Source.
    Corrective action appears to be to start yast2 -> Software -> Installation Source, ensure the desired source is selected. Then left-click "Edit", and on the drop-down menu which appears click "Refresh".

    Following this same CD or DVD drive replacement, yast2 -> Hardware -> CD-ROM Drives will show an entry for each "new" appearance of a drive, possibly including multiple appearances of some drive(s).
    If any entry shows a mount point for a drive which is no longer present, select the entry and click the "Remove" button.
    If no mount point is shown for a currently present drive, select it's entry and click "Add".
    I don't know a means to remove obsolete entries from this list. Possibly something under /var/adm/YaST/InstSrcManager will help.

    While the above actions may help, submount is not the problem, and I still don't know what is. However, the distribution DVD works correctly from a root login. It usually does not work from YaST invoked from a non-root login. This behavior changed by 1 July 2006, possibly with installation of SuSE 10.0. It's another case of "used to work".


So you think you're done?

Now it's time to read Jem Matzan's article "Hacking OpenSUSE" on Desktop Linux.com.