XFree Local Multi-User HOWTO

Svetoslav Slavtchev

Nov 2003

Revision History
Revision 1.32003-11-11Revised by: SS
Ruby-2.6 is working :) , sync to new BRuby, add config file paths for Gentoo
Revision 1.22003-09-17Revised by: SS
Lots, lots of stuff. the most major things: XFree-PrefBusID v3, input.rc (and exp. service ruby_init), add "Known Limitations"
Revision 1.12003-07-14Revised by: SS
sync input agent with examples, a bit more about ruby, less Fix-Me's, additions to video compatibility
Revision 1.02003-05-13Revised by: TP
Initial release, reviewed by LDP.

This HOWTO explains one of the ways to get a working, multiple, local X user-capable PC system for up to 16 users. It is based on using a modified Linux kernel with support for multiple independent users . The second way is not covered here, but on the web page of it's author, the pioneer Miguel Freitas.


Table of Contents
1. Introduction
1.1. About Backstreet Ruby/ Ruby
1.2. About this document
1.3. Related Documentation
1.4. New versions of this document
1.5. Copyright and License
1.6. Disclaimer
1.7. Credits/Contributors
1.8. Feedback/Bug Reporting
2. Before we begin
2.1. Known Limitations
2.2. XFree configuration files
2.3. Reusing Xinerama configured XFree
2.4. Binary packages
3. Installing the kernel
3.1. Installing the Backstreet Ruby/ Ruby-2.6 kernel
3.2. Notes on building your own kernel
3.3. Creating needed device files
3.4. Notes on using multiple VT's & VGA console
3.5. Keyboard numbering(order of detection)
4. Setting up the X servers
4.1. Do I need a modified X server?
4.2. Installing and Configuring XFree-PrefBusID
4.3. Creating symbolic links
4.4. Using independent keyboards with XFree
4.5. Using independent mice with XFree
4.6. For graphic cards without DRI
4.7. Nvidia GLX & DRI
5. More on configuring input devices
5.1. Finding the real devices
5.2. Using hotplug with input.agent and input.rc
5.3. Using XFree with event interface support
5.4. Using the "Phys" descriptor and USB devices
6. Configuring display managers
6.1. Configuring xdm and kdm
6.2. Configuring gdm
7. Tweaking it
7.1. Using independent sound cards
7.2. Customising the login screen
7.3. 1st X server configuration file
7.4. Number X servers started by Display managers
7.5. Dynamically switching the number of X servers
8. Known problems
8.1. Hardware problems
8.2. Software problems
9. Special notes on some distributions
9.1. Mandrake
9.2. Red Hat
9.3. Debian
9.4. SuSE
10. Final words
A. Video Compatibility list
A.1. Graphic card pairs/triples that work perfectly
A.2. Graphic card pairs/triples that work, but with some glitches
B. Example configuration files
B.1. XFree86
B.2. Display managers
B.3. Configuration files for Input Agent
C. Scripts
C.1. hotplug: input.agent
C.2. hotplug: input.rc
C.3. hotplug & XFree supporting event devices: input.agent
C.4. Wrapper for starting X using Nvidia libGL.so
C.5. For installing Nvidia drivers for parallel use with DRI
D. Experimental Backstreet Ruby configuration Script/ Service
D.1. README.ruby_init explains how to configure and use the service.
D.2. The global configuration file /etc/sysconfig/ruby.conf
D.3. The ruby_init service /etc/init.d/ruby_init
D.4. Modified hotplug input.agent /etc/hotplug/input.agent