• 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编辑器写一段下面的命令,
    代码:
    #! /bin/sh
    exec /usr/X11R6/lib/X11/xdm/Xsession kde
    保存为文件“/usr/X11R6/share/gnome/gdm/Sessions/Kde”,然后修改属性,
    代码:
    chmod –w+x /usr/X11R6/share/gnome/gdm/Sessions/Kde
    “/usr/X11R6/share/gnome/gdm/Sessions”目录下的其它文件,除了Gnome和Xsession之外大可以去掉。
    第五点,现在该给老三让位了。用gdm替换kdm,这又要改“/etc/ttys”中的
    代码:
    ttyv8   "/usr/local/bin/kdm -nodaemon"  xterm   on  secure
    为:
    代码:
    ttyv8   "/usr/X11R6/bin/gdm -nodaemon"  xterm   on  secure

    做完上面的工作,重新启动系统。终于GDM总算给了面子,揭开了那美丽的面纱,原来这GDM是她不是他,难怪难怪。忍不住要多看上几眼。

    辛苦的工作,由漂亮的DM开始,心情真好!


    (我在写完上面这些之后,本不想现在就发到论坛上来的。因为在多次测试后发现,从GDM进KDE还有些小问题,GDM的脾气还是有点没摸透。不过,仔细想想,还是抛砖引玉地先发上来再说,恳企哪位高人指点一二。我自己也会再尝试解决,一旦有了结果之后,会补充上来。)
  • 相关阅读:
    java----使用socket模拟简单的http请求服务器,响应简单的文件请求操作
    Java实现的断点续传功能
    C 语言——分支和跳转
    C 语言——嵌套循环例子
    C 语言——循环
    C 语言——运算符、表达式和语句
    C 语言——字符串和格式化输入/输出
    C 语言——基础概论
    C 语言——开篇
    IDEA的安装教程
  • 原文地址:https://www.cnblogs.com/wenus/p/107519.html
Copyright © 2020-2023  润新知