X
窗口最先需要启动的就是
X server
啊,那
X server
启动的½本与参数是透过
/etc/X11/xinit/
里面
xserverrc
。不过我们的
CentOS 7.x
根本就没有
xserverrc
这个文件啊!
那用户家目录目前也没
~/.xserverrc
,这个时候系统会怎么做呢?其实就是执行
/usr/bin/X
这个指令啊!
这个指令也是
系统最原始的
X server
执行档啰。
在启动
X Server
时,
Xorg
会去读取
/etc/X11/xorg.conf
这个配置文件。针对这个配置文件的内容,
我们会在下个小½½绍。如果一切顺利,那么
X
就会顺利的在
tty2
以后终端环境中启动了
X
纯的
X
启动时,你只会看到画面一片漆黑,然后中心有个鼠标的光标而已~
由前一小½的说明中,你可以发现到其实
X
启动的时候还可以指定启动的½口喔!那就是
:0
这个
参数,这是啥?
事实上
我们的
Linux
可以『同时启动多个
X
』喔!第一个
X
的画面会在
:0
亦即
tty2
,第二个
X
则是
:1
亦即是
tty3
后续还可以有其他的
X
存在的。因此,上一小½我们
也有发现,
xterm
在加载时,也必须要使用
-display
来说明,
这个
X
应用程序是需要在哪个
X
载的才行呢!其中比½有趣的是,
X server
未注明加载的½口时,默认是使用
:0
但是
X client
注明时,则无法执行喔!
Tips
CentOS 7
tty
非常有趣!如果你在
分析
systemd
的章½中
有仔细看的话,
会发现
到其实
tty
是有用到才会启动的,这与之前
CentOS 6
以前的版本预设启用
6
tty
给你是不同的。因此,如果
你只有用到
tty1
的话,
那么启动
X
就会预设丢到
tty2
,而
X :1
就会丢到
tty3
这样~以此类推喔~
启动了
X server
后,½下来就是加载
X client
到这个
X server
上面啦!
.
启动
X Client
文件
xinitrc
假设你的家目录并没有
~/.xinitrc
,则此时
X Client
会以
/etc/X11/xinit/xinitrc
来作为启动
X Client
的预设½本。
xinitrc
这个文件会½很多其他的文件参数引½来,
包括
/etc/X11/xinit/xinitrc-common
/etc/X11/xinit/Xclients
还有
/etc/sysconfig/desktop
。你可以参考
xinitrc
后去搜寻各个文件来了½
彼此的关系。
不过分析到最后,其实最终就是载入
KDE
或者是
GNOME
而已。你也可以发现最终在
XClient
件当中会有两个指令的搜寻,
包括
startkde
gnome-session
这两个,这也是
CentOS
预设会提供
的两个主要的
Window Manager
啰。
而你也可以透过修改
/etc/sysconfig/desktop
内的
DESKTOP=GNOME
DESKTOP=KDE
来决定默认使用哪个窗口管理员的。
如果你并没有安装这
两个大家伙,那么
X
就会去使用阳春的
twm
这个窗口管理员来管理你的环境啰。
Tips
不论怎么说,鸟哥还是希望大家可以透过½析
startx
这个
script
的内容去找到每个文
件,
再根据分析每个文件来找到您
distributions
上面的
X
相关文件~
毕竟每个版本的
Linux
还是有所差异的~