Por que tenho pacotes Wayland instalados, embora meu sistema não esteja usando o Wayland?

3

Estou usando o Ubuntu MATE 17.10. As notas de lançamento nunca mencionaram nada sobre Wayland, e eu sempre assumi esse sistema estava usando o servidor de exibição Xorg.

No entanto, hoje corri o habitual

sudo apt update && sudo apt full-upgrade

e notou que a saída incluía:

The following packages will be upgraded:
  libwayland-client0 libwayland-cursor0 libwayland-server0 [...]

Eu pensei, isso é estranho. Meu sistema está usando o Wayland afinal?

Como sugerido por Byte Commander no bate-papo , procurei por processos em execução (usando pgrep Xorg e pstree ), e encontrou o Xorg mas não o Wayland. Então eu tenho certeza que Wayland não está correndo. Eu procurei por pacotes 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

Por que eu tenho esses pacotes relacionados ao Wayland mesmo que eu não esteja usando o Wayland?

    
por Zanna 10.04.2018 / 16:41

1 resposta

3

Agradecimentos a Byte Commander e Eliah Kagan fazendo sugestões no bate-papo Consegui descobrir que esses pacotes foram instalados como dependências.

Como sugerido , simulei a remoção de pacotes relacionados a Wayland ... Quando tentei fingir remover todos pacotes relacionados ao Wayland ...

apt remove '.*wayland.*' -s

o resultado pareceu apocalíptico, com um terminal de tela cheia cheio de pacotes sendo removidos, incluindo todo o ubuntu-mate-desktop metapackage e todos os seus adjuntos, o xorg package (oops!) e marco (o gerenciador de janelas padrão do MATE ).

Mas apenas remover kwayland-data pareceu remover alguns outros pacotes misteriosos kwayland-integration e libkf5waylandclient5 ...

Então, como Eliah Kagan sugeriu eu tentei perguntar aptitude why eu tinha esses pacotes, por exemplo

$ 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! Isso faz sentido. Eu instalei o Konsole porque outros emuladores de terminal não suportam CTL .

Ao perguntar aptitude why repetidamente como uma criança persistente, é possível descobrir por que um determinado pacote é necessário ou foi instalado, por exemplo:

$ 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

A simulação da remoção de pacotes como libgtk-3-0 (tenha cuidado para não removê-los de fato ...) revela mais sobre as estruturas de dependência em jogo.

Conclusão

Eu tenho esses pacotes porque outros pacotes dependem deles surpreendentemente. Alguns, como kwayland-data , instalados como uma dependência de uma dependência de um pacote recomendado por uma dependência de um pacote não essencial que eu mesmo instalei, poderiam ser removidos com segurança, mas outros, como libwayland-egl1-mesa , são dependências de pacotes integral para o meu sistema, e removê-los seria desastroso! Com --simulate ou -s flag e aptitude da APT, podemos investigar com segurança essas questões.

    
por Zanna 10.04.2018 / 16:41