启动到X桌面,有两种方式: 1,通过终端登录后,用startx 来启动。 通过这种方式启动到X桌面比较简单,主要通过设置 ~/.xinitrc 来设置自己需要的变量和启动的相关程序。 2,通过X Display Manager来启动, 这是本文分析的重点,以GDM为例来说明如何设置相关信息。 gdm:在选择语言(Language)和会话(Session)之后,输入用户名和密码,X进行一些初始化的工作,然后跳到调用 Xsession,调用的参数是你所选择的Session[default, custom, failsafe, gnome-session...] 重点在Xsession文件。 FreeBSD(/usr/local/etc/gdm/Xsession)文件分析: 1, 尝试检测 command 参数 ,即gdm传递给 Xsession 的参数,指定用何种桌面,如果没有指定,则默认设置为failsafe(此种情况下,将出现一个提示框,然后系统给一个X终端) 2, 系统变量设置, 尝试读取的文件有: /etc/profile, ~/.profile, /etc/xprofile, ~/.xprofile 3, X资源文件的设置, 尝试读取的文件有: /etc/X11/xinit/Xresources, /etc/X11/Xresources, ~/.Xresources 4, 设置键映射, 两种方式,优先使用XKB,尝试读取的文件有: /etc/X11/Xkbmap, ~/.Xkbmap, 当这两个文件都不存在的时候,使用xmodmap, 尝试读取的文件有: /etc/X11/xinit/Xmodmap, /etc/X11/Xmodmap, ~/.Xmodmap 5, 设置语言 6, 开始根据GDM的选择执行command: 如果session选择的是custom,那么尝试~/.xsession 文件,如果存在,则根据此文件启动桌面,如果不存在,则将session设置为default. 如果session是default, 那么尝试的文件依次为: ~/.Xclients, /etc/X11/xinit/Xclients, /etc/X11/Xclients, 找到哪个就从哪个启动了,否则设置session为 xsm 最后,如果两者都不是,或者default没有...