Posso alterar o shell usado para executar aplicativos GUI de um Desktop Manager?

2

Um pouco de fundo

Sou um desenvolvedor e instalo a maioria das minhas ferramentas na minha pasta pessoal. Portanto, o arquivo rc do meu shell está cheio de JAVA_HOME , GROOVY_HOME , MAVEN_HOME , ... variáveis. Para expor todas essas variáveis de ambiente para meus aplicativos de GUI (pense em meu IDE), eu costumava escrever um script de shell definindo primeiro essas variáveis novamente e, em seguida, executando o aplicativo; e finalmente adicionando um lançador no meu menu de aplicativos para executar esse script.

Um dia, percebi que podia apenas executar meu aplicativo por meio do shell. Como todas as variáveis definidas nos arquivos rc do shell seriam definidas no ambiente do aplicativo. Então, a entrada no meu menu de aplicativos se tornou algo como /usr/bin/my-shell ~/my-ide/bin/start.sh

Agora a questão

Posso instruir meu DM a sempre usar meu shell para executar todos os meus aplicativos?

Notas laterais

Eu uso ZSH e Gnome , mas uma solução mais genérica seria apreciada.

Eu já defini meu shell padrão para ZSH , mas o Gnome não parece ser uma boa razão para usar esse shell para tudo.

    
por logic.town 02.12.2012 / 13:34

2 respostas

1

Algumas sugestões:

  1. Mantenha as variáveis em um arquivo que não faça nada além de definir variáveis, para que você possa facilmente obtê-lo com . my-dev-vars.sh .

  2. Digite esse arquivo uma vez no seu shell de login, ( .profile , .bash_profile , consulte Wikipédia para uma boa lista de arquivos de configuração para shells de login). Isso garante que você obtenha as variáveis de direitos quando fizer login remotamente.

  3. Também crie o arquivo em ~/.xinitrc ou ~/.xsession (algumas distribuições têm outras variantes, consulte X11 docs); Isso garante que a sessão X11 da sua área de trabalho também tenha vars.

O objetivo deve ser defini-los uma vez, fornecê-los uma vez para qualquer grupo de processos. Então eles realmente são variáveis de "ambiente" e funcionam como planejados.

Isso também tem a vantagem sobre sua solução atual de que não está gerando shells extras desnecessariamente.

    
por 02.12.2012 / 17:24
0

Sim,

Modifique o comando xdg-open ou exo-open no xfce4 (que é um programa binário)

É assim que o DE abre um arquivo ou programa.

Mas você deve modificar o / etc / {zshrc, profile} como se quisesse essas configurações globais.

    
por 02.12.2012 / 13:53