7.4. Number X servers started by Display managers

Here is a modified version of the previous approach. Add this to your init scripts (I bet it's missing!):

#the same like XF86Config but for gdm.conf & Xservers
for i in xdm/Xservers gdm/gdm.conf; do
    if [ -L "/etc/X11/$i" ]; then
        DumbCon=`sed -n 's/.*dumbcon=\([0-9]*\).*/\1/p' /proc/cmdline`
        [ -n "$DumbCon" ] || DumbCon=0
        [ -r "/etc/X11/$i.$DumbCon" ] && ln -sf "/etc/X11/$i.$DumbCon" "/etc/X11/$i"
echo "Setting up display managers for `expr $DumbCon + 1` Xservers"

This will adjust the proper /etc/X11/xdm/Xservers and /etc/X11/gdm/gdm.config according to the boot line argument dumbcon=n (remember n+1= number of X users/sessions).

You have to create the configuration files following these assumptions:

"i" only stands for /etc/X11/xdm/Xserver and /etc/X11/gdm/gdm.conf.

...and so on.


If you boot without dumbcon=n or with dumbcon=0 (for example a standard kernel), your display manager will start a single X server with the corresponding XF86Config file.

If you start with dumbcon=1 the display manager will automatically start 2 X servers.

If you start with dumbcon=2, when booting is finished you'll get 3 login prompts on your 3 displays.

Keep in mind that each X server should have it's own configuration file, and it should be specified in the display manager configuration file properly. Take a look at the configuration files before restarting with an activated display manager and this addition to your init scripts.

This can also be used if you have a single XFree configuration file (see Section 4.6, "For graphic cards without DRI"). In this case you will have to specify the correct layout instead of the correct XFree configuration file.