Como posso encontrar arquivos * .desktop?

85

Que eu saiba, todos os atalhos no Unity Launcher têm um arquivo * .desktop correspondente. Eu tenho um atalho (para skrooge ) que não tem um ícone. Como posso encontrar o arquivo * .desktop correspondente a este atalho para que eu possa adicionar um ícone a ele?

KOVIKO
fonte

Respostas:

113

Provavelmente está parado, /usr/share/applications/mas se você quiser encontrar todos os .desktoparquivos no sistema, execute o seguinte:

find / -name '*.desktop'

ou

sudo updatedb
locate *.desktop

Para encontrar arquivos com "skrooge" em seu caminho ou nome, adicione um grep ao comando:

locate *.desktop | grep -iR "skrooge"
Oli
fonte
21
locate -i "*skrooge*.desktop". Embora haja principalmente três lugares em que a unidade procurará arquivos da área de trabalho. ~/.local/share/applications, /usr/local/share/applicationsE /usr/share/applications. Se houver arquivos da área de trabalho para o mesmo comando em vários locais, ele usará a maioria dos três que eu listei.
geirha
Apareceu como /usr/share/applications/kde4/skrooge.desktop. Obrigado. :)
KOVIKO
33

O sistema armazena os arquivos .desktop em /usr/share/applications/. Infelizmente, se você abrir essa pasta no nautilus, os arquivos .desktop aparecerão com o ícone especificado no arquivo e com o nome do arquivo chamado dentro do arquivo. Você também não poderá editar esses arquivos clicando neles e selecionando editar.

Para editar esses arquivos, você precisa abrir essa pasta dentro de uma janela do terminal. Executar um lscomando mostrará todos os arquivos .desktop com seus nomes reais. Quando você localizar o .desktop que deseja alterar, execute gksudo gedit {file-name}.desktop.

É prática normal manter todos os arquivos .desktop criados ou editados em sua pasta pessoal ~/.local/share/applications.

fragos
fonte
A execução do terminal pode ser mais útil para alguns, mas também é possível arrastar do nautilus para o gedit ou outro editor de texto.
Jon Hanna
qual é o sentido do diretório "~ / .local / share / applications"? Os arquivos não parecem ser usados, não posso adicioná-los como "atalhos" ao Unity.
Malachiasz
2
@Malachiasz Na verdade, os arquivos * .desktop ~/.local/share/applicationssão recarregados quando a sessão é reiniciada. Portanto, efetue logout e logon novamente. Observe que eles são específicos para esse usuário.
precisa saber é o seguinte
Eu também encontrei este Q & A aqui no site útil: Como forçar Unidade de recarga ~ / .local / share / applications /
hakre
8

Alguns detalhes adicionais para complementar as outras respostas:

Normalmente, os .desktoparquivos dos pacotes serão localizados /usr/share/applications.

Se desejar, você pode copiar um ~/.local/share/applicationse editá-lo lá sem precisar do sudo . Os produtos em ~/.local/share/applicationsvão substituir artigos de harmonização /usr/share/applicationse /usr/local/share/applications, mas só são visíveis para o usuário.

Como alternativa, você pode colocar uma cópia editada na /usr/local/share/applicationsqual ela substituirá a outra /usr/share/applicationsenquanto estiver visível para todo o sistema.

Observe que você não deve editar os .desktoparquivos /usr/share/applicationsdiretamente; quaisquer alterações que você fizer serão substituídas automaticamente quando o aplicativo for atualizado pelo gerenciador de pacotes.

Extraído daqui

Sopalajo de Arrierez
fonte
+1, resposta mais completa de todos eles
Jon Bentley