web-dev-qa-db-ja.com

システムがWaylandを使用していないのに、なぜWaylandパッケージがインストールされているのですか?

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に関連するこれらのパッケージがあるのですか?

3
Zanna

おかげで Byte CommanderEliah Kagan 提案をしてくれました チャット中これらのパッケージが依存関係としてインストールされていることがわかりました。

As suggested Wayland関連パッケージの削除をシミュレートしました...allWayland関連パッケージを削除するふりをしたとき...

apt remove '.*wayland.*' -s

結果は終末論的に見え、フルスクリーンターミナルはubuntu-mate-desktopメタパッケージ全体とそのすべての付属物、xorgパッケージ(oops!)およびmarco(MATE'sデフォルトのウィンドウマネージャー)。

しかし、kwayland-dataを削除するだけで、他のいくつかの神秘的なパッケージkwayland-integrationlibkf5waylandclient5...を削除するように見えました。

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を使用して、これらの問題を安全に調査できます。

3
Zanna