GDM (简体中文)
来自 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).
Contents
安装
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获取并安装gdm3setupAUR从而配置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.
自动登录
想要以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,你只要简单地仅仅点击你的用户民就可以正确登录,密码完全被省略了!
修改默认 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
GDM在设置自动登录后无法启动
编辑 /etc/gdm/custom.conf
,注释掉"AutomaticLoginEnable" 和 "AutomaticLogin".
# GDM configuration storage [daemon] #AutomaticLoginEnable=True #AutomaticLogin=user ... EndSection