[Dúvida] Remover aplicativos pré-instados em distros com GNOME

Salve, galera! É possível remover aplicativos que vem pré-instalados em sistemas com GNOME, como o “Vídeos” que vem no Pop! OS (e em outras distros com o mesmo ambiente gráfico) sem corromper o sistema?

Eu encontrei esse tutorial aqui com uma solução aparentemente muito simples, mas fiquei com um pouco de receio porque quando eu tentei remover pela loja de aplicativos ele deu uma mensagem dizendo que não era possível. O post em questão (no Ask Ubuntu) diz que ele é removido abrindo o terminal e rodando:

$ sudo apt-get purge totem totem-plugins

É seguro mesmo?

2 Curtidas

Para saber se é seguro ou não basta verificar a lista de pacotes que serão removidos junto com os pacotes que você pediu para remover. Se a lista só conter as dependências do próprio pacote, como codecs, GUI, e afins, está tudo certo! Porém, se na lista tiver muita coisa e especialmente o próprio Gnome, Ubuntu, e outros pacotes críticos, ai você terá bastante problemas se continuar.

Por exemplo, ao pedir para remover o pacote dictionaries-common, a mensagem do APT é a seguinte. No total seriam 83 pacotes removidos, e entre eles estão o cinnamon (que é a interface que estou usando), mint-meta-cinnamon (que é o pacote meta do Linux Mint), … Basicamente eu removeria o meu sistema inteiro.

$ apt purge dictionaries-common
[sudo] senha para bruno:        
Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
Os seguintes pacotes foram instalados automaticamente e já não são necessários:
  cabextract devhelp-common fluid-soundfont-gs glade2script grub2-theme-mint
  libgit2-26 libgit2-glib-1.0-0 libhttp-parser2.7.1 libssh2-1 python3-distro
  python3-evdev python3-tinycss ubuntu-dbgsym-keyring
Utilize 'sudo apt autoremove' para os remover.
Os pacotes a seguir serão REMOVIDOS:
  aspell* aspell-en* boot-repair* boot-sav* cinnamon* cinnamon-control-center*
  cinnamon-control-center-dbg* cinnamon-core* cinnamon-dbg*
  cinnamon-desktop-environment* devhelp* dictionaries-common* enchant*
  gir1.2-webkit-3.0* gir1.2-webkit2-4.0* gitg* gnome-online-accounts* gufw*
  hunspell-de-at-frami* hunspell-de-ch-frami* hunspell-de-de-frami*
  hunspell-en-au* hunspell-en-ca* hunspell-en-gb* hunspell-en-us*
  hunspell-en-za* hunspell-es* hunspell-fr* hunspell-fr-classical*
  hunspell-it* hunspell-pt-br* hunspell-pt-pt* hunspell-ru* hyphen-de*
  hyphen-en-ca* hyphen-en-gb* hyphen-en-us* hyphen-fr* hyphen-it*
  hyphen-pt-br* hyphen-pt-pt* hyphen-ru* libdevhelp-3-5*
  libedataserverui-1.2-2* libenchant1c2a* libgoa-backend-1.0-1* libgspell-1-1*
  libgtkspell0* libgtkspell3-3-0* libwebkit2gtk-4.0-37* libwebkitgtk-3.0-0*
  libxreaderview3* libyelp0* lutris* metacity* mint-meta-cinnamon*
  mint-meta-core* mintsystem* muffin* muffin-dbg* mythes-en-au* mythes-en-us*
  mythes-fr* mythes-it* mythes-pt-pt* mythes-ru* nemo-preview*
  ubuntu-system-adjustments* wbrazilian* wbritish* wfrench* witalian*
  wngerman* wogerman* wportuguese* wspanish* wswiss* xed* xed-dbg* xreader*
  xreader-dbg* yelp* zenity*
0 pacotes atualizados, 0 pacotes novos instalados, 83 a serem removidos e 0 não atualizados.
Depois desta operação, 247 MB de espaço em disco serão liberados.

Por outro lado, ao pedir para remover o xed (que é o editor de texto padrão do Linux Mint, equivalente ao gedit), a mensagem é a seguinte. Apenas o próprio xed e o pacote xed-dbg serão removidos, então é seguro eu removê-lo.

$ sudo apt purge xed
Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
Os pacotes a seguir serão REMOVIDOS:
  xed* xed-dbg*
0 pacotes atualizados, 0 pacotes novos instalados, 2 a serem removidos e 0 não atualizados.
Depois desta operação, 2.552 kB de espaço em disco serão liberados.

Não tem uma fórmula mágica para saber isso de antemão, sem saber a lista de dependência dos pacotes.

Outro modo para verificar essas dependências, inclusive bem melhor do que com o apt purge, é usando o comando apt depends <pacote>. Isso irá listar os pacotes que dependem de <pacote> , e os pacotes que estiverem marcados como “Quebra:” serão aqueles que vão quebrar ao remover <pacote>.
Ex.:

