How To/Port Userful Multiplier to New Linux Distros
From Userful Support
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:
- Check the version of X
- Install Userful Multiplier on your system
- Update
/etc/inittaband remove initscript for Display Manager - Configure
/opt/userful/bin/prefdm_multi - Edit Display Manager configuration
- 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:
- 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
runlevelcommand shows you current and previous runlevels. - You can get some more information by looking at the
/etc/inittabfile.
- 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 inprefdm_multi.prefdm_multiis a script to configure the system and start Display Manager for UMx.
-
- If the display manager is started from
/etc/inittab, comment out the line which starts it.- Some linux distributions like Fedora Core use
/etc/inittabto start the display manager with a line such asx:5:once:/etc/X11/prefdm
. Disable the line that starts display manager from the file/etc/inittabby prepending a#character.
- Some linux distributions like Fedora Core use
- Add a new line, which will execute
prefdm_multito configure the system and start the 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 UMx and to start display manager after UMx.
To configure prefdm_multi for your system:
- Copy and overwrite
/opt/userful/bin/prefdm_multiwith/opt/userful/bin/prefdm_multi.templateusing the following command:cp -f /opt/userful/bin/prefdm_multi.template /opt/userful/bin/prefdm_multi
- Add a new line to the end of
prefdm_multito 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
initscriptor/etc/inittab. - If
initscriptis used to start the display manager, run the following command to add a line into theprefdm_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 theprefdm_multiscript:echo "exec /etc/init.d/'''script''' start" >> /opt/userful/bin/prefdm_multi
scriptshould 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/inittaband run the following command to add a line into theprefdm_multi:echo "exec '''''command''''' >> /opt/userful/bin/prefdm_multi
commandis the command you found in the/etc/inittab. For example, Fedora Core uses/etc/X11/prefdm -nodaemonand Mandrake uses/etc/X11/prefdmto execute a script for 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
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:
- Add following lines to the end of
xdm-config:DisplayManager*openDelay: 3 DisplayManager*openRepeat: 1 DisplayManager*openTimeout: 24 DisplayManager*startAttempts: 3
- Disable/remove current local server(s) by prepending
#to theXserverslike this:#:0 local /usr/X11R6/bin/X
- 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:
- Disable
FirstVT=7by prepending a#to it in the[daemon]section like this:#FirstVT=7
- Set
VTAllocationtofalsein the[daemon]section like this:VTAllocation=false
- Comment out
Standardlocal X server like this:#0=Standard
- Add the following lines, one for each station:
0=Login 1=Login ... ''N''=Login
- 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:
- Set the values as follows in the
[X-*-Core]section ofkdmrc:OpenDelay=3 OpenTimeout=24 OpenRepeat=1 OpenRepeat=3 StartAttempts=3 StartInterval=2
- Disable/remove current local server(s) by prepending a
#toXserverslike this:#:0 local /usr/X11R6/bin/X
- 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/
- Name:
- USB device agent
- Name:
usb.agent,50-usb.hotplug - Location:
/etc/hotplug/,/etc/hotplug.d/usb/
- Name:
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_varsin theadd)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.
