Como remover entradas duplicadas na caixa de diálogo 'Abrir com' Nautilus?


14

Seria bom ser mostrado o botão mágico que me ajudará a remover essa tristeza:

texto alternativo

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

Respostas:


9

Esta lista é criada através da análise de arquivos .desktop localizados em:

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

Pode haver mais de um caso de usuário por aplicativo, por exemplo, o media player bansheeque possui 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: CDs de áudio
  • banshee-1-media-player.desktopLeitor 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 ~/.local/share/applications. Manualmente ou usando uma ferramenta. alacarte(ou clique com o botão direito do mouse em 'Menu principal' -> 'Editar menu') é um deles.

Sempre que você cria ou move um aplicativo para dentro alacarte, um novo arquivo .desktop é colocado dentro ~/.local/share/applications. Desativar um aplicativo "o removerá" do 'Menu Principal', mas não da lista 'Abrir com'.
Mas o botão 'Excluir' faz, criando uma cópia idêntica de /usr/share/applicationsem ~/.local/share/applicationse adicionando Hidden=trueao arquivo .desktop, portanto, "substituir" os valores em todo o sistema herdado.

A exclusão de duas dessas entradas dos alacarteresultados 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 quaisquer entradas ~/.local/share/applicationsreverterá para o estado preexistente (três bansheeitens).

Se você realmente não possui duplicatas nessas duas pastas, tente remover as duplicatas alacarteou jogar com a Hidden=trueopção nos arquivos .desktop correspondentes.


7

Se você procurar ~/.local/share/applicationse /usr/share/applicationsremover duplicatas desses dois lugares. Isso fez por mim.


Observe que eu só tenho jhbuild.desktope mimeapps.listem ~ / .local / share / applications . E não há enganos em / usr / share / applications , e ainda estou enfrentando o problema.
tshepang

2

Eu sei que esta discussão é antiga, mas isso é causado pelo vinho para muitos.

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

limpou essa bagunça para mim.


1

Reconhecendo que este tópico é antigo, fiquei perplexo com esse problema. Pessoalmente, senti que a exclusão dos arquivos ou a execução de "limpeza" eram desnecessários, assim como o aprimoramento do usuário atual. Se houver mais de um arquivo .desktop, cada um deles não pode ter uma descrição exclusiva? No que diz respeito ao Linux, alguns desenvolvedores de aplicativos realmente ignoraram coisas simples como essa?

Descobri que se você abrir os arquivos .desktop em um editor de texto, o campo Nome é o que é exibido no menu "Abrir com". Então, para mim, procurei os arquivos .desktop que eu sabia que estavam criando o problema (por exemplo, os 3 arquivos Banshee). Olhando para cada um, a diferença quase sempre teve a ver com quais tipos de mimetismo o atalho está lidando. Isso ocorre porque alguns programas preferem passar parâmetros diferentes, dependendo do tipo de mimet. Somente em 1 instância eu encontrei entradas duplicadas o resultado de uma atualização de aplicativo que não limpa o arquivo .desktop antigo

Armado com essa descoberta, alterei os campos Nome das entradas duplicadas conhecidas para refletir isso. Por exemplo, ao editar o arquivo .desktop que o Banshee precisa especificamente para lidar com CDs de áudio , fiz o nome da seguinte forma:

Banshee (CD de áudio)

O Rhythmbox também é um bom exemplo, pois possui um arquivo .desktop separado especificamente para lidar com CD + MP3 players, mas cada um aparece da mesma forma. 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 manusear seus arquivos MP3 / OGG.

De qualquer forma, acho que isso faz com que o menu Abrir com pareça limpo sem excluir apenas os arquivos que parecem úteis. Ainda não se sabe se essas alterações persistem entre as atualizações de aplicativos ... mas são edições simples e rápidas que podem até ser roteirizadas. A concha 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" é o que aparece mais de uma vez no menu Abrir com. No exemplo fornecido na parte superior, o aplicativo foi chamado Geany.

Com isso, você pode enviar os arquivos resultantes diretamente para o seu editor. Se você não é especialista em expressões reg, ^ 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 também impede que encontre entradas que você já pode ter corrigido.


0

Como uma foto no escuro, mas você 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á apenas adicioná-lo novamente.


0

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


Você já viu duplicatas lá?
tshepang

Sim. Alguns aplicativos criam duplicatas que aparecem na caixa de diálogo "abrir com" como geany para você e eu posso removê-las daqui editando o menu Aplicativos do gnome (no qual elas estão presentes, mas ocultas, para que você não as veja apenas navegando no menu, apenas no editor).
gentledevil
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.