当前位置: 首页 > news >正文

2.1 >关于桌面环境

概览

在 上一节 中介绍了关于开源界的许可证方面的一些知识,那么本节进入 Linux 的世界,首先介绍主流的桌面环境,简单了解一下关于虚拟终端(TTY)和远程图形终端(VNC)的基本使用方法,在这之前你需要有一台 Linux 操作系统的电脑,无论是虚拟机还是物理机。

目录

      • 概览
        • 本地GUI终端
        • TTY终端
        • 远程图形终端

本地GUI终端

GUI是“Graphical User Interface”的缩写,中文意思是图形用户界面。它是一种通过图形方式来与计算机进行交互的人机交互方式,与早期计算机使用的命令行界面相比,GUI更加直观易用,降低了用户的学习成本,也让计算机的大众化得以实现。

  1. 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 桌面环境包含许多娱乐应用程序。
      KDE Plasma 5 桌面环境
  1. 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” 可能会不适合所有用户。一些用户可能觉得这个主题过于简单或单调。
      GNOME 45
  1. 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的主要应用场景:低配计算机、嵌入式设备、追求极致可定制化的用户等。
    Xfce 4桌面环境
  1. 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 的使用场景:喜欢易于使用且直观桌面环境的用户、喜欢高度可定制性桌面的用户、需要丰富功能的桌面环境的用户、想要使用中文桌面的用户等。
    在Linux Mint 20 上的Cinnamon 5.0桌面环境
  1. 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桌面环境的更新速度慢。
  • 使用场景:使用旧计算机的用户、需要稳定桌面的用户等。
    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 对于大型或复杂的部署可能不太适合。

http://www.mrgr.cn/news/68615.html

相关文章:

  • Unity SRP学习笔记(二)
  • Java中的I/O模型——BIO、NIO、AIO
  • 深入理解 Git 及其工具的用途、使用方法与区别
  • 程序员的生活周刊 #7:耐克总裁被裁记
  • Mac解决 zsh: command not found: ll
  • 基于Python的旅游景点推荐系统
  • Java 上机实践1(入门)
  • CAN和CANFD的不同点
  • 【前端知识】JS模块规范
  • 【野生动物识别系统】Python+深度学习+人工智能+卷积神经网络算法+TensorFlow+ResNet+图像识别
  • go格式化时间
  • Leetcode:26. 删除有序数组中的重复项——Java快慢指针暴力解法
  • 考研人数减少,为什么考同等学力申硕的却更多?
  • Adaptive AUTOSAR ——Cryptography (在自适应AUTOSAR中的应用:概念、功能与实现)
  • java中图片加载
  • mybatis+postgresql,无感读写json字段
  • Dinky控制台:利用SSE技术实现实时日志监控与操作
  • ONLYOFFICE ——让团队合作更高效
  • Java 上机实践2(基础数据类型与数组)
  • SD-定价关于Condition is Inactive
  • 【AtCoder】Beginner Contest 377-C.Avoid Knight Attack
  • C#基础-区分数组与集合
  • 数组模拟单链表-acwing
  • Redis - 主从复制
  • 回溯算法详解与剪枝优化
  • 叶子祺东京被偶遇 素颜逆天 身材火辣