Saya telah bermain dengan es beberapa hari terakhir, dan itu (seperti rc) memiliki quirk / fitur yang hanya menjalankan skrip startupnya ( .esrc) saat login. Cara biasa untuk menjalankan kode di setiap sesi interaktif adalah dengan meletakkan kode itu dalam %promptfungsi.
Tentu saja, tidak ada %promptfungsi jika es -lbelum pernah dijalankan.
Jadi, pertanyaannya: bagaimana Anda mengatur lingkungan login ketika Anda masuk melalui gdm atau sejenisnya, yang hanya sumber .profile (atau .xprofile, .xsession, dll.)? Yang terbaik yang saya hasilkan adalah:
if [ -f "$HOME/.esrc" ]; then
eval "`es -l <<-x
sh <<<'export -p'
x`"
fi
Yang sepertinya ... mengerikan. Adakah pendekatan yang lebih baik?
esadalah shell login saya. Maaf jika saya tidak menjelaskannya. Tapi shell login tidak berjalan dalam sesi X sebelum terminal diluncurkan, setidaknya sejauh yang saya tahu.
bash, bukan es. Tetapi ketika saya membuka jendela terminal baru, itu berjalan bashsebagai shell login.
esbukan shell login Anda. Bagaimana pengaturanalias es='es -l'di.bashrc?