Grałem z es w ciągu ostatnich kilku dni i (jak rc) ma dziwactwo / funkcję, że uruchamia swój skrypt startowy ( .esrc
) po zalogowaniu. Zwykłym sposobem uruchamiania kodu w każdej sesji interaktywnej jest umieszczenie tego kodu w %prompt
funkcji.
Oczywiście nie ma żadnej %prompt
funkcji, jeśli es -l
nigdy nie została uruchomiona.
Więc pytanie: jak ustawić środowisko logowania, gdy wchodzisz przez gdm lub podobny, który tylko źródłowy .profile (lub .xprofile, .xsession itp.)? Najlepsze, co wymyśliłem, to:
if [ -f "$HOME/.esrc" ]; then
eval "`es -l <<-x
sh <<<'export -p'
x`"
fi
Co wydaje się ... przerażające. Jakieś lepsze podejścia?
es
jest moją powłoką logowania. Przepraszam, jeśli nie wyjaśniłem tego. Ale powłoki logowania nie są uruchamiane w sesjach X przed uruchomieniem terminali, przynajmniej o ile mi wiadomo.
bash
nie es
. Ale kiedy otwieram nowe okno terminala, działa ono bash
jako powłoka logowania.
es
to nie jest twoja powłoka logowania. Co o ustawieniealias es='es -l'
w.bashrc
?