Xwindows 下的三个Display Manager 配置

Display Manager三兄弟

X-Window下的Display Manager,可以在系统启动时自动进入图形化登录管理 。现在算起来有三个,XDM、KDM和GDM 。我称它们为DM三兄弟,但事实上这三兄弟的长相可一点都不相像 。老大XDM虽然丑了一点,但比较随和,一叫它就来;老二KDM长得比较标准,脾气和老大差不多;老三GDM相貌出众,总是一付很Cool的样子,不爱搭理人,但遇到狠的,也就老实了 。让我们一同来认识一下FreeBSD 5.1家的这DM三兄弟吧 。

0. 前言
我拿到了FreeBSD 5.1后,就赶紧安装了起来 。5.1版本的兼容性和硬件支持确实不错,在我的计算机上很顺利地就安装好了 。
由于我是准备把FreeBSD用作开发工作站,图形化的界面自然会比较容易使用一些 。我安装X-Window底层支持,和KDE、GNOME这两大窗口管理器 。通过设置“.xinitrc”文件,也能够在KDE和GNOME之间换来换去 。但是总感觉不那么自然和彻底 。看过了Linux发行版的窗口界面,知道了Display Manager,这才开始认识了DM三兄弟 。如果你已经安装了X-Server、KDE和GNOME,它们就已经在你的系统里了 。没有的话,… 。

1. XDM
前面说了,老大XDM比较随和 。我们可以修改/etc/ttys文件,将下面的一行:
代码: ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure中的off改为on 。
代码: ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm on secure重新启动系统,就会自动进入XDM,输入账号和密码,就会进入你原来设置好的KDE或GNOME桌面了 。
XDM确实够丑的,相信没有人想多看两眼的 。裁判,换人!

2. KDM
为了老二KDM能够出场,我再次修改/etc/ttys文件 。还是那一行,这次改为:
代码: ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure要让KDM自动在KDE和GNOME中切换,还要修改文件“/usr/X11R6/lib/X11/xdm/Xsession” 。把中间的这段文字,
代码: case $# in
1)
case $1 in
failsafe)
exec xterm -geometry 80x24-0-0

esac
esac改成这样,
代码: case $# in
1)
case $1 in
kde)
exec startkde

gnome)
exec gnome-session

failsafe)
exec xterm -geometry 80x24-0-0

esac
esac如此目标识别已加载,让我们重新开始吧 。
慢点,还有一个地方需要修改一下 。用root进入KDE中,找到“Login Manager”,在“Sessions”页下的“New Type”中,“kde”项已经有了,只要增加“gnome”,顺便再调整一下顺序吧 。
好了,现在再次重起系统,感觉如何?KDM还是很能干的 。

3. GDM
老三GDM的大名,早有耳闻,在Linux家里也见到过,但把它请到咱FreeBSD家里来,我可是花了三个晚上,敲了无数次的门,才让它露出了真容 。下面就是它提出来的条件 。
第一点,GDM好钱,需要一个特别的系统的账户,据说是为了安全 。
代码: pw groupadd –g 42 –n gdm
pw useradd –c gdm –d /var/gdm –s /bin/sh –u 42 –n gdm如此,新建了一个gdm的Group,GID是42,一个gdm的User,UID是42 。GID和UID,必须是没有被系统中其它账号占用,如果已被占用,改用其它小于1000的 。
第二点,GDM需要一个有安全门的单间,还得过户到它的名下 。
代码: mkdir /var/gdm
chmod 0750 /var/gdm
chown gdm:gdm /var/gdm第三点,拉拉关系,搞好配置 。这得修改“/usr/X11R6/share/gnome/gdm/gdm.conf”才行,
代码: ServAuthDir=/usr/X11R6/share/gnome/gdm改为:
代码: ServAuthDir=/var/gdm再改
代码: Greeter=/usr/X11R6/bin/gdmlogin为:
代码: Greeter=/usr/X11R6/bin/gdmgreeter另外,下面的这三行,是true还是改成false,随便你了 。
代码: ShowGnomeChooserSession=true
ShowGnomeFailsafeSession=true
ShowXtermFailsafeSession=true“gdm.conf”中的其它部分,目前还不清楚是干啥的,那就放着吧 。
第四点,GNOME和KDE都要支持 。GDM是从GNOME那里来的,支持GNOME没什么问题 。要支持KDE的Session,就比较啰嗦一点了 。用ee编辑器写一段下面的命令,

推荐阅读