Como posso tornar meu aplicativo .desktop global?

Como posso tornar meu aplicativo .desktop global?

Eu tenho um .desktopaplicativo que executa um script de shell, esse script de shell executa um código python quando o aplicativo é clicado duas vezes e quero poder iniciá-lo de todos os diretórios do meu laptop e manter o ícone estável, mesmo que o diretórios da imagem ou ícone ou aplicativo foram alterados!

Como posso tornar meu aplicativo global?

Responder1

Como fica evidente na resposta sugerida por Zany_Zachary, os inicializadores /usr/share/applicationsestão disponíveis para todos os usuários. Os iniciadores abaixo ~/.local/share/applicationsestão disponíveis apenas para o usuário atual. Quando o inicializador estiver nesses locais, ele será selecionado pelo menu da área de trabalho ou pelo inicializador. O local /usr/share/applicationsé um diretório usado pelo sistema de gerenciamento de software APT do sistema operacional, portanto, embora funcione, você não deve colocar seus .desktoparquivos personalizados lá. Em vez disso, use a pasta/usr/local/share/applications. Essa pasta não existe por padrão no Ubuntu, então pode ser necessário criá-la primeiro.

É assim que o termo "global" do seu título é mais facilmente compreendido. Porém, na sua pergunta, você sugere que em "global" você entenda também algo como "portátil", ou seja, deve continuar funcionando mesmo que o ícone ou aplicativo mude de localização. Ainda assim, você deve obedecer às convenções do sistema operacional onde colocar seu ícone ou executável. Portanto, não existe um iniciador "global" .desktopque continue funcionando independentemente de onde você coloca o ícone ou o executável.

Existem limites nesta “portabilidade”. Por um lado, o nome do ícone ou do executável não pode ser alterado, porque o nome está codificado no .desktoparquivo. Porém, você pode omitir o caminho do .desktoparquivo, mas então terá que colocar o ícone e o executável em locais específicos pesquisados ​​​​pelo sistema operacional.

O ícone

O ícone é definido no .desktoparquivo da Icon=linha.

Se você fornecer apenas o nome do ícone (sem a extensão), osistema operacional irá procurar ~/.iconse ~/.local/share/iconsprimeiro e, em seguida, pesquise nos diretórios de ícones de todo o sistema, principalmente em /usr/share/iconse /usr/local/share/icons. Um arquivo gráfico com extensão .pngou .svgem uma dessas pastas será selecionado pelo sistema de menus. Se nenhum arquivo gráfico correspondente for encontrado, o sistema reverterá para um ícone substituto padrão.

A aplicação

O executável é definido no .desktoparquivo da Exec=linha.

Também aqui, o sistema procurará caminhos predefinidos para um executável com o nome correspondente se nenhum caminho completo do arquivo for fornecido. Você pode ver as pastas e a ordem em que são pesquisadas com o echo $PATHcomando.

Responder2

Saudações!

Para tornar seu arquivo .desktop global, simplesmente:

Coloque-o em/usr/share/applications

Para apenas uma conta, coloque-a em/home/$USER/.local/share/applications


Infelizmente, você não pode fazer com que o ícone permaneça o mesmo quando o arquivo de imagem é movido. Eu recomendo criar uma pasta com o ícone do seu aplicativo. Coloque esta pasta em /usr/share.

informação relacionada