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 %prompt
funzione.
Naturalmente, non c'è alcuna %prompt
funzione se es -l
non è 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.
bash
no es
. Ma quando apro una nuova finestra del terminale, viene eseguita bash
come shell di accesso.
es
non è la tua shell di accesso. Che dire di impostazionealias es='es -l'
in.bashrc
?