A documentação on-board do GNOME cobre apenas as coisas que qualquer um pode adivinhar facilmente. Eu tenho um aplicativo para o qual só posso iniciar a partir da linha de comando. Não que eu me importe em usar um terminal, mas ...
De qualquer forma, como adiciono o comando (e de preferência um bom logotipo) ao GNOME WM?
Respostas:
No GNOME e em outros ambientes de área de trabalho compatíveis com freedesktop.org , como KDE e Unity , os aplicativos são adicionados aos menus ou shell da área de trabalho por meio de entradas da área de trabalho , definidas em arquivos de texto com a
.desktop
extensão (referidos como arquivos da área de trabalho ). Os ambientes da área de trabalho constroem menus para um usuário a partir das informações combinadas extraídas das entradas disponíveis na área de trabalho.Os arquivos da área de trabalho podem ser criados em um dos dois locais:
/usr/share/applications/
para entradas da área de trabalho disponíveis para todos os usuários no sistema~/.local/share/applications/
para entradas da área de trabalho disponíveis para um único usuárioPode ser necessário reiniciar o GNOME para que os novos aplicativos adicionados funcionem.
Por convenção, os arquivos da área de trabalho não devem incluir espaços ou caracteres internacionais em seus nomes.
Cada arquivo da área de trabalho é dividido em grupos , cada um começando com o cabeçalho do grupo entre colchetes (
[]
). Cada seção contém um número de pares de chave e valor , separados por um sinal de igual (=
).Abaixo está um exemplo de arquivo da área de trabalho:
Explicação
[Desktop Entry]
oDesktop Entry
cabeçalho do grupo identifica o arquivo como uma entrada na área de trabalhoType
o tipo de entrada, os valores válidos sãoApplication
,Link
eDirectory
Encoding
a codificação de caracteres do arquivo da área de trabalhoName
o nome do aplicativo visível em menus ou lançadoresComment
uma descrição do aplicativo usado nas dicas de ferramentasIcon
o ícone mostrado para o aplicativo em menus ou lançadoresExec
o comando usado para iniciar o aplicativo a partir de um shell.Terminal
se o aplicativo deve ser executado em um terminal, valores válidos sãotrue
oufalse
Categories
;
lista separada por ponto e vírgula ( ) de categorias de menu nas quais a entrada deve ser exibidaOs argumentos da linha de comando na
Exec
chave podem ser significados com as seguintes variáveis:%f
um único nome de arquivo.%F
vários nomes de arquivos.%u
um único URL.%U
vários URLs.%d
um único diretório. Usado em conjunto com%f
para localizar um arquivo.%D
vários diretórios. Usado em conjunto com%F
para localizar arquivos.%n
um único nome de arquivo sem um caminho.%N
vários nomes de arquivos sem caminhos.%k
um URI ou nome de arquivo local do local do arquivo da área de trabalho.%v
o nome da entrada do dispositivo.Observe que
~
ou variáveis de ambiente como$HOME
não são expandidas nos arquivos da área de trabalho, portanto, qualquer executável referenciado deve estar no$PATH
ou referenciado por seu caminho absoluto.Uma especificação completa de entrada da área de trabalho está disponível no GNOME Dev Center .
Scripts de lançamento
Se o aplicativo a ser iniciado exigir que determinadas etapas sejam executadas antes da chamada, você poderá criar um script de shell que inicie o aplicativo e aponte a entrada da área de trabalho para o script de shell. Suponha que um aplicativo precise ser executado a partir de um determinado diretório de trabalho atual. Crie um script de inicialização em um local adequado (
~/bin/
por exemplo). O script pode se parecer com o seguinte:Defina o bit executável para o script:
Aponte a
Exec
chave na entrada da área de trabalho para o script de inicialização:fonte
<path>/.FTL
apontaria para um arquivo oculto chamado.FTL
, que não é o mesmo que./FTL
, que aponta para um arquivo chamadoFTL
no diretório atual. Você pode tentar iniciarFTL
via/full/path/path/to/FTL
em um terminal para ver se obtém alguma saída de erro significativa. Por exemplo, se o executável procurar bibliotecas no diretório de trabalho atual, talvez seja necessário executar um script do iniciador que faça algo ao longo das linhaspushd <path>; ./FTL; popd
e aponte oExec
especificador no arquivo da área de trabalho para o script do iniciador.Muito boa resposta de Thomas Nyman.
O Gnome vem com a ferramenta GUI,
gnome-desktop-item-edit
auxiliando na criação de arquivos * .desktop. Precisamos usá-lo na linha de comando ou criar um arquivo da área de trabalho para ele.Instruções para fazer a aplicação Gnome de
gnome-desktop-item-edit
Abra as janelas do terminal e digite o seguinte comando:
gnome-desktop-item-edit --crie-novo / home / [seu nome de usuário] /. local / share / applications
Na janela aberta, preencha o seguinte:
Name: Gnome Applicaiton
Command: gnome-desktop-item-edit --create-new /home/[your user name]/.local/share/applications
Clique no ícone para selecionar um ícone diferente.
Clique em OK para fechar as janelas
Feche a janela do terminal
Testando recém-gerado
Gnome Application
Gnome Application
inseridos antesfonte
As respostas anteriores de Thomas Nyman e Dudi Boy são muito boas e detalhadas. Estou postando isso porque não encontrei uma resposta para a minha dúvida em outros posts e tive que pesquisar em problemas do git.
Depois de seguir os passos, como Thomas Nyman sugeriu, consegui fazer com que o ícone do meu programa fosse exibido no menu App. O problema aqui é que eu uso o Dash to Dock como barra lateral e não pude fixar o ícone como favorito, como outros ícones. Após a pesquisa, descobri que você precisa adicionar a linha
StartupWMClass=ApplicationName
no.desktop
arquivo. Depois disso, a opção para adicionar aos favoritos aparecerá clicando com o botão direito do mouse no ícone no Dash to Dock.fonte