Я использую ПОМОЩНИКА Ubuntu 17.10. Информация о версии никогда ничего не упоминала об Уэйленде, и я всегда предполагал, что эта система использовала сервер дисплея Xorg.
Однако сегодня я выполнил обычное
sudo apt update && sudo apt full-upgrade
и замеченный, который включал вывод:
The following packages will be upgraded:
libwayland-client0 libwayland-cursor0 libwayland-server0 [...]
Я думал, это нечетно. Моя система использует Уэйленд, в конце концов?
Как предложил Командующий Байта в чате, я искал выполнение процессов (использование pgrep Xorg
и pstree
), и найденный Xorg, но никакой Уэйленд. Таким образом, я вполне уверен, Уэйленд не работает. Я искал пакеты Уэйленда:
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
Почему мне связывали эти пакеты с Уэйлендом даже при том, что я не использую Уэйленд?
Благодаря Byte Commander и Элиа Каган внесли предложения в чат Я смог выяснить, что эти пакеты были установлены как зависимостей.
Как предложил , я имитировал удаление пакетов, связанных с Wayland ... Когда я пытался притвориться, что удаляю все пакеты, связанные с Wayland ...
apt remove '.*wayland.*' -s
результат выглядел апокалиптическим, с полноэкранным терминалом, полным пакетов, которые были удалены, включая весь метапакет ubuntu-mate-desktop
и все его дополнения, пакет xorg
(упс!) И marco
(MATE's оконный менеджер по умолчанию).
Но только удаление kwayland-data
, казалось, только удаляло пару других таинственных пакетов kwayland-integration
и libkf5waylandclient5
...
Так, как предложил Элия Каган , я попытался спросить aptitude why
, у меня были эти пакеты, например
$ aptitude why kwayland-data
i konsole Depends libkf5windowsystem5 (>= 4.96.0)
i A libkf5windowsystem5 Recommends kwayland-integration
i A kwayland-integration Depends libkf5waylandclient5 (>= 4:5.27.0+p16.10+git20161029.2052)
i A libkf5waylandclient5 Depends kwayland-data (= 4:5.38.0-0ubuntu1)
Ааа! В этом есть смысл. Я установил Konsole, потому что другие эмуляторы терминала не поддерживают CTL .
Задавая aptitude why
снова и снова, как постоянный малыш, можно выяснить, почему какой-либо конкретный пакет требуется или был установлен, например:
$ aptitude why libwayland-egl1-mesa
i libwebkit2gtk-4.0-37 Depends libwayland-egl1-mesa (>= 10.0.2) | libwayland-egl1
$ aptitude why libwayland-cursor0
i libgtk-3-0 Depends libwayland-cursor0 (>= 1.9.91)
$ aptitude why libgtk-3-0
i mate-utils Depends libgtk-3-0 (>= 3.16.2)
$ aptitude why mate-utils
i ubuntu-mate-desktop Depends mate-utils
Имитация удаления таких пакетов, как [ 1111] (будьте осторожны, чтобы на самом деле не удалять их ...), вы узнаете больше о структурах зависимостей в игре.
У меня есть эти пакеты, потому что другие пакеты неожиданно зависят от них. Некоторые из них, такие как kwayland-data
, установленные как зависимость от зависимости пакета, рекомендованного зависимостью от несущественного пакета, который я установил сам, могут быть безопасно удалены, но другие, такие как libwayland-egl1-mesa
, являются зависимостями целых пакетов в мою систему, и их удаление будет иметь катастрофические последствия! С флагом APT --simulate
или -s
и aptitude
мы можем безопасно расследовать эти вопросы.