7.2. Customising the login screen

7.2.1. Using xdm

Copy /etc/X11/xdm/Xsetup_0 to /etc/X11/xdm/Xsetup_1. For additional X servers, create the file(s) /etc/X11/xdm/Xsetup_[n], where n is the number of the X server starting from 0.

  1. Modify the line containing the background image, to adjust the path to your image for the 2nd X server:

    
....
    if [ -r /usr/share/mdk/backgrounds/default.png -a -x /usr/bin/qiv ]; then
        /usr/bin/qiv -z /usr/share/mdk/backgrounds/default.png
    else
        /usr/X11R6/bin/xsetroot -solid "#21449C"
    fi
    ....
                

    Modified:

    
....
    if [ -r /usr/share/mdk/backgrounds/flower.jpg -a -x /usr/bin/qiv ]; then
        /usr/bin/qiv -z /usr/share/mdk/backgrounds/flower.jpg
    else
        /usr/X11R6/bin/xsetroot -solid "#21449C"
    fi
    ....
                

    You can also specify a different background color, with:

    
....
    #if [ -r /usr/share/mdk/backgrounds/flower.jpg -a -x /usr/bin/qiv ]; then
    #    /usr/bin/qiv -z /usr/share/mdk/backgrounds/flower.jpg
    #else
        /usr/X11R6/bin/xsetroot -solid "[your color]"
    #fi
    ....
                
  2. Comment out the lines which may affect the primary X server, from:

    
....
    if [ -x /etc/X11/xinit.d/numlock ]; then
        /etc/X11/xinit.d/numlock &
    fi
    ....
                

    to

    
....
    #if [ -x /etc/X11/xinit.d/numlock ]; then
    #    /etc/X11/xinit.d/numlock &
    #fi
    ....
                
  3. Inform xdm about the existence of Xsetup_1 by modifying /etc/X11/xdm/xdm-config:

    
......
    ! The following three resources set up display :0 as the console.
    DisplayManager._0.setup:        /etc/X11/xdm/Xsetup_0
    DisplayManager._0.startup:      /etc/X11/xdm/GiveConsole
    DisplayManager._0.reset:        /etc/X11/xdm/TakeConsole
    DisplayManager._0.startAttempts: 1
    !
    ......
                

    Modified:

    
......
    ! The following three resources set up display :0 as the console.
    DisplayManager._1.setup:        /etc/X11/xdm/Xsetup_1
    DisplayManager._0.setup:        /etc/X11/xdm/Xsetup_0
    DisplayManager._0.startup:      /etc/X11/xdm/GiveConsole
    DisplayManager._0.reset:        /etc/X11/xdm/TakeConsole
    DisplayManager._0.startAttempts: 1
    !
    ......
                
  4. Repeat the procedure for each additional X server.

  5. Check here for additional customising options: Linux-Journal Issue 68: Linux Apprentice: Customising the XDM Login Screen.

7.2.2. Using kdm

7.2.3. Using gdm

This requires gdmlogin to be used instead of gdmgreater, because using different themes for different displays is not yet implemented in gdm. In case you want to use gdm themes you'll have the same theme on all displays.

  1. Switch to gdmlogin by making this changes in /etc/X11/gdm/gdm.conf

    From:

    .....
    # Greeter for local (non-xdmcp) logins.  Change gdmlogin to gdmgreeter to
    # get the new graphical greeter.
    Greeter=/usr/bin/gdmgreeter
    .....
    

    to

    .....
    # Greeter for local (non-xdmcp) logins.  Change gdmlogin to gdmgreeter to
    # get the new graphical greeter.
    Greeter=/usr/bin/gdmlogin
    .....
  2. Copy the file /etc/X11/gdm/Init/Default to /etc/X11/gdm/Init/:0, and /etc/X11/gdm/Init/:1

  3. Add these lines to use the background that kdm uses (you can use another image file as well, just change the full path to it):

    
if [ -r /usr/share/mdk/backgrounds/default.png -a -x /usr/bin/qiv ]; then
        /usr/bin/qiv -z /usr/share/mdk/backgrounds/default.png
    else
        /usr/X11R6/bin/xsetroot -solid "#21449C"
    fi
                

    You can also specify a different background color, with:

    /usr/X11R6/bin/xsetroot -solid "[your color]"

    Modified:

    /etc/X11/gdm/Init/:0

    
#!/bin/sh
    
    if [ -r /usr/share/mdk/backgrounds/default.png -a -x /usr/bin/qiv ]; then
        /usr/bin/qiv -z /usr/share/mdk/backgrounds/default.png
    else
        /usr/X11R6/bin/xsetroot -solid "#21449C"
    fi
    if [ -x /etc/X11/xinit/fixkeyboard ]; then
        /etc/X11/xinit/fixkeyboard
    fi
    
    exit 0
                

    /etc/X11/gdm/Init/:1

    
#!/bin/sh
    
    if [ -r /usr/share/mdk/backgrounds/flower.jpg -a -x /usr/bin/qiv ]; then
        /usr/bin/qiv -z /usr/share/mdk/backgrounds/flower.jpg
    else
        /usr/X11R6/bin/xsetroot -solid "#21449C"
    fi
    
    if [ -x /etc/X11/xinit/fixkeyboard ]; then
        /etc/X11/xinit/fixkeyboard
    fi
    
    exit 0
                
  4. Repeat the procedure for each additional X server, using file(s) /etc/X11/gdm/Init/:[n], where n is the number of the display.

  5. Check here for additional customising options: Gnome Display Manager Reference Manual.