章节一、Linux不同桌面环境
一、GNOME
GNOME桌面环境于1990s后期创建,非常流行。在CentOS和Ubuntu中默认使用。是至关重要的一年——GNOME 2是一个更传统的桌面用户界面,而发布了带非传统的界面的GNOME 3 (官方名称为GNOME Shell),用户反应剧烈,因此也激发好几个GNOME项目的fork。然而随着时间的推移,GNOME Shell重新获得欢迎。
GNOME Shell样例
GNOME Shell desktop默认组件
二、KDE Plasma
KDE(The Kool Desktop Environment)始于1996,第一次发布于1998年。随着发展,KDE不仅仅代表桌面环境,它指代其项目组织和支持它的很强大的社区。KDE重命令为KDE Plasma。
KDE样例
KDE Plasma默认组件
三、Cinnamon
Cinnamon始于,当时正值用户对GNOME 3(GNOME Shell)反响剧烈的时候。Mint发行版的开发者fork了GNOME 3,直到它正式“无GNOME化”。
Cinnamon样例
Cinnamon默认组件
四、MATE
同样的,MATE也在GNOME 3 (GNOME Shell)发布后启动。随后在2个月后首次发布,并声称是从GNOME 2衍生而来,与GNOME 2非常相似。
MATE样例
MATE默认组件
五、Xfce
炫丽的 Linux 图形桌面的一个缺点——是它们需要大量的 CPU 和内存资源才能运行。在过去,Linux以给旧硬件带来重生而出名——它能够在旧硬件上运行,而Windows或MacOS系统却做不到。上述几个炫丽图形桌面,都与这一特点相反。
幸好Linux是可灵活定制的系统,有好几种低端的图形桌面,能够在消耗资源极少的情况下运行良好——其中最流行的就是Xfce图形桌面。
Xfce样例
Xfce默认组件
桌面小结
没有一种最优的方案能够适用于所有场景,因此企业在桌面选型时需按自身实际情况考虑,土豪配置可以选更酷炫的桌面,而初创企业(或者追求性价比更高的)则可以选更轻量化的桌面。各取所需!
章节二、X
X可以被称为X,X11(1987年Version 11发布),X Window,它提供GUIX设计初始就是以网络为中心的“客户端-服务器”架构X架构
X客户端
请求display服务 应用使用了X库(如Xlib库)请求服务(如创建窗口)接收来自X服务器的事件(如鼠标输入)X服务器
提供display服务 跑在本地,接收多个X客户端的请求管理输入输出设备,如键盘鼠标、显示器在屏幕上创建、绘制或销毁图形对象 X客户端与服务器通过X协议
通信 使得在本地与基于网络的图形操作,用起来一样,用户感受不到区别。X11的实现(implementation)
XFree86Xorg
窗口管理器(Window Manager)
一个特殊的X客户端 背景、桌面、主题虚拟桌面窗口大小与属性 X客户端与X服务器的交互,会被重定向到一个窗口管理器,由窗口管理器处理。实现 GNOMEKDEXfce等等
显示管理器(Display Manager)
在Window Manager之前的登陆界面,就是属于Display Manager。该界面供用户输入账号密码,并选择一个桌面环境(如果有多个桌面环境的话,如Xfce, Gnome Shell等等)。
display与Display Manager通过XDMCP协议通信,在display发往Display Manager的request消息中包含display number信息。随后若成功建立连接,DISPLAY变量被自动设置好,随后所有的X客户端,除启动时手动传入display值外,都使用父进程的DISPLAY变量值。这也是为何在桌面右击新建terminal,能够正确弹到当前桌面的原因。
常用设置1
如果想让其他同学的X客户端,弹到自己的桌面,有两种方式xhost
或Xauth
,
xhost +
#关闭访问控制,xhost -
为相反操作xhost +hostname
#关闭对这台名为hostname的机器的访问控制,xhost -hostname
为相反操作使用Xauth来认证,/HOWTO/Remote-X-Apps-6.html 6.2节,步骤 生成Cookie传输Cookie共享家目录;或非共享家目录,则将认证文件传到目标机器的对应位置启动X客户端,它自动会到对应位置找认证文件(~/.Xauthority
)
常用设置2
如果因防火墙原因,或因需要使用ssh安全隧道保护X流量的原因,又或者偷懒不想手动设置DISPLAY(通常是跨数据中心),不想走普通的X11端口协议,则可以配置ssh隧道转发X11
ssh_config
文件增加ForwardX11 true
ssh登陆服务器时加上-X,对X11进行ssh隧道转发。
常用设置3
数据中心多环境复杂,用户不想手动设置DISPLAY,site管理员也可以配置ssh时将DISPLAY传送过去
在源服务器的ssh_config
文件增加SendEnv DISPLAY
在目的服务器的sshd_config
文件增加AcceptEnv DISPLAY
这样用户无论ssh到哪里,正确的DISPLAY都随他走到哪里。
常用设置4
C Shell中手动设置DISPLAY
setenv DISPLAY display_hostname:display_number.screen_number
其中
.screen_number
一般不写,或写.0
。这个设置是在多屏的环境下,将X客户端显示在什么屏幕上。现在很多X Server都将物理多屏逻辑化为单屏,因此默认情况下可以不设置。如X客户端所在的服务器就是X Server,则可以省略display_hostname
常用快捷键1
Ctrl+Alt+Backspace
重启X Server
,用于X Server
卡住的情况。
图片来源
各图片来自互联网。
参考资料
/en/cinnamon/
/library/view/lpic-1-linux-professional/9781119582120/c06.xhtml