7.2. 自定义登录屏幕

7.2.1. 使用 xdm

复制/etc/X11/xdm/Xsetup_0/etc/X11/xdm/Xsetup_1. 对于额外的 X 服务器,创建文件/etc/X11/xdm/Xsetup_[n],其中 n 是 X 服务器的编号,从 0 开始。

  1. 修改包含背景图像的行,以调整第二个 X 服务器的图像路径

    ....
    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 [ -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 [ -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. 注释掉可能影响主 X 服务器的行,从

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

    ....
    #if [ -x /etc/X11/xinit.d/numlock ]; then
    #    /etc/X11/xinit.d/numlock &
    #fi
    ....
                
  3. 通过修改以下文件,告知 xdm Xsetup_1 的存在/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
    !
    ......
                

    修改后

    ......
    ! 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. 对每个额外的 X 服务器重复此步骤。

  5. 在这里查看其他自定义选项:Linux-Journal Issue 68: Linux Apprentice: Customising the XDM Login Screen

7.2.2. 使用 kdm

7.2.3. 使用 gdm

这需要gdmlogin而不是使用gdmgreater,因为 gdm 尚未实现在不同显示器上使用不同主题。如果您想使用 gdm 主题,则所有显示器将使用相同的主题。

  1. 通过在以下文件中进行更改来切换到 gdmlogin/etc/X11/gdm/gdm.conf

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

    .....
    # Greeter for local (non-xdmcp) logins.  Change gdmlogin to gdmgreeter to
    # get the new graphical greeter.
    Greeter=/usr/bin/gdmlogin
    .....
  2. 复制文件/etc/X11/gdm/Init/Default/etc/X11/gdm/Init/:0,以及/etc/X11/gdm/Init/:1

  3. 添加这些行以使用 kdm 使用的背景(您也可以使用另一个图像文件,只需更改其完整路径)

    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
                

    您还可以使用以下方法指定不同的背景颜色:

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

    修改后

    /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. 对每个额外的 X 服务器重复此步骤,使用文件/etc/X11/gdm/Init/:[n],其中 n 是显示器的编号。

  5. 在这里查看其他自定义选项:Gnome Display Manager Reference Manual