Home linux桌面环境简单了解
Post
Cancel

linux桌面环境简单了解

关于桌面环境

Linux桌面环境是指在Linux操作系统上运行的图形用户界面,使用户能够使用鼠标、键盘和视觉元素与系统进行交互。在Linux中,有许多不同的桌面环境可供选择,每个环境都具有其独特的特点和外观。 桌面环境为用户提供了更加友好和直观的方式来管理文件、运行应用程序、设置系统和与计算机进行交互。相比终端的命令行窗口,使用更方便,但必定会占用更多的系统资源。

桌面环境通常在系统安装选择性跟随安装,也可以在系统安装后,额外安装桌面环境。桌面环境不同linux核心组件,它是可选的。另外,linux系统上可以同时存在多个桌面环境,互不影响,可以选择 切换使用,但需要在系统启动时,桌面环境启动后是不能直接切换的。

常见桌面环境

Linux上有很多桌面环境可供选择,其中一些最常见的包括:

  • GNOME:这是一个功能强大且现代的桌面环境,非常易于使用,受到许多Linux发行版的支持。
  • KDE Plasma:这也是一个功能丰富的桌面环境,它提供了许多高级特性和高度的可定制性。
  • Xfce:这是一个轻量级的桌面环境,非常适合资源有限的系统。
  • LXDE:这是另一个轻量级的桌面环境,旨在提供快速且节省资源的体验。
  • Cinnamon:这个桌面环境设计得类似于传统的Windows桌面,易于过渡到Linux系统。
  • MATE:这是一个传统且简洁的桌面环境,为喜欢Gnome 2风格的用户提供了一个替代方案。

不同的桌面环境,在美观风格,操作交互,占用资源,性能表现上略有不同。GNOME倾向于简洁和现代化,KDE Plasma提供了高度的可定制性,而Xfce和LXDE专注于资源效率。 另外,不同的linux发行版默认的安装的桌面环境可能不同,有的是默认的,有的可以在安装时选择。 如果是Ubuntu,默认安装GNOME桌面,Kubuntu默认的桌面环境是 KDE,Cinnamon好像是Linux Mint的默认桌面。

显示管理器(Display Manger)

显示管理器和桌面环境之间是密切相关的,但它们是两个不同的概念。如果类比,相当于引导程序和操作系统,显示管理器就相当于引导程序,而桌面环境相当于操作系统, 由显示管理器“引导启动”桌面系统,只不过它们都是用户态的系统中的程序。

显示管理器(Display Manager)是用于管理登录会话和图形用户界面(GUI)的程序。它提供了登录屏幕,允许用户输入用户名和密码,并选择要使用的桌面环境或会话类型。 一旦用户成功登录,显示管理器会启动所选的桌面环境,为用户提供图形用户界面。显示管理器是在计算机启动时加载的程序,通常是在Linux图形会话开始之前运行。 它负责显示登录界面(选择账户并输入登录密码的那个界面),并接受用户的输入,以便登录到系统。

常见的显示管理器有GDM (GNOME Display Manager)、LightDM、SDDM (Simple Desktop Display Manager)等。 每个桌面环境通常会使用适合自己的显示管理器,但有些显示管理器也可以用于不同的桌面环境。

一般显示管理器在用户登录界面会提供界面按钮,支持让用户选择不同的桌面环境以启动(如果存在已安装的多个桌面环境),登录后,启动对应的桌面环境。 经过测试,SDDM和LightDM都是有按钮可以选择不同的桌面环境启动的,GDM3也有,但比较隐蔽。默认情况下,都是启动默认的桌面环境,也可以手动选择指定的桌面环境。

一般来说,桌面环境都会有自己默认的显示管理器,会一起安装的。没什么特殊情况,一般也不需要修改显示管理器。不同的显示管理器在配置方面有一些差异。 配置文件路径,方式也有明显不同,可以通过 dpkg -L gdm3/sddm/lightdm查看软件包安装文件,查找里面的etc目录安装文件,配置项还是比较多的,可以配置默认启动桌面等。

查看当前系统的显示管理器

1
cat /etc/X11/default-display-manager

这里将gdm,lightdm,sddm都测试过了,分别是/usr/sbin/gdm3,/usr/sbin/lightdm,/usr/bin/sddm,它们都是用户程序,另外,可以定制登录页面,一般都可以配置, 可以参考它们的man手册。

切换当前系统的显示管理器

1
2
# 最后输入gdm3或lightdm或sddm都可以。
sudo dpkg-reconfigure gdm3/lightdm/sddm

桌面环境

可以安装多个桌面环境,安装参考命令,仅供参考,可以调整

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装KDE桌面
sudo apt install task-kde-desktop
# sudo apt install kde-plasma-desktop  # ——最小安装:仅安装桌面环境以及基础软件
# sudo apt install kde-standard      # ——标准安装:桌面环境以及常用软件
# 安装sddm 显示管理器
# sudo apt install sddm                # (可以不手动安装,安装kde桌面时,会根据依赖自动安装)

