Userful Logo
Home Products News & Events Company Partners Free Trial Support Contact
Products
FAQ

Featured Links:

Userful : Products : Multi-Station : Desktop Multiplier 2

Desktop Multiplier 2 configuration for non-supported distributions

Introduction

This Mini-HOWTO describes how to configure an unsupported Linux distribution to support Userful's Desktop Multiplier (DM). These instructions DO NOT apply to the following supported officially Linux distributions:

Supported Linux distributions

  • RPM based: Fedora Core 2, 3 or 4; SuSE 9.1, 9.3; Mandrake 10.0 & 10.1; Novell Desktop Linux; Red Hat Enterprise Linux WS; CentOS 4.0
  • Debian based: Ubuntu 5.04; Linspire 5.0; Xandros v3; SimplyMEPIS 3.3.1; Debian 3.1 Sarge

If you are using one of the distributions listed above, you do not need to use this Mini-HOWTO.

If you are using a distribution closely related to one of the distributions listed above, we suggest attempting the regular installation prior to manually reconfiguring your system.


Following is the brief steps to configure your system for DM:

  1. Check the version of X
  2. Install Desktop Multiplier
  3. Update /etc/inittab and remove initscript for Display Manager
  4. Configure /opt/userful/bin/prefdm_multi
  5. Edit Display Manager configuration
  6. Edit Hotplug

Check the version of X

DM supports X11R6.8.2 or lower. The latest X, X11R6.9/X11R7, is not yet supported with DM. Please check the version of X installed before you proceed. You can check the version of X by running X -version.

Install Desktop Multiplier on your system

Download DM and install using the included INSTALL script. You will need to do this as a superuser.

sh INSTALL

Update /etc/inittab and remove initscript for the display manager

The boot sequence is different for each Linux distribution. Some distributions start the display manager from /etc/inittab, while others start it with initscript.

In any case, the display manager should not be started until end of the boot sequence for DM work.

To update the boot procedure:

  1. Find the runlevel your system uses for the graphical boot
    • i.e: Fedora Core uses runlevel 5, while Ubuntu uses runlevel 2 for graphical boot
    • the runlevel command shows you current and previous runlevels
    • You can get some more information by looking at the /etc/inittab file
  2. If initscript is used to start the display manager, disable it
    • /etc/rc.d/rcN.d/ contains all the initscripts for the runlevel N. For example, if your system uses runlevel 5 for graphical boot, it will run all the scripts in the /etc/rc.d/rc5.d/
    • In the directory you found above, backup and disable/remove the script related to the display manager. The script may be named something like S99dm, S99xdm or S99gdm. It is actually the soft-link to a real script located in /etc/init.d/ which will be used in prefdm_multi. prefdm_multi is a script to configure system and start Dispaly Manager for DM.
  3. If the display manager is started from /etc/inittab, comment out the line which starts it
    • Some linux distributions like Fedora Core use /etc/inittab to start the display manager with a line such as "x:5:once:/etc/X11/prefdm". Disable the line that starts display manager from the file /etc/inittab by prepending #.
  4. Add a new line, which will execute prefdm_multi to configure the system and start Display Manager, into the end of /etc/inittab
Use the command: echo "x:N:once:/etc/X11/prefdm_multi" >> /etc/inittab
N should be replaced with the runlevel for graphical boot of your system

Configure /opt/userful/bin/prefdm_multi

As mentioned before, prefdm_multi is a script to configure the system for use with DM and to start display manager after DM.

To configure prefdm_multi for your system:

  1. Backup and overwrite /opt/userful/bin/prefdm_multi with /opt/userful/bin/prefdm_multi.template using the following command
    • cp -f /opt/userful/bin/prefdm_multi /opt/userful/bin/prefdm_multi.template
  2. Add a new line to the end of prefdm_multi to start the display manager
    • Starting the display manager is different for each Linux distribution. You need to find out how the display manager starts in your Linux system. As described previous section, the display manager is normally started from either initscript or /etc/inittab
    • If initscript is used to start the display manager, run the following command to add a line into the prefdm_multi. You will find the script under /etc/init.d/ with a name similar to dm, gdm, kdm or xdm. Use the following command to add the display manager startup script to the end of the prefdm_multi script
    echo "exec /etc/init.d/script start" >> /opt/userful/bin/prefdm_multi
    script should be the name of script you found in /etc/init.d
    • If your display manager is started from /etc/inittab, find the command that start display manager in the end of /etc/inittab and run the following command to add a line into the prefdm_multi.
    echo "exec command >> /opt/userful/bin/prefdm_multi
    command is the command you found in the /etc/inittab. For example, Fedora Core uses /etc/X11/prefdm -nodaemon and Mandrake uses /etc/X11/prefdm to execute a script for display manager

Edit Display Manager configuration

Desktop Multiplier supports three general display managers: XDM, GDM and KDM. You need to find out which display manager your system uses and edit that display manager's configuration.

XDM

XDM (X window Display Manager) is the default Display Manager for X Window System. There are two configuration files for XDM, xdm-config and Xservers. You can find these files in /etc/X11/xdm/.

