2.1 >关于桌面环境
概览
在 上一节 中介绍了关于开源界的许可证方面的一些知识,那么本节进入 Linux 的世界,首先介绍主流的桌面环境,简单了解一下关于虚拟终端(TTY)和远程图形终端(VNC)的基本使用方法,在这之前你需要有一台 Linux 操作系统的电脑,无论是虚拟机还是物理机。
目录
- 概览
- 本地GUI终端
- TTY终端
- 远程图形终端
本地GUI终端
GUI是“Graphical User Interface”的缩写,中文意思是图形用户界面。它是一种通过图形方式来与计算机进行交互的人机交互方式,与早期计算机使用的命令行界面相比,GUI更加直观易用,降低了用户的学习成本,也让计算机的大众化得以实现。
- KDE:
KDE 是一个国际性的自由软件社区,开发运行在 Linux、BSD、Solaris、Windows、Mac 等平台上的一系列跨平台应用程序。它最著名的产品是 Plasma 桌面,这也是许多 Linux 发行版的默认桌面环境,例如 openSUSE、Kubuntu等。
- Plasma桌面:KDE Plasma 是一个用于 Linux、macOS 和 Windows 的免费开源桌面环境。它以其高度可定制性、功能丰富性和稳定可靠而闻名。
- KDE Plasma 最初作为 KDE 4 的一部分于 2008 年发布。它是 KDE 4 的默认桌面环境,并一直受到用户的欢迎。
- 2014 年,KDE Plasma 5 发布。它是 KDE Plasma 的一次重大升级,引入了许多新功能和改进,例如默认使用Wayland,但依然保留了X11;默认情况下采用浮动面板等重大更新。
- 2023年,KDE Plasma 6发布,这次重大更新包括 将支持更多的显示器、改进的通知系统、新的设置UI等,到文章截稿止,Plasma 6.2.x是其最新的稳定版本。
- KDE Plasma 包含许多功能,例如:
- 虚拟桌面: 虚拟桌面允许您在多个桌面之间切换,这可以帮助您整理您的工作和娱乐空间。
- 系统监视器: 系统监视器可让您监控系统的性能和资源使用情况。
- 文件管理器: 文件管理器可让您浏览和管理文件和文件夹。
- KDE 商店: KDE 商店可让您下载和安装 KDE Plasma 的应用程序和主题。
- KDE Plasma 的优点:
- 高度可定制: KDE Plasma 非常可定制,用户可以根据自己的喜好调整外观和功能。
- 功能丰富: KDE Plasma 包含许多功能,例如虚拟桌面、任务栏、系统监视器、文件管理器等。
- 稳定可靠: KDE Plasma 桌面环境是一个稳定可靠的桌面环境,适合日常使用。
- 跨平台: KDE Plasma 桌面环境支持多种 Linux 发行版以及 macOS 和 Windows。
- KDE Plasma 的缺点:
- 资源占用较多: KDE Plasma 桌面环境比一些其他桌面环境占用更多的系统资源。
- 学习曲线较陡: KDE Plasma 桌面环境的功能丰富,因此学习曲线可能比较陡。
- KDE Plasma 桌面环境适用于各种应用场景,包括:
- 日常使用: KDE Plasma 桌面环境是一个功能丰富且易于使用的桌面环境,适合日常使用。
- 办公: KDE Plasma 桌面环境包含许多办公应用程序,例如 LibreOffice(类似于MS Office) 和 Calligra(类似于MS Office)。
- 开发: KDE Plasma 桌面环境包含许多开发工具,例如 KDevelop(轻量级IDE)或 IntelliJ 系列软件。
- 游戏: KDE Plasma 桌面环境支持 Steam 等游戏平台。
- 娱乐: KDE Plasma 桌面环境包含许多娱乐应用程序。
- GNOME:
GNOME是一个完全由自由软件组成的桌面环境。它的目标操作系统是Linux,但是大部分的BSD系统也支持GNOME。(请不要使用 “GNU Network Object Model Environment” 这个没有意义的名称,这一名称早在2014年就已被废弃,GNOME官方鼓励用户直接使用 ‘GNOME’ 这个名称,而不是缩写)
值得注意的是,GNOME曾经是GNU计划的一部分。但在2021年时,GNOME基金会在推文中澄清GNOME不是GNU项目的一部分,就此脱离了GNU计划。
- GNOME 桌面环境的优点:
- 简洁的界面设计: GNOME 的界面设计简洁明瞭,易于使用。它使用了大量空白空间,并采用清晰简洁的图标和文字,使界面更加清爽舒适。
- 易用性: GNOME 非常易于使用,即使是初学者也可以轻松上手。它提供了直观的界面和清晰的导航,并包含许多易于使用的应用程序和工具。
- 功能丰富: GNOME 包含了许多功能,例如活动概览、任务栏、文件管理器、设置应用程序和应用商店。这些功能可以满足用户的各种需求,例如工作、娱乐、学习等。
- 稳定可靠: GNOME 桌面环境是一个稳定可靠的桌面环境,适合日常使用。它经过了严格的测试和开发,能够提供良好的用户体验。
- 支持多平台: GNOME 桌面环境支持多種 Linux 發行版以及 macOS 和 Windows。这使得用户可以选择自己喜欢的操作系统来运行 GNOME。
- GNOME 桌面环境的缺点:
- 资源占用较多: GNOME 桌面环境比一些其他桌面环境占用更多的系统资源。这可能会对低配置的计算机造成一定的性能影响。
- 默认主题不适合所有用户: GNOME 的默认主题 “Adwaita” 可能会不适合所有用户。一些用户可能觉得这个主题过于简单或单调。
- Xfce:
Xfce 是一个轻量级的自由及开源桌面环境。它以其快速、高效和可定制性而闻名。它也是许多轻量级 Linux 发行版的默认桌面环境,如 Xubuntu、Linux Mint 和 Lubuntu等。
Xfce原创者Olivier Fourdan的设计目的就是“设计为可作为实际应用,快速加载及执行程序,并减少耗用系统资源”。
- Xfce的优点:
- 轻量级:Xfce桌面环境的资源占用非常少,即使在低配置的计算机上也能流畅运行。
- 可定制:Xfce桌面环境高度可定制,用户可以根据自己的喜好调整界面。您可以更改主题、图标、字体、窗口管理器和其他许多设置。
- 易于使用:Xfce桌面环境非常易于使用,即使是初学者也可以轻松上手。它提供了直观的界面和清晰的导航,并包含许多易于使用的应用程序和工具。
- 稳定: Xfce桌面环境是一个非常稳定的桌面环境,适合日常使用。
- 支持多平台: Xfce桌面环境支持多种Linux发行版以及macOS和Windows。
- Xfce的缺点:
- 功能性有限: 与其他一些桌面环境(GNOME、KDE Plasma)相比,Xfce桌面环境的功能性略显有限。它缺少一些高级功能,例如虚拟桌面和多显示器支持。
- 默认应用程序较少: Xfce桌面环境的默认应用程序较少,您可能需要安装一些额外的应用程序才能满足您的需求。
- 社区规模较小: 与其他一些桌面环境相比,Xfce桌面环境的社区规模较小。这意味着如果您遇到问题,可能更难找到帮助。
- 更新速度较慢: Xfce桌面环境的更新速度通常较慢于其他一些桌面环境。
- Xfce的主要应用场景:低配计算机、嵌入式设备、追求极致可定制化的用户等。
- Cinnamon:
Cinnamon 是一个基于 GNOME 的桌面环境,最初是GNOME Shell的一个派生版本,由Linux Mint开发,提供了相似于GNOME 2,易于使用的传统用户界面,但从Cinnamon 2.0开始,Cinnamon成为独立的桌面环境。它以其类似于 Windows 的界面和易用性而闻名。
- Cinnamon 的优点:
- 易于使用: Cinnamon 提供了一个直观且易于使用的桌面环境,包括易于访问的设置和应用程序菜单。
- 高度可定制: Cinnamon 允许用户自定义桌面布局、主题、图标等,以满足不同用户的需求和喜好。
- 稳定: Cinnamon 是一个基于成熟的 GNOME 技术构建的稳定桌面环境。
- 功能丰富: Cinnamon 提供了丰富的功能,包括任务栏、启动器菜单、窗口管理器、文件管理器、设置应用程序等。
- 支持多语言: Cinnamon 支持多种语言,包括中文。
- Cinnamon 的缺点:
- 资源占用: 与其他一些轻量级桌面环境(Xfce等)相比,Cinnamon 的资源占用略多。
- 社区规模: 与 GNOME 和 KDE Plasma 等桌面环境相比,Cinnamon 的社区规模略小。
- Cinnamon 的使用场景:喜欢易于使用且直观桌面环境的用户、喜欢高度可定制性桌面的用户、需要丰富功能的桌面环境的用户、想要使用中文桌面的用户等。
- MATE:
MATE 是另一个基于 GNOME 的桌面环境,由已经停止维护的 GNOME 2 源代码派生而来。由于 GNOME 3 在界面上的激进变动,导致诸多批评,许多用户拒绝使用GNOME 3的接口,因而许多人决定创建一个 GNOME 的派生桌面环境,维持 GNOME 2 的传统风格。为了避免与 GNOME 3 的组成组件产生冲突,于是更名为MATE。MATE 是 Linux Mint 和 Ubuntu MATE 的默认桌面环境。
- MATE桌面环境的优点:
- 轻量级: MATE桌面环境的资源占用非常少,即使在低配置的计算机上也能流畅运行。这使得它成为旧计算机、上网本和嵌入式设备的理想选择。
- 稳定: MATE桌面环境是一个基于成熟的GNOME 2技术构建的稳定桌面环境。它经过了严格的测试和开发,能够提供良好的用户体验。
- 易于使用: MATE桌面环境提供了一个熟悉且易于使用的桌面环境,类似于Windows XP。这使得它非常适合初学者。
- MATE桌面环境的缺点:
- 功能性有限: 与其他一些桌面环境相比,MATE桌面环境的功能性略显有限。
- 更新速度较慢: MATE桌面环境的更新速度慢。
- 使用场景:使用旧计算机的用户、需要稳定桌面的用户等。
TTY终端
在Linux系统中,TTY(Teletypewriter的缩写)代表终端,也称为控制台。它是一种用于与计算机进行文本交互的输入/输出设备。TTY可以是物理设备,例如键盘和显示器,也可以是虚拟设备,例如伪终端。
- TTY 两种主要类型:
- 物理 TTY:指连接到计算机的物理设备,例如键盘和显示器。
- 虚拟 TTY:指通过软件模拟的 TTY。虚拟 TTY 通常用于在多用户系统中为每个用户提供单独的终端。
在Linux系统中,存在目录 /dev/pts ,它的作用就是集中管理和访问虚拟终端设备,每个虚拟终端设备对应一个文件,如 /dev/pts/0 代表第一个虚拟终端设备,依次类推。
- 虚拟终端的创建:
- 虚拟终端设备由系统根据需要动态创建。当用户登录系统时,系统会为他们创建一个新的虚拟终端设备。可以创建的虚拟终端设备数量有限,通常为 256 个。
- 可以使用 tty 命令查看当前终端:
[root@test ~]# tty /dev/pts/1
- 虚拟终端的切换:
- 用户可以使用 Ctrl+Alt+F 键组合,然后按所需的终端编号来访问虚拟终端设备。例如,要访问第一个虚拟终端,请按 Ctrl+Alt+F1。要访问第二个虚拟终端,请按Ctrl+Alt+F2,依此类推。
- 通常情况下,F1 对应的是锁屏;若存在GUI桌面,则 F2 对应的是GUI桌面;其他则对应的是命令行终端。但通常情况下你最多能访问 6 个终端,即 F1-F6。
- 虚拟终端的设置:
stty(Set Terminal for Teletype)命令用于配置和修改终端设备设置的工具。它允许用户自定义终端环境的各个方面,包括输入和输出行为、字符转换和流控参数。#直接使用stty命令,简略输出当前终端的设置[root@test ~]# sttyspeed 38400 baud; line = 0;-brkint -imaxbel iutf8#详细输出当前终端的设置[root@test ~]# stty -aspeed 38400 baud; rows 44; columns 211; line = 0;intr = ^C; quit = ^\; ....# 输出当前终端的行数和列数[root@test test]# stty size26 143#修改当前终端的快捷键#例如,锁定当前终端的快捷键为ctrl + s,通过如下命令将快捷键修改为 ctrl + o#语法规则:stty SETTING CHAR[root@test test]# stty stop ^O#再次按下ctrl + s将不会重现任何情况,而按下 ctrl + o 将锁定终端#解锁当前终端:按下 ctrl + q 即可#禁用 / 启用大写,禁用大写将影响其他包含大写输入的快捷键,如键盘方向键#语法规则:stty [-][options][root@test test]# stty iuclc #禁用[root@test test]# stty -iuclc #启用#禁止终端 1 输入大写字母#语法规则:stty -F <dev_name> [options][root@test test]# stty -F /dev/pts/1 iuclc
远程图形终端
VNC(Virtual Network Computing)是一种远程桌面协议,用于在本地计算机上控制远程计算机的图形桌面。VNC 客户端可以模拟 X11 客户端,并接收来自 X11 服务器的图形数据进行显示。因此,VNC 需要 X11 服务器才能正常工作。
#安装vnc服务端
[root@test ~]# dnf install -y tigervnc#配置当前用户的连接密码
[root@test .vnc]# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? y #是否设置只读密码
Password:
Verify:#配置此文件,为每个用户分配端口号,默认从 5901 开始
#注意:其中的用户需要切换到相应用户,并执行vncpasswd命令创建连接密码,否则无法启动对应的服务
[root@test .vnc]# cat /etc/tigervnc/vncserver.users
# TigerVNC User assignment
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
# :2=andrew
# :3=lisa
:1=root
:2=tom#配置vnc服务器运行参数,此文件夹中的每个配置文件为每个需要连接的用户单独配置和拥有
[root@test .vnc]# pwd
/root/.vnc
[root@test .vnc]# cat config
#启用安全连接
securitytypes=vncauth,tlsvnc
#启用沙盒环境
desktop=sandbox
#设置桌面尺寸
geometry=2000x1200
#设置只允许本地连接
# localhost
#始终开启桌面共享
# alwaysshared
#指定默认桌面会话
session=gnome#启动会话
[root@test .vnc]# systemctl start vncserver@:1 vncserver@:2#查看端口
[root@test .vnc]# ss -anltp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 5 0.0.0.0:5901 0.0.0.0:* users:(("Xvnc",pid=7828,fd=6))
LISTEN 0 5 0.0.0.0:5902 0.0.0.0:* users:(("Xvnc",pid=7840,fd=6))
注意:
#此中方式管理vnc已经不推荐使用,请使用上面最新的systemd管理vnc服务
[root@test .vnc]# vncserver :1
[root@test .vnc]# vncserver -kill :1 #关闭对应端口的服务
远程连接vnc服务器,客户端下载支持vnc桌面的软件,通过IP + 端口连接服务器即可。
vnc远程桌面具有以下优点:
- 易于使用: VNC 客户端和服务器软件都很容易安装和使用。
- 跨平台: VNC 客户端和服务器可用于各种操作系统,包括 Windows、Linux 和 macOS。
- 功能丰富: VNC 支持多种功能,例如文件传输、音频和视频共享以及远程打印。
但是,VNC 也有一些缺点:
- 安全性: VNC 的基本身份验证机制相对较弱,采用的是明文传输,容易受到攻击。但是可以使用 TLS/SSL 加密来保护vnc的安全,如TLSVNC。
- 性能: VNC 的性能可能不如其他远程桌面协议,例如在数据传输量上 RDP 约为只有 VNC 的一半左右,因为 RDP 拥有更有效的压缩算法和传输机制。
- 可扩展性: VNC 对于大型或复杂的部署可能不太适合。