$ apt depends dictionaries-common
dictionaries-common
 |Depende: debconf
  Depende: <debconf-2.0>
    cdebconf
    debconf
  Depende: libtext-iconv-perl
  Depende: emacsen-common
  Quebra: hunspell-ar
  Quebra: hunspell-da
  Quebra: hunspell-de-at
  Quebra: hunspell-de-ch
  Quebra: hunspell-de-de
  Quebra: hunspell-en-us
  Quebra: hunspell-eu-es
  Quebra: hunspell-gl-es
  Quebra: hunspell-kk
  Quebra: hunspell-ko
  Quebra: hunspell-se
  Quebra: hunspell-uz
  Quebra: hyphen-en-us
  Quebra: myspell-bg
  Quebra: <myspell-ca>
  Quebra: myspell-cs
  Quebra: <myspell-cs-cz>
  Quebra: myspell-da
  Quebra: myspell-de-at
  Quebra: myspell-de-ch
  Quebra: myspell-de-de
  Quebra: <myspell-de-de-oldspell>
  Quebra: myspell-el-gr
  Quebra: myspell-en-au
  Quebra: myspell-eo
  Quebra: myspell-es
  Quebra: myspell-et
  Quebra: <myspell-eu-es>
  Quebra: myspell-fa
  Quebra: <myspell-fi>
  Quebra: myspell-fo
  Quebra: myspell-fr
  Quebra: myspell-fr-gut
  Quebra: myspell-ga
  Quebra: myspell-gd
  Quebra: <myspell-gl-es>
  Quebra: myspell-gv
  Quebra: myspell-he
  Quebra: myspell-hr
  Quebra: myspell-hu
  Quebra: myspell-hy
  Quebra: <myspell-ku>
  Quebra: myspell-lv
  Quebra: myspell-nb
  Quebra: <myspell-nl>
  Quebra: myspell-nn
  Quebra: myspell-nr
  Quebra: myspell-ns
  Quebra: myspell-pl
  Quebra: myspell-pt-br
  Quebra: myspell-pt-pt
  Quebra: myspell-ru
  Quebra: myspell-sk
  Quebra: <myspell-sl>
  Quebra: myspell-ss
  Quebra: <myspell-sv-se>
  Quebra: myspell-tn
  Quebra: myspell-ts
  Quebra: myspell-uk
  Quebra: myspell-ve
  Quebra: myspell-xh
  Quebra: myspell-zu
  Quebra: mythes-it
  Quebra: <openoffice.org-thesaurus-it>
 |Sugere: ispell
    ispell:i386
 |Sugere: aspell
    aspell:i386
  Sugere: hunspell
    hunspell:i386
  Sugere: <wordlist>
    wcatalan
    miscfiles
    wamerican
    wamerican-huge
    wamerican-insane
    wamerican-large
    wamerican-small
    wbrazilian
    wbritish
    wbritish-huge
    wbritish-insane
    wbritish-large
    wbritish-small
    wbulgarian
    wcanadian
    wcanadian-huge
    wcanadian-insane
    wcanadian-large
    wcanadian-small
    wdanish
    wdutch
    wesperanto
    wfaroese
    wfrench
    wgalician-minimos
    wgerman-medical
    witalian
    wngerman
    wnorwegian
    wogerman
    wpolish
    wportuguese
    wspanish
    wswedish
    wswiss
    wukrainian
  Substitui: <openoffice.org-updatedicts>
    dictionaries-common
2 Curtidas

O 100% seguro a fazer é “esconder” o atalho para ele não ser mostrado no dash, porém o app continua no sistema.

Mas assim você não vai ficar vendo o app e esquecerá que ele existe depois de um tempo, sei que são chatos estes apps, mas instalar um gnome minimalista e ir adicionando as coisas depois são tão chatos quanto.

App para gerenciar o menu: MenuLibre

2 Curtidas

O GNOME costuma ser bem interdependente, eu não removeria, mas eu faria assim por garantia caso fosse remover:

1. Setaria o gnome-desktop como manual

apt-mark manual  gnome-desktop

Isso faz o APT entender que o pacote foi instalado por você ao invés de como dependência de um metapacote, ou seja, esse pacote não vai ser removido automaticamente.

2. Por via das dúvidas, eu chamaria uma reinstalação do GNOME sem os componentes, assim mesmo que ele remova tudo, o APT reinstala de volta pelo menos o básico

sudo apt remove totem totem-plugins &&\
  sudo apt install gnome-desktop gnome-terminal --no-install-recommends
2 Curtidas

@brunonzanette desculpa a minha ignorância, mas esse risco de remoção dos pacotes e dependências também existe se a desinstalação for feita via loja de aplicativos?

1 Curtida

Sim. Normalmente a loja exibe uma mensagem com os pacotes que serão removidos, quando não são apenas os pacotes do próprio programa que você pediu para remover. Porém, alguns desses programas não aparecem na loja (ex.: o dictionaries-common não aparece na loja do Mint) então reduz o risco de remover coisas mais críticas.

1 Curtida

