How To/Port Userful Multiplier to New Linux Distros

From Userful Support

Jump to: navigation, search

How to Port Userful Multiplier to New Linux Distributions



Copyright © 2005-2008, Userful Corporation. All rights reserved.
(Updated 2008.07.07)


Contents

Introduction

This Mini-How To describes how to configure an unsupported Linux distribution to support Userful Multiplier (UMx). These instructions DO NOT apply to the following, officially supported Linux distributions:

  • RPM Based Distributions
    • Fedora Core 2, 3, 4, 6, 7, 8
    • SuSE 9.1, 9.3, 10.1, 10.2
    • Novell Desktop (SLED) 9, 10
    • Mandriva (Mandrake) 10.0, 10.1, 2008.0
    • Red Hat Enterprise Linux WS 4
    • CentOS 4
  • DEB Based Distributions
    • Ubuntu 5.04, 5.10, 6.06, 6.10, 7.04, 7.10, 8.04
    • Kubuntu 6.10, 7.04
    • Edubuntu 6.10
    • Linspire 5.0
    • Freespire 1.0.4
    • Xandros 3.0, 4.0
    • Debian 3.1, 4.0
    • Dreamlinux 0.5-pre5
    • SimplyMepis 6.5
    • PioneerLinux

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

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.

The following are the brief steps to configure your system for UMx:

  1. Check the version of X
  2. Install Userful Multiplier on your system
  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

UMx supports X11R6.9/X11R7 or under. Please check the version of X of your Linux distribution before you proceed.

Install Userful Multiplier on Your System

Download UMx 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 UMx work.

To update the boot procedure:

  1. Find the runlevel your system uses for the graphical boot.
    • e.g.: 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 /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 the system and start Display Manager for UMx.
  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 a # character.
  4. Add a new line, which will execute prefdm_multi to configure the system and start the display manager, into the end of /etc/inittab.
  5. 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 UMx and to start display manager after UMx.

To configure prefdm_multi for your system:

  1. Copy 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.template  /opt/userful/bin/prefdm_multi
  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 in the 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 starts the 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

Userful 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 like this:
    #: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
    

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 a # to it in the [daemon] section like this:
    #FirstVT=7
  2. Set VTAllocation to false in the [daemon] section like this:
    VTAllocation=false
  3. Comment out Standard local X server like this:
    #0=Standard
  4. Add the following lines, one for each station:
    0=Login
    1=Login
    ...
    ''N''=Login
    
  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 file 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 a # to Xservers like this:
    #: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
    

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 UMx. 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 the input device agent:

  • Find the name and location of input device agent
  • Add following codes after the remove) section
 remove)
     /opt/userful/bin/unplug-inputdev.sh $PHYS

To edit the 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 [ -e /var/run/x.pid -a -d /proc/`cat /var/run/x.pid` ]; then
         # New input device added. Show message...
         killall -USR1 userful-usbinput-config
     fi
 fi
  • Add the following lines before the remove) section
    /opt/userful/bin/plug-inputdev.sh $INTERFACE
    ;;
 remove) 

Reboot

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





Personal tools