Eu tenho jogado com es nos últimos dois dias, e ele (como rc) tem a peculiaridade / recurso de executar apenas o script de inicialização ( .esrc
) no login. A maneira usual de executar código em cada sessão interativa é colocar esse código na %prompt
função
Obviamente, não há %prompt
função se es -l
nunca foi executada.
Então, a pergunta: como você define o ambiente de login quando entra através do gdm ou similar, que apenas origina .profile (ou .xprofile, .xsession etc.)? O melhor que eu criei é:
if [ -f "$HOME/.esrc" ]; then
eval "`es -l <<-x
sh <<<'export -p'
x`"
fi
O que parece ... horrível. Alguma abordagem melhor?
es
é o meu shell de login. Desculpe se eu não deixei isso claro. Mas os shells de login não são executados nas sessões X antes do lançamento dos terminais, pelo menos até onde eu saiba.
bash
, não es
. Mas quando abro uma nova janela de terminal, ela é executada bash
como um shell de login.
es
não é o seu shell de login. Que tal definiçãoalias es='es -l'
em.bashrc
?