Respostas:
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 banshee
que 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 geraisbanshee-1-audiocd.desktop
: CDs de áudiobanshee-1-media-player.desktop
Leitor 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/applications
em ~/.local/share/applications
e adicionando Hidden=true
ao arquivo .desktop, portanto, "substituir" os valores em todo o sistema herdado.
A exclusão de duas dessas entradas dos alacarte
resultados 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/applications
reverterá para o estado preexistente (três banshee
itens).
Se você realmente não possui duplicatas nessas duas pastas, tente remover as duplicatas alacarte
ou jogar com a Hidden=true
opção nos arquivos .desktop correspondentes.
Se você procurar ~/.local/share/applications
e /usr/share/applications
remover duplicatas desses dois lugares. Isso fez por mim.
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.
Você também pode procurar no editor de menu "Aplicativos" do Gnome e remover duplicatas daqui.
jhbuild.desktop
emimeapps.list
em ~ / .local / share / applications . E não há enganos em / usr / share / applications , e ainda estou enfrentando o problema.