如何从命令行检查 Linux 中是否安装了 GUI

前几天我们的一个博客追随者试图安装 天主教 它打破了他的 Ubuntu 机器。 他无法通过登录屏幕。 他以某种方式设法 恢复他损坏的 Ubuntu 系统 无需重新安装它。 但是,这次他的机器仅在 CLI 模式下启动。 好像图形化的DE没了,但他不太确定。 他问我他如何才能找到此时是否存在 GUI。 如果您遇到过这种情况,这里有一些技巧可以从命令行检查 Linux 中是否安装了 GUI。

从命令行检查 Linux 中是否安装了 GUI

有几种方法可以检测您的 Linux 系统是否安装了 GUI。 请注意,所有这些方法只会显示是否安装了 GUI。 但是,它无助于确定 GUI 是否正在运行。

下面给出的所有步骤都在 Ubuntu 20.04 LTS 桌面和服务器版本下进行了测试。

方法一:

第一种方法是确定您的系统上是否安装了任何 X 会话。 为此,请运行:

$ ls /usr/bin/*session

如果您的 Linux 系统有任何 GUI 会话,它应该显示如下内容:

/usr/bin/dbus-run-session  /usr/bin/gnome-session-custom-session /usr/bin/gnome-session

正如你在上面的输出中看到的,我的 Ubuntu 有 GNOME 安装桌面环境。

  • 如果您的系统有 伴侣 安装,它会打印 /usr/bin/mate-session.
  • 为了 LXDE,它会返回 /usr/bin/lxsession.

如果 Linux 中没有安装任何 GUI,您将看到如下输出:

/usr/bin/byobu-select-session  /usr/bin/dbus-run-session
从命令行检查 Linux 中是否安装了 GUI

此命令仅适用于基于 Debian 的系统,例如 Ubuntu、Linux Mint、Pop!_OS 等。如果您的系统是基于 RPM 的系统,例如 Fedora,RHEL,你会看到如下错误信息:

ls: cannot access '/usr/bin/*session': No such file or directory

在这种情况下,请参考以下方法。

方法二:

检测系统上是否安装了任何 GUI 的第二种方法是使用以下命令检查 X 服务器是否存在 type 命令:

$ type Xorg

在安装了 GUI 的 Linux 系统上,您将看到以下输出:

Xorg is /usr/bin/Xorg

在仅 CLI 的 Linux 系统上,输出应为:

-bash: type: Xorg: not found
从命令行查找 Linux 中是否安装了 GUI

方法三:

验证 Linux 系统上是否安装了 GUI 的另一种方法是检查 /usr/share/xsessions/ 目录与 ls 命令:

$ ls /usr/share/xsessions/

Ubuntu Linux GUI 系统上的示例输出:

ubuntu.desktop

来自 Ubuntu Linux CLI-only 机器的示例输出:

ls: cannot access '/usr/share/xsessions/': No such file or directory
从命令行验证 GUI 是否安装在 Linux 中从命令行验证 GUI 是否安装在 Linux 中

方法四:

这仅适用于基于 Debian 的系统。 您还可以检查是否安装了 GUI dpkggrep 命令如下:

$ dpkg -l | grep xserver

此命令列出所有已安装的 X11 和 xserver 相关软件包。

来自 Ubuntu Linux GUI 系统的示例输出:

 ii  x11-xserver-utils                          7.7+8                                 amd64        X server utilities  ii  xserver-common                             2:1.20.9-2ubuntu1.2~20.04.1           all          common files used by various X servers  ii  xserver-xephyr                             2:1.20.9-2ubuntu1.2~20.04.1           amd64        nested X server  ii  xserver-xorg                               1:7.7+19ubuntu14                      amd64        X.Org X server  ii  xserver-xorg-core                          2:1.20.9-2ubuntu1.2~20.04.1           amd64        Xorg X server - core server  ii  xserver-xorg-core-hwe-18.04                3:14.5                                amd64        Transitional package for xserver-xorg-core-hwe-18.04  ii  xserver-xorg-hwe-18.04                     3:14.5                                amd64        Transitional package for xserver-xorg-hwe-18.04  ii  xserver-xorg-input-all                     1:7.7+19ubuntu14                      amd64        X.Org X server -- input driver metapackage  ii  xserver-xorg-input-libinput                0.29.0-1                              amd64        X.Org X server -- libinput input driver  ii  xserver-xorg-input-wacom                   1:0.39.0-0ubuntu1                     amd64        X.Org X server -- Wacom input driver  ii  xserver-xorg-legacy                        2:1.20.9-2ubuntu1.2~20.04.1           amd64        setuid root Xorg server wrapper  ii  xserver-xorg-video-all                     1:7.7+19ubuntu14                      amd64        X.Org X server -- output driver metapackage  ii  xserver-xorg-video-all-hwe-18.04           3:14.5                                amd64        Transitional package for xserver-xorg-video-all-hwe-18.04  ii  xserver-xorg-video-amdgpu                  19.1.0-1                              amd64        X.Org X server -- AMDGPU display driver  ii  xserver-xorg-video-amdgpu-hwe-18.04        3:14.5                                amd64        Transitional package for xserver-xorg-video-amdgpu-hwe-18.04  ii  xserver-xorg-video-ati                     1:19.1.0-1                            amd64        X.Org X server -- AMD/ATI display driver wrapper  ii  xserver-xorg-video-ati-hwe-18.04           3:14.5                                amd64        Transitional package for xserver-xorg-video-ati-hwe-18.04  ii  xserver-xorg-video-fbdev                   1:0.5.0-1ubuntu1                      amd64        X.Org X server -- fbdev display driver  ii  xserver-xorg-video-fbdev-hwe-18.04         3:14.5                                amd64        Transitional package for xserver-xorg-video-fbdev-hwe-18.04  ii  xserver-xorg-video-intel                   2:2.99.917+git20200226-1              amd64        X.Org X server -- Intel i8xx, i9xx display driver  ii  xserver-xorg-video-nouveau                 1:1.0.16-1                            amd64        X.Org X server -- Nouveau display driver  ii  xserver-xorg-video-qxl                     0.1.5+git20200331-1                   amd64        X.Org X server -- QXL display driver  ii  xserver-xorg-video-qxl-hwe-18.04           3:14.5                                amd64        Transitional package for xserver-xorg-video-qxl-hwe-18.04  ii  xserver-xorg-video-radeon                  1:19.1.0-1                            amd64        X.Org X server -- AMD/ATI Radeon display driver  ii  xserver-xorg-video-vesa                    1:2.4.0-2                             amd64        X.Org X server -- VESA display driver  ii  xserver-xorg-video-vesa-hwe-18.04          3:14.5                                amd64        Transitional package for xserver-xorg-video-vesa-hwe-18.04  ii  xserver-xorg-video-vmware                  1:13.3.0-3                            amd64        X.Org X server -- VMware display driver

在没有 GUI 的 Ubuntu 服务器上,您只会看到一些与 X 服务器相关的包:

rc  x11-xserver-utils                    7.7+8                               amd64        X server utilities  ii  xserver-common                       2:1.20.9-2ubuntu1.2~20.04.1         all          common files used by various X servers

然而,这并不是那么可靠的方法。 因为,您可以在不使用软件包管理器的情况下安装 DE,例如 dpkg 或者 apt. 在这种情况下,这不会返回任何结果。 即使您安装然后删除了 X 服务器,它仍然会显示安装了 X 服务器。

如何找到您在 Linux 中使用的桌面环境?

这是一种奖励方法。 我们可以使用以下命令在 Linux GUI 系统中轻松找到当前的桌面环境:

$ echo $XDG_CURRENT_DESKTOP ubuntu:GNOME
在 Linux 中查找当前的桌面环境在 Linux 中查找当前的桌面环境

正如您在输出中看到的,我使用的是 Ubuntu GNOME 桌面环境。 如果您没有任何 DE,您将什么也看不到。

希望这可以帮助。

特色图片由 erfouris 工作室在Pixabay上提供。

桌面环境图形用户界面GUILinuxLinux 基础知识Linux 命令Linux 技巧Ubuntu