Como depurar um arquivo .desktop?


10

Eu tenho um .desktoparquivo para iniciar um programa python em um ambiente conda específico, como este:

[Desktop Entry]
Version=1.0
Name=Qutebrowser
GenericName=Web Browser
Comment=View and edit files
MimeType=text/html;
Exec=bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"
Icon=/vol/home/kaipingga/.config/qutebrowser.svg
Type=Application
Terminal=false
Categories=Network;Utility;X-Python;
StartupWMClass=Qutebrowser
X-Desktop-File-Install-Version=0.20

Isso costumava funcionar, mas ajustei recentemente meu ambiente python.

Agora, em um terminal, o mesmo comando

$ bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser"

executa o aplicativo, mas o .desktoparquivo não. Como descubro devido a qual erro é esse?

Meus outros .desktoparquivos funcionam bem, presumo que algo dê errado com meu ambiente Python, que é bastante hackiano no momento (que é o principal motivo para executar isso em um condaambiente dedicado , para começar).

Zachary Brady sugeriu originalmente (mas há problemas ) que xdg-openpodem executar .desktoparquivos, mas isso me dá uma caixa de mensagem dizendo

Erro

Falha ao adicionar um plug-in ao painel

Nenhuma instância em execução do xfce4-panel foi encontrada

por isso .desktope por outro que de outra forma funciona. (Estou executando o Ubuntu simples, sem xfce).


Eu apaguei a minha resposta depois de ler mais nele xdg-openfoi grampeado por um bom tempo e só abre os ícones da área em editores de texto ...
Zachary Brady

Acontece que o problema foi não substituído ~(aparecendo como “ ~”, não como “ /home/anaphory”) no caminho do Python, que descobri adicionando env > check;no meio do comando. Mas tenho certeza de que existe uma maneira melhor de depurar isso!
Anaphory 27/10/16

Respostas:


3

Você também pode usar a ferramenta de validação desktop-file-validate para encontrar mais problemas.

(consulte também: Como validar / verificar arquivos .desktop? )

# Result for your example
$ desktop-file-validate qutebrowser.desktop 
test.desktop: hint: value "Network;Utility;X-Python;" for key "Categories"
in group "Desktop Entry" contains more than one main category; application
might appear more than once in the application menu

1

No Linux Mint, o serviço Gerenciador de Arquivos é nomeado nemo, nemo pode ser encerrado emitindo:

nemo -q

Com o seu gerenciador de arquivos parado, você pode abri-lo em um terminal

nemo

Agora ele imprimirá seu log neste terminal. Quando você abrir o arquivo * .desktop, poderá ver o stdout da linha Exec do * .desktop.


Ah, e quando você terminar a depuração, pressione Ctrl + C no terminal que está executando o nemo e abra-o no menu Iniciar ou registre novamente a sessão da área de trabalho.
ThorSummoner

0

Normalmente, adiciono o seguinte para ver o que está sendo executado:

Terminal=true
TerminalOptions=\s--noclose

0

xdg-opene exo-opensão usados ​​para abrir arquivos (em seus respectivos programas associados). Eles nunca foram feitos para executar nada por conta própria. Para executar o comando definido por uma área de trabalho, você pode usar dex .

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.