É possível definir minha variável PATH em uma entrada de desktop?

1

Eu criei um diretório bin em $HOME com scripts de shell que são configurados para carregar um perfil do Firefox; Desta forma, posso usar um comando simples como, por exemplo, facebook para abrir um perfil do Firefox reservado para minha conta do Facebook.

Estou tendo problemas para conseguir que as entradas da área de trabalho funcionem com essa configuração. Eu tenho uma entrada na área de trabalho em $HOME/.local/share/applications com a seguinte Exec line:

Exec=env PATH=${PATH}:${HOME}/bin facebook

Nada acontece quando eu seleciono este lançador. Se eu clicar nele no próprio diretório, me perguntam, como em qualquer outra entrada da área de trabalho, se desejo lançá-lo apesar da falta de permissões executáveis. (Eu já confirmei que isso funciona como esperado com várias outras entradas na área de trabalho, onde os aplicativos são lançados com êxito quando eu seleciono "Launch Anyway".) Se eu acessá-lo de qualquer um dos menus disponíveis com o meu DE (Menu Whisker do Xfce e Menu Aplicações tradicionais, se isso ajuda a saber), mais uma vez nada acontece. Confirmei que o script de shell em bin é executável e posso iniciar o perfil do Firefox com êxito clicando no ícone de script no Thunar ou abrindo-o no terminal. Também tenho várias entradas de área de trabalho nas quais defino outras variáveis de ambiente, como HOME , como acima, e elas são ativadas sem problemas, não importa como eu as acesse.

Eu percebo que existem milhões de outras maneiras de fazer isso; Eu poderia apenas dar o caminho completo para o script no arquivo .desktop, eu poderia criar um lançador do Firefox com os comutadores CL apropriados na linha Exec , eu poderia adicionar ${HOME}/bin à minha variável PATH em / etc / perfil, etc. (Observe que adicionar ${HOME}/bin a PATH de .bashrc não parece corrigir isso, mesmo quando é definido no login e não apenas originado no meio da sessão.) Estou principalmente curioso para saber se isso pode funcionar, especialmente pela adição de parcimônia que ele fornece para escrever entradas na área de trabalho e porque não quero ter que expandir meu caminho para fora de instâncias isoladas como essa, se puder ajudar.

Caso isso faça alguma diferença, aqui está o script de shell completo no meu bin dir também:

#!/bin/sh
firefox -no-remote -P Facebook
exit 0

EDIT: Apesar dos inúmeros avisos sobre erros de sintaxe (já que o bash parece estar tentando executá-lo como um script shell), esta entrada na área de trabalho também é executada corretamente quando u + x é definido. Isso é bobagem, e eu definitivamente não quero ter um arquivo .desktop executável em ~/.local/share/applications .

    
por Marĉjo 19.06.2014 / 19:21

1 resposta

0

Eu não acho que os arquivos da área de trabalho resolverão as variáveis, mas você poderia tentar um truque que eu vi em outro lugar de usar Exec=sh -c "PATH=$HOME/bin:$PATH facebook" e ver se isso funciona.

Encontrado no link .

    
por 30.06.2017 / 01:23