Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

10.4. 自定义登录屏幕

GNOME 登录屏幕有几个可以被自定义的元素。这些更改只能由系统管理员执行,并会影响所有用户。这部分描述了如何自定义问候语文本、徽标、键盘布局和用户列表。

10.4.2. 显示文本横幅

登录屏幕上的文本横幅由以下 GSettings 键控制的(有关 GSettings 的更多信息,请参阅 第 9 章 使用 GSettings 和 dconf 配置桌面):
org.gnome.login-screen.banner-message-enable
启用显示横幅消息。
org.gnome.login-screen.banner-message-text
在登录窗口中显示文本横幅消息。
请注意,由于 GDM 使用自己的 dconf 配置文件,因此您可以通过更改该配置文件中的设置来配置文本横幅。

过程 10.7. 在登录屏幕上显示文本横幅

  1. 创建或编辑 /etc/dconf/profile/ gdm 中的 gdm 配置文件,其中包含以下行:
    user-db:user
    system-db:gdm
    file-db:/usr/share/gdm/greeter-dconf-defaults
    GDMdconf 数据库的名称。
  2. /etc/dconf/db/gdm.d/01-banner-message 中为机器范围的设置创建一个 gdm 数据库:
    [org/gnome/login-screen]
    banner-message-enable=true
    banner-message-text='Type the banner message here'
    
    注意
    横幅消息没有字符限制。GNOME Shell 会自动检测较长的文本,并进入两列模式。但是,横幅消息文本无法从外部文件读取。
  3. 更新系统数据库:
    # dconf update
当您从用户列表中选择了自己或开始在框中输入时,会显示横幅文本。下一次登录时,您会在输入密码时看到文本。

10.4.2.1. 如果横幅消息没有更新会怎样?

如果横幅消息没有显示,请确定您运行了 dconf update 命令。
如果横幅消息没有更新,请尝试重启 GDM。如需更多信息,请参阅 第 14.1.1 节 “重启 GDM”

10.4.3. 显示多键盘布局

您可以添加其它备选键盘布局,以便用户可以从登录屏幕上选择。
这对于通常使用与默认键盘布局不同的用户来说很有帮助,这些用户希望在登录屏幕时能够提供这些键盘布局。然而,选择仅在使用登录屏幕时适用。登录后,您自己的用户设置会接管。

过程 10.8. 更改系统键盘布局设置

  1. /usr/share/X11/xkb/rules/base.lst 文件的名为 ! layout 部分找到所需语言布局的代码。
  2. 使用 localectl 工具更改系统键盘布局设置,如下所示:
    $ localectl set-x11-keymap layout
    您可以用逗号分开的列表指定多个布局。例如,要将 es 设为默认布局,并将 us 设置为次要布局,请运行以下命令:
    $ localectl set-x11-keymap es,us
  3. 退出登录,看看是否可在登录屏幕的顶栏中找到已定义的布局。
请注意,您还可以使用 localectl 工具指定机器范围内的默认键盘模型、变体和选项。详情请查看 localectl(1)手册页。

10.4.4. 禁用登录屏幕用户列表

您可以通过设置 org.gnome.login-screen.disable-user-list GSettings 键来禁用登录屏幕上显示的用户列表。
用户列表被禁用后,用户需要在提示下输入其用户名和密码才能登录。

过程 10.9. 设置 org.gnome.login-screen.disable-user-list 键

  1. 创建或编辑 /etc/dconf/profile/ gdm 中的 gdm 配置文件,其中包含以下行:
    user-db:user
    system-db:gdm
    file-db:/usr/share/gdm/greeter-dconf-defaults
    GDMdconf 数据库的名称。
  2. /etc/dconf/db/gdm.d/00-login-screen 中为机器范围的设置创建一个 gdm 数据库:
    [org/gnome/login-screen]
    # Do not show the user list
    disable-user-list=true
    
  3. 通过更新 dconf 工具更新系统数据库:
    # dconf update