Ho giocato con es negli ultimi due giorni e (come rc) ha la stranezza / funzionalità che esegue solo il suo script di avvio ( .esrc) al login. Il solito modo per eseguire il codice in ogni sessione interattiva è di inserire quel codice nella %promptfunzione.
Naturalmente, non c'è alcuna %promptfunzione se es -lnon è mai stato eseguito.
Quindi, la domanda: come si imposta l'ambiente di accesso quando si accede tramite gdm o simili, che solo fonte .profile (o .xprofile, .xsession, ecc.)? Il migliore che ho trovato è:
if [ -f "$HOME/.esrc" ]; then
eval "`es -l <<-x
sh <<<'export -p'
x`"
fi
Il che sembra ... terrificante. Qualche approccio migliore?
esè la mia shell di accesso. Scusa se non l'ho chiarito. Ma le shell di login non vengono eseguite nelle sessioni X prima dell'avvio dei terminali, almeno per quanto ne so.
bashno es. Ma quando apro una nuova finestra del terminale, viene eseguita bashcome shell di accesso.
esnon è la tua shell di accesso. Che dire di impostazionealias es='es -l'in.bashrc?