# GDM (简体中文)

摘要 help replacing me
GDM是GNOME显示管理器，一个图形化登录程序。本文介绍了它的安装和配置
相关文章
Display Manager (简体中文)
GNOME (简体中文)

翻译状态： 本文是英文页面 GDM 的翻译，最后翻译时间：2012-11-04，点击这里可以查看翻译后英文页面的改动。

来自 GDM - GNOME显示管理器:

  GDM是一种GNOME显示环境的管理器, 它是一个运行在后台的小程序（脚本）, runs your X sessions,显示一个登录界面并在你忘记密码的时候告诉你无法登录.GDM比xdm在任何方面都做的更好,也没有xdm那么多的漏洞. 它没有使用任何来自xdm的代码. 它支持 XDMCP, and in fact extends XDMCP a little bit in places where I thought xdm was lacking (but is still compatible with xdm's XDMCP).

显示管理器为Xorg用户们提供了图形化登录提示。

## 安装

GDM (是gnome-extra的一部分)，可以通过官方软件仓库中的gdm软件包进行单独安装.

### GDM as the default greeter

GDM 软件包提供了`gdm.service`。开机自动启动：

    # systemctl enable gdm

纯systemd启动的话，无法进入图形界面时，可以开启graphical.target来实现。

    # systemctl -f enable graphical.target

同时一般还需要启动`NetworkManager.service`：

    # systemctl enable NetworkManager.service

要使用`~/.xinitrc`文件将参数传递给 X 服务（当它启动时），例如 xmodmap 或 xsetroot，可以向xprofile添加同样命令，例如：

    ~/.xprofile

    #!/bin/sh

    #
    # ~/.xprofile
    #
    # Executed by gdm at login
    #

    xmodmap -e "pointer=1 2 3 6 7 4 5" # set mouse buttons up correctly
    xsetroot -solid black              # sets the background to black

## 配置

你再也不能使用gdmsetup命令来配置2.28版本以上的GDM。这个命令已经被移除，而且GDM已经被标准化，成为GNOME的一部分。

你可以从AUR获取并安装gdm3setup从而配置GDM，也可以使用以下介绍的方法。

配置X服务访问权限

    # xhost +SI:localuser:gdm

要配置GDM主题，使用以下命令：

    $ sudo -u gdm dbus-launch gnome-appearance-properties

实用此命令查看更多配置选项

    $ sudo -u gdm dbus-launch gconf-editor

并修改以下层次（hierarchies）：

    /apps/gdm/simple-greeter
    /desktop/gnome/interface
    /desktop/gnome/background

如果这些命令失败，并返回诸如 ”cannot open display"之类的错误，你可以通过将它们添加到GDM的自动启动从而在GDM启动时带起这两个窗口。要做到这一点需先创建这些项目（entry）(以 root 身份运行）

    # cp -t /usr/share/gdm/autostart/LoginWindow/ /usr/share/applications/gnome-appearance-properties.desktop /usr/share/applications/gconf-editor.desktop

然后注销你的用户回到GDM。在登录窗口出现后这两个窗口也应该出现。将GDM配置成你想要的样子，然后关闭窗口并重新登录。当你做完了，并想停止这个窗口随着GDM打开，运行这个（以 root 身份）：

    # rm /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop /usr/share/gdm/autostart/LoginWindow/gconf-editor.desktop

注意: 通过注销/配置的方式，你可以在你配置的时候看到变化。

对于更多信息和高级设置，请阅读这个.

请注意，在xorg-server的1.6.1版本中，`Ctrl`+`Alt`+`Backspace`将再也不会重启GDM。对于重新启用这种行为的介绍，参见Ctrl-Alt-Backspace无法退出X.

### 自动登录

To enable automatic login with GDM, add the following to /etc/gdm/custom.conf (replace user with the username that you want auto-logged in): 想要以GDM自动登录，将以下添加到`/etc/gdm/custom.conf`（用用户名将username替换成你想要自动登录的用户。

    /etc/gdm/custom.conf

    # Enable automatic login for user
    [daemon]
    AutomaticLogin=username
    AutomaticLoginEnable=True

或以delay自动登录：

    /etc/gdm/custom.conf

    [daemon]
    # for login with delay
    TimedLoginEnable=true
    TimedLogin=username
    TimedLoginDelay=1

### 无密码登录

如果你想省略GDM的密码提示，只要简单地将以下行添加到`/etc/pam.d/gdm`:

    auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

确保此行正确地在包含"pam_unix.so"的第一行前。

然后，添加用户组nopasswdlogin到你的系统中。你可以通过 系统>管理>用户和用户组（System > Administration > Users and Groups） 进行图形化操作。参见Groups中关于用户组的描述和管理命令。

现在，当你使用 系统>管理>用户和用户组（命令：users-admin）并将你的用户设成”密码：不在登陆时询问“（检查”在登陆时不询问密码“选项），你的用户将会被自动添加到”nopasswdlogin“用户组 and viola，你只要简单地仅仅点击你的用户民就可以正确登录，密码完全被省略了！

注意: 在GNOME 3中，users-admin和系统菜单似乎已被移除
警告: 不要对ROOT账户这样做!

### 修改默认 GDM 会话

要修改默认 GDM 会话，创建/编辑文件`~/.dmrc` [1].

注意: 配置只对当前用户有用。

将默认会话设置成Cinnamon的示例:

    ~/.dmrc

    [Desktop]
    Session=cinnamon

## 疑难解答

### GDM注销失败

如果GDM在引导时正确启动，但在重复尝试注销后失败，尝试将此行添加到`/etc/gdm/custom.conf`的daemon区段:

    GdmXserverTimeout=60

### gconf-sanity-check-2 exited with status 256

如果GDM弹出一个关于gconf-sanity-check-2的错误，你可能需要检查在/home 和 /etc/gconf/gconf.xml.system (the latter should be 755)中的权限。 如果GDM依然显示这个错误信息，尝试清空GDM的目录（GDM home）。以 Root 身份运行：

    rm -rf /var/lib/gdm/.*

如果还是不行，尝试将/tmp的所有者和权限设为：

    # chown -R root:root /tmp
    # chmod 777 /tmp

### GDM root 登录

不建议以root登录，但如果需要，你可以编辑`/etc/pam.d/gdm-password`并添加以下一行在 `auth required pam_deny.so`之前:

    auth            sufficient      pam_succeed_if.so uid eq 0 quiet

这时文件应该看起来像这样:

    ...
    auth            sufficient      pam_succeed_if.so uid eq 0 quiet
    auth            sufficient      pam_succeed_if.so uid >= 1000 quiet
    auth            required        pam_deny.so
    ...

你应该就能在重启GDM后以 root 登录了。

### GDM总是使用默认US-键盘布局

问题：键盘布局总被切换成us；键盘布局总是在一个信键盘插上后被重置。解决方法：

#### GDM 2.x

编辑 ~/.dmrc

    [Desktop]
    Language=de_DE.UTF-8   # change to your default lang
    Layout=de   nodeadkeys # change to your keyboard layout

#### GDM 3.x

将下面内容加入`/etc/X11/xorg.conf.d/10-evdev.conf`,将 fr 替换为您要使用的键盘

    /etc/X11/xorg.conf.d/10-evdev.conf

    Section "InputClass"
            Identifier "evdev keyboard catchall"
            MatchIsKeyboard "on"
            MatchDevicePath "/dev/input/event*"
            Driver "evdev"
            Option "XkbLayout" "fr"
    EndSection

警告: 加入`keyboard InputClass` 段，而不是 pointer 段。

#### GDM在设置自动登录后无法启动

编辑 `/etc/gdm/custom.conf`，注释掉"AutomaticLoginEnable" 和 "AutomaticLogin".

    # GDM configuration storage

    [daemon]

    #AutomaticLoginEnable=True
    #AutomaticLogin=user
    ...
    EndSection

Categories:

- Boot process (简体中文)
- Display managers (简体中文)