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が推奨 のように、実行中のプロセス(pgrep Xorg
およびpstree
を使用)を探し、Xorgを見つけましたが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 提案をしてくれました チャット中これらのパッケージが依存関係としてインストールされていることがわかりました。
As suggested Wayland関連パッケージの削除をシミュレートしました...allWayland関連パッケージを削除するふりをしたとき...
apt remove '.*wayland.*' -s
結果は終末論的に見え、フルスクリーンターミナルはubuntu-mate-desktop
メタパッケージ全体とそのすべての付属物、xorg
パッケージ(oops!)およびmarco
(MATE'sデフォルトのウィンドウマネージャー)。
しかし、kwayland-data
を削除するだけで、他のいくつかの神秘的なパッケージkwayland-integration
とlibkf5waylandclient5
...を削除するように見えました。
Eliah Kagan suggested として、私は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)
ああ!それは理にかなっている。他の端末エミュレーター CTLをサポートしない のため、Konsoleをインストールしました。
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
libgtk-3-0
などのパッケージの削除をシミュレートすると(実際に削除しないように注意してください...)、依存関係構造の詳細が明らかになります。
他のパッケージは驚くことにそれらに依存しているため、これらのパッケージがあります。私がインストールした非必須パッケージの依存関係によって推奨されるパッケージの依存関係の依存関係としてインストールされたkwayland-data
などの一部は安全に削除できますが、libwayland-egl1-mesa
などのその他のものは私のシステムに不可欠なパッケージの依存関係、およびそれらを削除することは悲惨です! APTの--simulate
または-s
フラグとaptitude
を使用して、これらの問題を安全に調査できます。