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 .
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
.
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 .