Como remover entradas duplicadas no diálogo 'Abrir com' Nautilus?

13

Seria bom mostrar o botão mágico que me ajudará a remover essa monstruosidade:

É o Nautilus 2.30 no Debian (e já existe nas versões anteriores, tanto quanto me lembro).

    
por Tshepang 15.12.2010 / 05:25

6 respostas

9

Esta lista é criada analisando os arquivos .desktop localizados em:

/usr/share/applications
~/.local/share/applications

Pode haver mais de um usecase por aplicativo, por exemplo, o media player banshee que tem três arquivos .desktop por padrão:

$ ls -1 /usr/share/applications/banshee*
/usr/share/applications/banshee-1-audiocd.desktop
/usr/share/applications/banshee-1.desktop
/usr/share/applications/banshee-1-media-player.desktop

A única diferença entre esses arquivos é o parâmetro inicial e a lista MimeType.

  • banshee-1.desktop : arquivos de mídia gerais
  • banshee-1-audiocd.desktop : CD de áudio
  • banshee-1-media-player.desktop Reprodutor de áudio (também usado por rhythmbox , vlc e outros)

Portanto, temos três 'Banshee Media Player' na lista 'Abrir com' (e talvez também no 'Menu principal').

A outra maneira de preencher esse espaço é criando arquivos .desktop pessoais em ~/.local/share/applications . Manualmente ou usando uma ferramenta. alacarte (ou clique com o botão direito do mouse em "Menu principal" - > "Menu Editar") é um desses.

Toda vez que você cria ou move um aplicativo dentro de alacarte , um novo arquivo .desktop é colocado dentro de ~/.local/share/applications . Desabilitar um aplicativo irá "removê-lo" do "Menu Principal", mas não da lista "Abrir com". Mas o botão 'Excluir' cria uma cópia idêntica de /usr/share/applications em ~/.local/share/applications e a adição de Hidden=true ao arquivo .desktop, "sobrescrevendo" os valores herdados do sistema.

A exclusão de duas dessas entradas de alacarte resulta em:

$ ls -1 ~/.local/share/applications/banshee*
/home/user/.local/share/applications/banshee-1-audiocd.desktop
/home/user/.local/share/applications/banshee-1-media-player.desktop

A remoção de qualquer entrada de ~/.local/share/applications será revertida para o estado preexistente (três banshee itens).

Se você realmente não tiver duplicatas nessas duas pastas, tente remover quaisquer duplicatas de alacarte ou reproduzindo a opção Hidden=true nos arquivos .desktop correspondentes.

    
por 30.01.2011 / 17:41
7

Se você procurar em ~/.local/share/applications e /usr/share/applications , poderá remover duplicatas desses dois locais. Isso fez isso por mim.

    
por 15.12.2010 / 05:54
1

Eu sei que esse segmento é antigo, mas isso é causado pelo vinho para muitos.

rm ~/.local/share/applications/wine-extension*

limpou essa bagunça para mim.

    
por 30.12.2011 / 23:20
1

Reconhecendo que esse segmento é antigo, fiquei perplexo com esse problema. Eu pessoalmente senti apagar os arquivos ou jogar "limpeza" era desnecessário, como estava apenas aprimorando as coisas para o usuário atual. Se houver mais de um arquivo .desktop, cada um pode ter uma descrição única? No que diz respeito ao Linux, alguns desenvolvedores de aplicativos realmente negligenciaram coisas simples como essa?

Encontrei se você abrir os arquivos .desktop em um editor de texto, o campo Nome é exibido no menu "Abrir com". Então, para mim, procurei os arquivos .desktop que eu sabia que estavam criando o problema (por exemplo, os três arquivos do Banshee). Olhando para cada um deles, a diferença quase sempre tinha a ver com quais míetipos o atalho está manipulando. Isso ocorre porque alguns programas preferem passar parâmetros diferentes dependendo do tipo MIME. Apenas em uma instância eu encontrei entradas duplicadas o resultado de uma atualização de aplicativo que não está limpando seu antigo arquivo .desktop

Armado com essa descoberta, alterei os campos Nome das entradas duplicadas conhecidas para refletir isso. Por exemplo, editando o arquivo .desktop Banshee tem especificamente para lidar com Audio CD's , eu fiz o nome lido como tal:

Banshee (Audio CD)

O Rhythmbox também é um bom exemplo, pois tem um arquivo .desktop separado para lidar com CD's + MP3 players , mas cada um mostra o mesmo. Meu palpite é que o arquivo 1 carrega o aplicativo e coloca o foco na unidade, e não na sua biblioteca. Vale a pena renomear, pois você não gostaria que isso acontecesse ao manipular seus arquivos MP3 / OGG.

Enfim, acho que isso faz com que o menu Abrir com pareça limpo sem excluir apenas os arquivos que parecem ser úteis. Se essas alterações persistirem ou não entre as atualizações do aplicativo, ainda será visto ... mas elas são edições simples e rápidas que podem até mesmo ser executadas por script. A casca ajuda tremendamente nesse caso. Por exemplo, para ver todos os nomes de arquivos (com caminho) com essas entradas duplicadas:

grep -rl "^Name=Banshee$" /usr/share/applications

Onde "Banshee" é, claro, o que aparece mais de uma vez no menu Abrir com. No exemplo acima, o aplicativo foi chamado Geany.

Com isso, você pode enviar os arquivos resultantes diretamente para o seu editor. Se você não for um especialista em expressões reg, o ^ e $ especificam o início da linha e o fim da linha, respectivamente. Isso evita que o sistema encontre linhas como XGnome-FullName=Banshee Media Player . Ele também impede que ele encontre entradas que você já tenha consertado.

    
por 02.05.2012 / 15:58
0

Meio que um tiro no escuro, mas você já tentou clicar em uma das entradas e clicar no botão Remover como visto na captura de tela? Se isso remover todas as entradas, você poderá adicioná-las novamente.

    
por 04.01.2011 / 22:34
0

Você também pode procurar no editor de menu "Aplicativos" do Gnome e remover duplicatas daqui.

    
por 15.12.2010 / 12:45

Tags