Linux - 不同桌面环境介绍与常见设置
Linux - 不同桌面环境GNOMEGNOME桌面环境于1990s后期创建,非常流行。在CentOS和Ubuntu中默认使用。GNOME项目网站。2011年是至关重要的一年——GNOME 2是一个更传统的桌面用户界面,而2011年发布了带非传统的界面的GNOME 3 (官方名称为GNOME Shell),用户反应剧烈,因此也激发好几个GNOME项目的fork。然而随着时间的推移,GNOME Sh
章节一、Linux不同桌面环境
一、GNOME
GNOME桌面环境于1990s后期创建,非常流行。在CentOS和Ubuntu中默认使用。2011年是至关重要的一年——GNOME 2是一个更传统的桌面用户界面,而2011年发布了带非传统的界面的GNOME 3 (官方名称为GNOME Shell),用户反应剧烈,因此也激发好几个GNOME项目的fork。然而随着时间的推移,GNOME Shell重新获得欢迎。
GNOME Shell样例
GNOME Shell desktop默认组件
名称 | 程序名称或描述 |
---|---|
显示管理器 | GNOME Display Manager(GDM) |
文件管理器 | GNOME Files(常被简称为Files),正式名称为Nautilus |
喜欢栏 | GNOME Shell Dash(常被成为Dock)。 |
面板 | 位于GNOME Shell帧顶部的单个面板 |
系统托盘 | 位于单面板的右侧 |
窗口管理器 | Mutter |
二、KDE Plasma
KDE(The Kool Desktop Environment)始于1996,第一次发布于1998年。随着发展,KDE不仅仅代表桌面环境,它指代其项目组织和支持它的很强大的社区。2009年KDE重命令为KDE Plasma。
KDE样例
KDE Plasma默认组件
名称 | 程序名或描述 |
---|---|
显示管理器 | SDDM(是Simple Desktop Display Manager的简称) |
文件管理器 | Dolphin |
喜欢栏 | 在程序菜单栏内部显示。 |
面板 | 位于Plasma帧顶部的单个面板 |
系统托盘 | 位于单面板的右侧 |
窗口挂件 | 被称为Plasmoids |
窗口管理器 | Kwin |
三、Cinnamon
Cinnamon始于2011年,当时正值用户对GNOME 3(GNOME Shell)反响剧烈的时候。Mint发行版的开发者fork了GNOME 3,直到2013年它正式“无GNOME化”。
Cinnamon样例
Cinnamon默认组件
名称 | 程序名或描述 |
---|---|
显示管理器 | LightDM |
文件管理器 | Nemo(是Nautilus的一个fork分支) |
喜欢栏 | 在程序菜单栏内部显示 |
面板 | 位于Cinnamon帧底部的单个面板(被称为Cinnamon面板) |
系统托盘 | 位于单面板的右侧 |
窗口挂件 | 被称为Cinnamon Spices |
窗口管理器 | Muffin(是GNOME Shell Mutter的一个fork分支)。 |
四、MATE
同样的,MATE也在GNOME 3 (GNOME Shell)发布后启动。随后在2个月后首次发布,并声称是从GNOME 2衍生而来,与GNOME 2非常相似。
MATE样例
MATE默认组件
名称 | 程序名或描述 |
---|---|
显示管理器 | LightDM |
文件管理器 | Caja(是Nautilus的一个fork分支) |
喜欢栏 | 本桌面是喜欢菜单,通过应用菜单启动器访问 |
面板 | 位于MATE帧的一个面板,其它面板位于MATE UI上面 |
系统托盘 | 位于单面板的右侧 |
窗口管理器 | Marco(是Metacity的一个fork分支) |
五、Xfce
炫丽的 Linux 图形桌面的一个缺点——是它们需要大量的 CPU 和内存资源才能运行。在过去,Linux以给旧硬件带来重生而出名——它能够在旧硬件上运行,而Windows或MacOS系统却做不到。上述几个炫丽图形桌面,都与这一特点相反。
幸好Linux是可灵活定制的系统,有好几种低端的图形桌面,能够在消耗资源极少的情况下运行良好——其中最流行的就是Xfce图形桌面。
Xfce样例
Xfce默认组件
名称 | 程序名或描述 |
---|---|
显示管理器 | LightDM |
文件管理器 | Thunar |
喜欢栏 | 是面板左侧的一个单独图标,显示喜欢的、最近的应用以及应用菜单 |
面板 | 位于窗口顶部的一个单独面板 |
系统托盘 | 面板右侧的一组图标 |
窗口管理器 | Xfwm,能充分利用其自己的组合管理器 |
桌面小结
没有一种最优的方案能够适用于所有场景,因此企业在桌面选型时需按自身实际情况考虑,土豪配置可以选更酷炫的桌面,而初创企业(或者追求性价比更高的)则可以选更轻量化的桌面。各取所需!
章节二、X
- X可以被称为X,X11(1987年Version 11发布),X Window,它提供GUI
- X设计初始就是以网络为中心的“客户端-服务器”架构
X架构
X客户端
请求display服务- 应用使用了X库(如Xlib库)
- 请求服务(如创建窗口)
- 接收来自X服务器的事件(如鼠标输入)
X服务器
提供display服务- 跑在本地,接收多个X客户端的请求
- 管理输入输出设备,如键盘鼠标、显示器
- 在屏幕上创建、绘制或销毁图形对象
- X客户端与服务器通过
X协议
通信- 使得在本地与基于网络的图形操作,用起来一样,用户感受不到区别。
X11的实现(implementation)
- XFree86
- Xorg
窗口管理器(Window Manager)
- 一个特殊的X客户端
- 背景、桌面、主题
- 虚拟桌面
- 窗口大小与属性
- X客户端与X服务器的交互,会被重定向到一个窗口管理器,由窗口管理器处理。
- 实现
- GNOME
- KDE
- Xfce
- 等等
显示管理器(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来认证,https://tldp.org/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
卡住的情况。
图片来源
各图片来自互联网。
参考资料
https://spins.fedoraproject.org/en/cinnamon/
https://learning.oreilly.com/library/view/lpic-1-linux-professional/9781119582120/c06.xhtml
更多推荐
所有评论(0)