启动流程
我们知道 init 是 linux 的根进程,是所有进程的父进程。同样, xinit 是所有 Xwindow 进程的根进程
Startx
startx
可以在命令行下启动图形界面。执行startx 命令时,实际执行这一命令:
xinit /etc/X11/xinit/xinitrc -- /etc/X11/xinit/xserverrc
根据脚本 /etc/X11/xinit/xserverrc
启动 Xserver,同时根据脚本 /etc/X11/xinit/xinitrc
启动指定 Xclient 进程,例如窗口管理器
/etc/X11/xinit/xserverrc
以预设的参数运行程序 /usr/bin/X11/X
/etc/X11/xinit/xinitrc
脚本则指向 /etc/X11/Xsession
,依次启动 /etc/X11/Xsession.d
目录中的脚本
- 您可以在用户配置文件
~/.Xsession
中定义使用的 WM,它的优先级高于全局配置文件(对于 GDM会话 不起作用) - startx 启动时,并不会再进行身份认证。因为它启动的是 /etc/X11/Xsession.d/gnome-session ,而不是 GDM会话
GDM会话
许多 Linux 系统启动时自动进入图形界面,不需要运行 startx 命令
在某些启动级别中,包含了 gdm 的启动脚本,例如 : /etc/rc2.d/S13gdm
- 指向
/etc/gdm/gdm-cdd.conf
文件,加载预设视觉主题,启动/usr/lib/gdm/gdmgreeter
(登录屏幕) - 用户身份认证完成后,启动
/etc/X11/default-display-manager
这个文件中设定的默认窗口管理器 /usr/sbin/gdm
gdm 在启动时,会要求用户名和密码,也就是我们看到的登录屏幕(gdmgreeter)
/usr/share/xsessions
目录下为所有可用登录会话的脚本