J'utilise Ubuntu MATE 17.10. Les notes de mise à jour n'ont jamais rien dit à propos de Wayland, et j'ai toujours supposé que ce système utilisait le serveur d'affichage Xorg.
Cependant, aujourd'hui, j'ai couru comme d'habitude
Sudo apt update && Sudo apt full-upgrade
et remarqué que la sortie incluait:
The following packages will be upgraded:
libwayland-client0 libwayland-cursor0 libwayland-server0 [...]
J'ai pensé que c'est étrange. Est-ce que mon système utilise Wayland après tout?
Comme suggéré par Byte Commander dans le chat , je cherchai les processus en cours d'exécution (en utilisant pgrep Xorg
et pstree
), et trouvai Xorg mais pas Wayland. Je suis donc à peu près sûr que Wayland ne fonctionne pas. J'ai cherché des forfaits 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
Pourquoi ces paquets sont-ils liés à Wayland alors que je n’utilise pas Wayland?
Merci à Byte Commander et Eliah Kagan faire des suggestions sur le chat J'ai pu comprendre que ces paquets étaient installés en tant que dépendances.
Comme suggéré j'ai simulé la suppression des packages liés à Wayland ... Lorsque j'ai essayé de prétendre supprimer tous les packages liés à Wayland ...
apt remove '.*wayland.*' -s
le résultat semblait apocalyptique, avec un terminal plein écran plein de paquets en cours de suppression, y compris tout le métapaquet ubuntu-mate-desktop
et tous ses éléments complémentaires, le paquet xorg
(oops!) et marco
(MATE gestionnaire de fenêtres par défaut).
Mais simplement enlever kwayland-data
semblait ne supprimer que quelques autres paquets mystérieux kwayland-integration
et libkf5waylandclient5
...
Donc, comme Eliah Kagan suggéré J'ai essayé de demander aptitude why
J'ai eu ces paquets, par exemple
$ 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)
Ahh! Ça a du sens. J'ai installé Konsole car d'autres émulateurs de terminal ne supporte pas CTL .
En demandant aptitude why
encore et encore, comme un tout-petit persistant, il est possible de savoir pourquoi un paquet particulier est requis ou a été installé, par exemple:
$ 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
La simulation de la suppression de paquets tels que libgtk-3-0
(veillez à ne pas les supprimer réellement ...) en révèle plus sur les structures de dépendance en jeu.
J'ai ces paquets parce que d'autres paquets en dépendent étonnamment. Certains, tels que kwayland-data
, installés en tant que dépendance d'une dépendance d'un paquet recommandé par une dépendance d'un paquet non essentiel que j'ai installé moi-même, peuvent être supprimés en toute sécurité, mais d'autres, tels que libwayland-egl1-mesa
sont des dépendances de paquets faisant partie intégrante de mon système, et les supprimer serait désastreux! Avec les drapeaux --simulate
ou -s
et aptitude
de l'APT, nous pouvons enquêter en toute sécurité sur ces questions.