4. Using independent keyboards with XFree

Once you install the Backstreet Ruby/ Ruby-2.6 kernel and start it with dumbcon=n, you get n +1 independent consoles [1 VGA(or Framebuffer under Ruby-2.6) + n DUMB] . If you have enough keyboards connected to your PC, each of these consoles are associated with a given keyboard. This enables you to start multiple X servers on each of the consoles, using the keyboard associated with the corresponding console for input. Hence you get multiple independent X servers with independent keyboards, which in turn make it possible for one single PC to be used by several local X users simultaneously.

To start X on a given console (using a given independent keyboard) you pass it the argument vt[N], where N is a number from a given tty range.

Under Backstreet Ruby/ Ruby-2.6, each real console (VGA or Framebuffer) is represented by 16 tty's and each DUMB console by a single tty, as currently only a single real console (VGA or Framebuffer) is supported the resulting tty ranges are:

If you have 3 video cards, 3 keyboards, and you have started the Backstreet Ruby kernel with dumbcon=2, you can start 3 independent X servers for 3 simultaneous users with the following commands:

Note

  • For Mandrake and Debian users:

    the XFree configuration files are normally /etc/X11/XF86Config-4

  • For Red Hat, Gentoo, SuSE users:

    the XFree configuration files are normally /etc/X11/XF86Config

Caution

Have in mind that for the older Preferred Bus ID XFree Server (version 1) you have to specify the desired graphic card with parameter -prefbusid x:x:x where x:x:x is the Bus ID of the desired graphic card. Just append "-prefbusid x:x:x" with the correct Bus ID of the card you want to start right before the last argument vt[x]. If you omit this option the modified X server will act as a not modified/ standard XFree server and you wont be able to run multiple XFree instances at the same time.

For the 1st X server with the 1st keyboard:

$ startx -- /usr/X11R6/bin/X0 :0 -xf86config /etc/X11/XF86Config-4[for your 1st video card] vt7

For the 2nd X server with the 2nd keyboard:

$ startx -- /usr/X11R6/bin/X1 :1 -xf86config /etc/X11/XF86Config-4[for your 2nd video card] vt17

For the 3rd X server with the 3rd keyboard:

$ startx -- /usr/X11R6/bin/X2 :2 -xf86config /etc/X11/XF86Config-4[for your 3rd video card] vt18

For the 1st X server you can skip the -xf86config /etc/X11/XF86Config-4[for your 1st video card] argument. In this case, the default configuration file, /etc/X11/XF86Config-4, will be used.

Note

Under older versions of Backstreet Ruby each console is represented by 8 tty's:

  • VGA: tty0 to tty7

  • DUMB1: tty8 to tty15

  • DUMB2: tty16 to tty23

This means that you have to use different vt parameter for the additional X servers.

For the 2nd X server with the 2nd keyboard:

$ startx -- /usr/X11R6/bin/X1 :1 -xf86config /etc/X11/XF86Config-4[for your 2nd video card] vt8

For the 3rd X server with the 3rd keyboard:

$ startx -- /usr/X11R6/bin/X2 :2 -xf86config /etc/X11/XF86Config-4[for your 3rd video card] vt16

You can also setup your display manager to start the independent X servers, once everything is properly configured. But don't rush to setup your display manager before the configuration is finished, because this could give you serious problems. When you are ready with the required configurations, you'll reach the section on configuring the display manager.