To configure the XDM:

  1. Add following lines to the end of xdm-config
    DisplayManager*openDelay: 3
    DisplayManager*openRepeat: 1
    DisplayManager*openTimeout: 24
    DisplayManager*startAttempts: 3
  2. Disable/remove current local server(s) by prepending # to the Xservers
    #:0 local /usr/X11R6/bin/X
  3. Add these lines, one for each station into Xservers
    :0 local /opt/userful/bin/login-server
    :1 local /opt/userful/bin/login-server
    ...
    :N local /opt/userful/bin/login-server
    Note: You can find the number of stations in your system by running following command: cat /etc/X11/stations

GDM

GDM (Gnome Display Manager) is an alternate Display Manager for X Window System. gdm.conf is the configuration file for GDM. The common locations for the gdm.conf configuration file are /etc/X11/gdm/, /etc/gdm/ or /etc/opt/gnome/gdm/, although this will vary by Linux distribution.

To configure the GDM, edit gdm.conf as follows:

  1. Disable FirstVT=7 by prepending # to it in the [daemon] section
    #FirstVT=7
  2. Set VTAllocation to false in the [daemon] section
    VTAllocation=false
  3. Comment out Standard local X server
    #0=Standard
  4. Add following lines, one for each station
    0=Login
    1=Login
    ...
    N=Login
    Note: You can find the number of station in your system by running following command, cat /etc/X11/stations
  5. Construct a new [server-Login] section
    [server-Login]
    name=Login server
    command=/opt/userful/bin/login-server
    flexible=true

KDM

KDM (KDM Display Manager) is another display manager for the X Window System. kdmrc. The Xservers file is the configuration files for KDM. The common locations for the Xservers file are /etc/X11/xdm/, /etc/kde3/kdm/, /usr/share/config/kdm/ or /etc/opt/kde3/share/config/kdm/, but this is different for each Linux distribution.

To configure the KDM:

  1. Set the values as follows in the [X-*-Core] section of kdmrc
    OpenDelay=3
    OpenTimeout=24
    OpenRepeat=1
    OpenRepeat=3
    StartAttempts=3
    StartInterval=2
  2. Disable/remove current local server(s) by prepending # to Xservers
    #:0 local /usr/X11R6/bin/X
  3. Add these lines, one for each station into Xservers
    :0 local /opt/userful/bin/login-server
    :1 local /opt/userful/bin/login-server
    ...
    :N local /opt/userful/bin/login-server
    Note: You can find the number of stations in your system by running following command, cat /etc/X11/stations

Edit Hotplug agents

You need to edit two hotplug agents, the input and usb device agent, to get the hotplugging of USB devices working on your system with DM. The name and location of these hotplug agents are different for each Linux distribution. The following are the common names and locations for the agents:

  • Input device agent
    Name: input.agent , 50-input_device.hotplug
    Location: /etc/hotplug/ , /etc/hotplug.d/input_device/
  • USB device agent
    Name: usb.agent , 50-usb.hotplug
    Location: /etc/hotplug/ , /etc/hotplug.d/usb/


To update input device agent:

  • Find the name and location of input device agent
  • Add following codes after the remove) section

remove)
    devtype=`echo "$PHYS" | head -c 3`
    if [ -f /etc/userful-currentdm ]; then
        source /etc/userful-currentdm
    fi
    if [ "$PHYS" != "" -a "$devtype" != "isa" ]; then
        usleep 500000
        /opt/userful/bin/make-config-file -u
        if [ -z "$CURRENTDM" ]; then
            /opt/userful/bin/remove-usb-device -phys $PHYS
        else
            /opt/userful/bin/remove-usb-device -phys $PHYS -dm $CURRENTDM
        fi
        RET=$?
        if [ $RET -eq 11 ]; then #Removed device is mouse or keyboard not configured
            killall -s HUP userful-usbinput-config
        fi
    fi


To edit usb device agent:

  • Find the name and location of usb device agent
  • Add following codes after usb_convert_vars in the add) section

usb_convert_vars
if [ "$INTERFACE" == "3/1/1" -o "$INTERFACE" == "3/1/2" ]; then
    if [ -f /var/run/x.pid ]; then
        XPROCESSID=/proc/`cat /var/run/x.pid`
        if [ -d  $XPROCESSID ]; then
            # send USR1 signal to USB-config program
            killall -s USR1 userful-usbinput-config
        fi
    fi
fi

  • Add following lines before the remove) section

   # excuted only for the keyboard or mouse devices
   if [ "$INTERFACE" == "3/1/1" -o "$INTERFACE" == "3/1/2" ]; then
       # This part is only executed when X is running.
       if [ -f /var/run/x.pid ]; then
           XPROCESSID=/proc/`cat /var/run/x.pid`
           if [ -d  $XPROCESSID ]; then
               usleep 500000
               /opt/userful/bin/make-config-file -r
               pkill -USR2 MXSigDaemon
               killall -s HUP userful-usbinput-config
               pkill -USR2 kbd-daemon
               pkill -USR2 mse-daemon
           fi
       fi
   fi
   ;;
remove) 

Reboot

After completing all of the configuration changes above, you must reboot the system for changes to take effect.

Terms of Use  |  Privacy  |  Contact us  |  Site Map  |  Website Feedback
Copyright © 2007-2008, Userful Corporation. All rights reserved.