J'ai joué avec es ces derniers jours, et il (comme rc) a la particularité / qu'il n'exécute son script de démarrage ( .esrc
) qu'à la connexion. La façon habituelle d'exécuter du code dans chaque session interactive est de mettre ce code dans la %prompt
fonction.
Bien sûr, il n'y a pas de %prompt
fonction si elle es -l
n'a jamais été exécutée.
Donc, la question: comment définir l'environnement de connexion lorsque vous entrez via gdm ou similaire, qui ne source que .profile (ou .xprofile, .xsession, etc.)? Le meilleur que j'ai trouvé est:
if [ -f "$HOME/.esrc" ]; then
eval "`es -l <<-x
sh <<<'export -p'
x`"
fi
Ce qui semble ... horrible. De meilleures approches?
es
est mon shell de connexion. Désolé si je n'ai pas précisé cela. Mais les shells de connexion ne sont pas exécutés dans les sessions X avant le lancement des terminaux, du moins pour autant que je sache.
bash
pas es
. Mais lorsque j'ouvre une nouvelle fenêtre de terminal, elle fonctionne bash
comme un shell de connexion.
es
n'est pas votre shell de connexion. Qu'en est- il misealias es='es -l'
en.bashrc
?