Como posso remover entradas do menu iniciar órfãs?

11

Por alguma razão, eu tenho um monte de entradas do menu Iniciar de aplicativos (por exemplo, Gnome Do, Synapse, Leafpad.) e queria saber se há uma maneira de remover todas as entradas órfãs para aplicativos que não estão mais instalados?

    
por Alan 07.05.2011 / 03:11

4 respostas

29

Você pode usar o seguinte comando para listar ícones de aplicativos vinculados a programas inexistentes:

for i in {/usr,~/.local}/share/applications/*.desktop; do which $(grep -Poh '(?<=Exec=).*?( |$)' $i) > /dev/null || echo $i; done

Suspeito que você descobrirá que a maioria dos seus ícones são personalizados em sua pasta pessoal, já que eles não são limpos automaticamente pelo gerenciador de pacotes. Se este for o caso e você gostaria de lixo todos de uma vez, você pode usar uma modificação do comando anterior:

for i in ~/.local/share/applications/*.desktop; do which $(grep -Poh '(?<=Exec=).*?( |$)' $i) > /dev/null || trash $i; done

Ou, é claro, navegue até ~/.local/share/applications/ no Nautilus e descarte-os pela interface gráfica.

    
por ændrük 21.05.2011 / 18:24
3

Se por menu inicial você quer dizer o menu 'Aplicativos', você pode editá-lo indo para: Sistema - > Preferências - > Menu Principal.

Você pode adicionar, reorganizar, editar e excluir entradas à vontade.

    
por Eugenio Perea 07.05.2011 / 04:52
3

Quando um aplicativo é desinstalado, ele deve remover os itens de menu instalados. E funciona assim na minha máquina.

Se funcionar de forma diferente, é um erro de um pacote específico ou um problema no seu sistema. Não posso acreditar que você tenha mais de 40 entradas órfãs. Seria o sintoma de um problema.

    
por enzotib 21.05.2011 / 17:39
2

Bem, esse é difícil, mas eu quero, pelo menos, dizer qual é o problema.

O Gnome armazena os aplicativos instalados em / usr / share / applications com arquivos terminados em .desktop (assim, o programa vlc é ativado pelo vlc.desktop)

Dentro de cada um, há uma seção "Categoria" na qual você pode definir em qual parte do menu Aplicativos que você quer que seja. A única coisa é: a única maneira que eu acho que pode ser feito o que você está pedindo é usar um script bash que pergunte se o pacote relacionado a esse .desktop está instalado ou não. se não for, exclua esse arquivo .desktop. Quando você exclui o arquivo, ele fica fora do menu e quando o aplicativo está em uma categoria, esse não é exibido.

Esse é um pouco fora do meu escopo porque cada comando (dpkg, apt-get, etc ..) sempre retorna uma boa saída quando eles dizem que o pacote não está instalado, então nós temos que ler a saída desse arquivo. app procurando por um String (fi "not installed"), verifique-o, e se o String existir, significa que o aplicativo não está instalado e o .desktop pode ser excluído.

Então, se você quiser, basta entrar na pasta (/ usr / share / applications) e clicar nos arquivos que correspondem aos programas. Eles desaparecerão do menu Aplicativos. Para fazer isso automaticamente, acho que precisamos de um bom script na faixa que eu disse.

Espero que isso ajude de alguma forma.

    
por David Rando 21.05.2011 / 17:25

Tags