我正在使用 Ubuntu MATE 17.10。发行说明从未提及任何有关 Wayland的内容,而且我一直认为该系统使用的是 Xorg 显示服务器。
但是,今天我照常跑
sudo apt update && sudo apt full-upgrade
并注意到输出包括:
The following packages will be upgraded:
libwayland-client0 libwayland-cursor0 libwayland-server0 [...]
我想,这很奇怪。我的系统到底是在使用 Wayland 吗?
正如Byte Commander 在 chat 中所建议的那样,我寻找正在运行的进程(使用pgrep Xorg
and pstree
),发现 Xorg 但没有 Wayland。所以我很确定 Wayland 没有运行。我寻找 Wayland 包:
dpkg -l | grep [Ww]ayland
ii kwayland-data 4:5.38.0-0ubuntu1 all Qt library wrapper for Wayland libraries - data files
ii kwayland-integration:amd64 4:5.10.5-0ubuntu1 amd64 kwayland runtime integration plugins
ii libkf5waylandclient5:amd64 4:5.38.0-0ubuntu1 amd64 Qt library wrapper for Wayland libraries
ii libqt5waylandclient5:amd64 5.9.1-2 amd64 QtWayland client library
ii libqt5waylandcompositor5:amd64 5.9.1-2 amd64 QtWayland compositor library
ii libwayland-client0:amd64 1.14.0-1ubuntu0.1 amd64 wayland compositor infrastructure - client library
ii libwayland-cursor0:amd64 1.14.0-1ubuntu0.1 amd64 wayland compositor infrastructure - cursor library
ii libwayland-egl1-mesa:amd64 17.2.8-0ubuntu0~17.10.1 amd64 implementation of the Wayland EGL platform -- runtime
ii libwayland-server0:amd64 1.14.0-1ubuntu0.1 amd64 wayland compositor infrastructure - server library
ii qtwayland5:amd64 5.9.1-2 amd64 QtWayland platform plugin
为什么我有这些与 Wayland 相关的软件包,即使我没有使用 Wayland?
感谢Byte Commander和Eliah Kagan在聊天中提出的建议,我能够弄清楚这些软件包是作为依赖项安装的。
正如建议的那样,我模拟了删除与 Wayland 相关的包......当我试图假装删除所有与 Wayland 相关的包时......
结果看起来像世界末日一样,一个全屏终端,里面装满了被删除的包,包括整个
ubuntu-mate-desktop
元包及其所有附件、xorg
包(哎呀!)和marco
(MATE 的默认窗口管理器)。但只是删除
kwayland-data
似乎只删除了其他几个神秘的包kwayland-integration
和libkf5waylandclient5
......因此,正如 Eliah Kagan建议的那样,我试着询问
aptitude why
我是否有这些包裹,例如啊!那讲得通。我安装了 Konsole 是因为其他终端模拟器不支持 CTL。
通过像一个顽固的蹒跚学步的孩子一样一遍又一遍地询问
aptitude why
,可以找出为什么需要或已安装任何特定软件包,例如:模拟删除包之类的
libgtk-3-0
(注意不要实际删除它们......)揭示了更多关于依赖结构的信息。结论
我有这些包是因为其他包出人意料地依赖于它们。一些,例如
kwayland-data
,作为我自己安装的非必需包的依赖项推荐的包的依赖项的依赖项安装,可以安全地删除,但其他一些,例如libwayland-egl1-mesa
我的系统不可或缺的包的依赖项,并删除他们将是灾难性的!有了 APT--simulate
或-s
标志,aptitude
我们就可以安全地调查这些问题。