Customising the login screen

XFree Local Multi-User HOWTO
Prev | Chapter 7. Tweaking it | Next

# 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

- I'm not really sure. This area requires feedback.

  Modify `/usr/share/config/kdm/kdmrc`, from:

      ......
      [X-:0-Core]
      Authorize=true
      AutoLogin1st=true
      AutoLoginEnable=false
      Reset=/etc/X11/xdm/TakeConsole
      Setup=/etc/X11/xdm/Xsetup_0
      Startup=/etc/X11/xdm/GiveConsole

      [X-:1-Core]
      Authorize=true
      ......

  to

      ......
      [X-:0-Core]
      Authorize=true
      AutoLogin1st=true
      AutoLoginEnable=false
      Reset=/etc/X11/xdm/TakeConsole
      Setup=/etc/X11/xdm/Xsetup_0
      Startup=/etc/X11/xdm/GiveConsole

      [X-:1-Core]
      Authorize=true
      #AutoLogin1st=true
      #AutoLoginEnable=false
      #Reset=/etc/X11/xdm/TakeConsole
      Setup=/etc/X11/xdm/Xsetup_1
      #Startup=/etc/X11/xdm/GiveConsole

      #[X-:1-Core]
      #Authorize=true
      ......

- Check for additional customising options at the KDE Help Center.

## 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.

Prev | Home | Next
Using independent sound cards | Up | 1st X server configuration file