Linux 5 —— X Windows
三个基本元素
- X 服务端:
- 控制输入及输出设备并维护相关资源的程序。
- 接收输入设备的信息,并将其传给X Client。
- 将X Client传来的信息输出到屏幕上(在屏幕上构造方块(窗口),然后画出里面的元素)。
- X 客户端:
- 应用程序的核心部分,与硬件无关,每个应用程序就是一个X Client。
- 可以是终端仿真器(Xterm)或图形界面程序,它不直接对显示器绘制或者操作图形,而是与X Server通信,由X Server控制显示。
- 无法直接影响视窗行为或显示效果,它们只能发送一个请求给X Server,由X Server来完成这些的请求 。
- X Client程序向X Server发出请求,由X Server运算得出结果,再显示到指定的设备。
- X 通信通道:
- 主体是 xlib(X函数库)
- 调用 xlib,利用相应的通信功能向 X Server 发出请求
- X Server 完成任务之后,同样调用 xlib 把结果显示指点的设备上去
特点
良好的网络支持
X Window采用了C/S网络结构,X Client和X Server可以通过网络来通信,而且有良好的网络透明性
个性化的窗口界面
X Window并未对窗口界面作统一的规范,程序员可以根据需求自行设计,其中最有名的就是后面将要介绍的GNOME与KDE
不内嵌于操作系统
X Window只定义了一个标准,而不属于某个操作系统,因此可在不同的操作系统上运行相同的X Window软件
运行原理
C/S 模式应用程序 ,X Server 为 S,X Client 为 C
X Client 只是单纯地执行程序、计算,它只能使用 X Server 提供的服务进行输入输出
X Server是一个管理显示的进程,必须运行在一个有图形显示能力的主机上
X Protocol 是 X Client 和 X Server 进行通信的一套协议,支持的网络协议有TCP/IP、DECnet等。X Protocol 只是一种协议,并不是一个软件,该协议需要具体的软件来实现 。各种 X Server 软件,实质上就是实现了 X Protocol 的软件。
GNOME
GNOME 是 **GNU网络对象模型环境(GNU Network Object Model Environment)**的缩写,由 GNOME 面板(Panel)和桌面组成
KDE
KDE 是 K Desktop Environment 的缩写,基于 Qt
Unity
Unity 运行在 GNOME 桌面环境之上,使用了所有 GNOME 的核心应用程序。
更改系统运行级别
临时
1 | init n |
1 | # 启动图形化环境 |
永久
CentOS 6 及之前:修改配置文件 /etc/inittab
CentOS 6 之后:systemctl set-default *.target