# xfce
sudo apt install task-xfce-desktop
# sudo apt install lightdm            # (自动被依赖安装)

# gnome
sudo apt install task-gnome-desktop
# sudo apt install gdm3               # (自动被依赖安装)

最后,记得是用 sudo systemctl set-default graphical.target 设置一个启动等级为图形界面等级。

不同的桌面环境,除了外观,风格,资源,性能有差异,还有配置上的其他差异等,比如常用的GNOME桌面默认是不允许root用户登录的, 这个是桌面环境的配置,通过修改gdm配置文件可以打开root登录功能。

查看系统中安装的桌面环境

1
2
$ ls /usr/share/xsessions/
gnome-classic.desktop  gnome.desktop  gnome-xorg.desktop  lightdm-xsession.desktop  plasma.desktop  xfce.desktop

更改默认的桌面环境

默认的桌面环境和显示管理器(Display Manger)是密切相关的,可以通过配置显示管理器(Display Manger)来实现。

也有一个系统选项x-session-manager,应该是一个软链接,链接到不同的桌面环境,显示管理器(Display Manger)可以选择启动该桌面环境(应该就是对应default那个桌面环境), 通过配置该软链接选项,应该就可以启动不同的桌面环境,如果失败,就还是在显示管理器(Display Manger,DM)中手动选择桌面环境。

1
sudo update-alternatives --config x-session-manager

窗口管理器(Window Managers)

窗口管理器是桌面环境的重要组成部分,不同的桌面环境使用的窗口管理器不同。这个比较复杂,简单了解即可。

可以参考:

[翻译]X窗口管理器的原理剖析(一)

How X Window Managers Work, And How To Write One (Part I)

linux图形界面总结——X、Xorg、WM、QT、GTK、KDE、GNOME的区别与联系

常见的桌面环境通常与特定的窗口管理器捆绑在一起,但用户通常也可以在这些桌面环境中使用其他窗口管理器。一些常见的桌面环境及它们通常使用的窗口管理器:

  1. GNOME:默认使用 Mutter 窗口管理器(也称为 GNOME Shell)。Mutter 是为 GNOME 桌面环境设计的,它负责提供窗口管理、特效和图形合成等功能。

  2. KDE Plasma:默认使用 KWin 窗口管理器。KWin 是 KDE 桌面环境的一部分,它是功能强大且高度可配置的窗口管理器,提供许多视觉效果和定制选项。

  3. Xfce:默认使用 Xfwm4 窗口管理器。Xfwm4 是 Xfce 桌面环境的一部分,它是一个轻量级的窗口管理器,旨在节省系统资源。

  4. LXDE:默认使用 Openbox 窗口管理器。Openbox 是一个轻量级且高度可定制的窗口管理器,适用于 LXDE 桌面环境。

  5. Cinnamon:默认使用 Muffin 窗口管理器。Muffin 是为 Cinnamon 桌面环境开发的,它是一个基于 Mutter 的窗口管理器,并为 Cinnamon 提供了窗口管理和特效功能。

  6. MATE:默认使用 Marco 窗口管理器。Marco 是为 MATE 桌面环境设计的,它是一个简单的窗口管理器,提供基本的窗口管理功能。

关于 update-alternatives 工具

update-alternatives命令是用于管理Debian及其衍生发行版中的替代项(alternatives)的工具。在Linux中,有些程序或服务可能有多个可选的实现或版本,为了方便用户在这些可选项之间进行切换, Debian引入了替代项机制。update-alternatives命令允许用户设置、配置和切换系统中的默认实现,使用户可以在不改变软件包的情况下更改所使用的实现。

该命令的主要功能包括:

  1. 管理替代项:update-alternatives可以管理系统中的不同替代项,包括可执行程序、文档、符号链接等。它允许用户在多个可选项之间进行选择,并设置所需的默认选项。

  2. 配置替代项:当安装或更新软件包时,软件包管理器通常会使用update-alternatives命令来设置相应的替代项。这使得用户不必手动干预,系统会根据默认的配置自动选择合适的替代项。

  3. 切换默认选项:用户可以通过update-alternatives命令手动切换默认选项。这对于选择默认的桌面环境、文本编辑器、Java运行时环境等非常有用。

原理:

update-alternatives命令的原理是通过维护一个符号链接的系统目录来实现。当用户选择不同的替代项时,update-alternatives会将一个符号链接指向所选的实现。这个符号链接是一个“候选项”,指向真正要使用的实际文件或程序。而系统中的其他部分则通过访问这个符号链接来间接使用所选的实现。

通过这种方式,系统中的其他程序和服务都可以通过访问同一个符号链接,无需关心实际的实现。而当用户需要切换默认选项时,只需要用update-alternatives命令更改该符号链接指向的实现,而不需要修改其他程序或服务。

update-alternatives是一个用于管理替代项的工具,它允许用户在多个可选项之间进行选择,并通过维护符号链接实现切换默认选项的功能。这样,用户可以方便地在不同的实现之间切换,而不必手动修改配置文件。

This post is licensed under CC BY 4.0 by the author.