@brunonzanette entendi, obrigado pelo esclarecimento.

Abraço.

1 Curtida

Fala, Bruno! Muito obrigado pela resposta, velho. Eu rodei o $apt depends totem e deu isso:

apt depends totem
totem
Depende: libc6 (>= 2.28)
Depende: libcairo2 (>= 1.14.0)
Depende: libgdk-pixbuf2.0-0 (>= 2.23.0)
Depende: libglib2.0-0 (>= 2.35.0)
Depende: libgstreamer-plugins-base1.0-0 (>= 1.0.0)
Depende: libgstreamer1.0-0 (>= 1.6.0)
Depende: libgtk-3-0 (>= 3.19.4)
Depende: libpango-1.0-0 (>= 1.14.0)
Depende: libpangocairo-1.0-0 (>= 1.14.0)
Depende: libtotem-plparser18 (>= 3.26.0)
Depende: libtotem0 (>= 3.34.1-2ubuntu2)
Depende: libtotem0 (<< 3.35)
Depende: libx11-6
Depende: grilo-plugins-0.3-base
Depende: totem-common (>= 3.34.1-2ubuntu2)
Depende: gsettings-desktop-schemas
Depende: gstreamer1.0-clutter-3.0
Depende: gstreamer1.0-plugins-base (>= 1.6.0)
Depende: gstreamer1.0-plugins-good (>= 1.10)
Depende: gstreamer1.0-x
Recomenda: gstreamer1.0-pulseaudio
Recomenda: totem-plugins
Sugere: gstreamer1.0-plugins-bad
Sugere: gstreamer1.0-libav
Sugere: gstreamer1.0-plugins-ugly
Sugere:
sessioninstaller

No caso ele desinstalaria tudo isso? O gnome-codec-install é um desses pacotes que podem quebrar o sistema? Essas libs são codecs de vídeo né?

1 Curtida

Não, esses são os pacotes que o Totem depende, e não o contrário. Eles não vão quebrar e provavelmente também não serão desinstalados, a não ser que não sejam mais necessários para nenhum outro pacote instalado.
De acordo com a mensagem, nada irá quebrar se você desinstalar o Totem.

1 Curtida

Agora olha o que apareceu quando rodei $ sudo apt remove totem

udo apt remove totem
Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
Os seguintes pacotes foram instalados automaticamente e já não são necessários:
gir1.2-totem-1.0 gir1.2-totemplparser-1.0 libtotem0 totem-common
Utilize ‘sudo apt autoremove’ para os remover.
Os pacotes a seguir serão REMOVIDOS:
pop-desktop totem totem-plugins
AVISO: Os pacotes essenciais a seguir serão removidos.
Isso NÃO deveria ser feito a menos que você saiba exatamente o que você está fazendo!
pop-desktop totem (por causa de pop-desktop)
0 pacotes atualizados, 0 pacotes novos instalados, 3 a serem removidos e 41 não atualizados.
Depois desta operação, 986 kB de espaço em disco serão liberados.
Você está prestes a fazer algo potencialmente destrutivo.
Para continuar digite a frase ‘Sim, faça o que eu digo!’
?]

Parece que ele afeta não o GNOME em si, mas esse pop-desktop totem.

Hmmm! Sim, não faça isso então.
Esse pacote é basicamente um pacote vazio que declara um monte de dependências a fim de montar o sistema:

Eu odeio esses pacotes, justamente por isso. Na teoria o Totem não afeta nada e nada depende dele, mas como existe esse pacote “pop-desktop” ele não pode ser removido. E como o Totem está na lista de dependências, e não a de recomendações, a solução descrita pelo Natanael também não vai ajudar.
:frowning:

1 Curtida

Então terei que seguir a dica do @Pio, esconder o ícone e esquecer que o programa existe kkkkkkkk Muito obrigado em todo caso, isso me ajudou a entender mais sobre algumas questões.

1 Curtida

Caracas, até o kernel vai sr removido:

O pessoal do pop os não fez o sistema pra ser granular…

2 Curtidas

Tenso, amarraram tudo.
Mas isso é uma decisão da distro ao criar o metapacote, uma pena pois você pode remover “quase” tudo do GNOME, a não ser que o pacote seja compilado como dependẽncia de um pacote essencial.
Como eu falei em outro tópico o pop-shell amarrou um monte de coisas, e sempre volta em uma atualização.

2 Curtidas

Só a título de informação, eu tenho o Pop!_OS em uma VM de testes, exatamente para caso dê alguma M, fica por lá mesmo. Como exemplo do que está tentando fazer, eu tentei remover o app Meteorologia e na remoção ele informa da remoção do pop-desktop.

O interessante disso fica por conta do próprio sistema no reboot seguinte, ter informado de atualizações pendentes, reinstalado o pop-desktop (após atualizar) e como consequência, o app Meteorologia. Corrobora com o que o colega @Xterminator cita acima.

2 Curtidas

Falando pelo Fedora, tu pode remover todos apps do menu, menos o settings:

2 Curtidas