Як створити середовище для es?


10

Я грав з es останніми днями, і він (як rc) має химерність / особливість, що він лише запускає свій сценарій запуску ( .esrc) під час входу. Звичайний спосіб запуску коду в кожному інтерактивному сеансі - це включити цей код у %promptфункцію.

Звичайно, немає %promptфункції, якщо es -lїї ніколи не виконували.

Отже, питання: як встановити середовище входу при вході через gdm або подібне, яке є лише джерелом .profile (або .xprofile, .xsession тощо)? Я найкраще придумав:

if [ -f "$HOME/.esrc" ]; then
    eval "`es -l <<-x
        sh <<<'export -p'
    x`"
fi

Що здається ... жахливим. Будь-які кращі підходи?


Я вважаю, що esце не ваша оболонка для входу. Як щодо установки alias es='es -l'в .bashrc?
cjm

es- це моя оболонка для входу. Вибачте, якщо я цього не прояснив. Але оболонки входу не запускаються в X сеансах до запуску терміналів, принаймні, наскільки я знаю.
james.haggerty

Я використовую bash, ні es. Але коли я відкриваю нове вікно терміналу, воно працює bashяк оболонка входу.
cjm

Принаймні, для більшості терміналів X, це параметр, який вимкнено за замовчуванням (як і слід, IMO). Так, так, це вирішення, але немає причин, щоб цей матеріал був запущений кілька разів, коли його можна було запустити один раз.
james.haggerty

Хм, не впевнений, що я згоден з вашою редакцією, Жиль. Як ви думаєте, чому це стосується лише es? (а не * csh чи rc чи ...?) І навіщо видаляти gdm та lightdm, оскільки вони керують середовищем?
james.haggerty

Відповіді:


1

Оскільки ніхто не має реальної відповіді, ось мій жахливий злом. Деякі оболонки (наприклад, * rxvt) мають налаштування, які дозволяють форсувати оболонку входу. Отже, у своєму .Xdefaults, ви можете додати щось подібне

urxvt256c-ml:loginShell: true

Це означає, що всі urxvt256c-mlзапущені термінали матимуть за замовчуванням оболонку входу.

Чи допомагає це взагалі?


Ну, будучи дратівливою людиною (див. Коментарі вище?), Я скажу, що я вже про це знав. Це підкидання, чи кращий варіант цей чи мій тривожний код; одному не вистачає концептуальної елегантності (я стверджую, що я входжу для кожного терміналу, коли я створюю 100s за один реальний логін?), іншому бракує елегантності в реалізації (але я відчуваю, що середовище повинно бути налаштоване на вході).
james.haggerty

Ах, я бачу, що ти маєш на увазі зараз. Особисто я вважаю, що термінал є одиницею входу, а не середовищем X11, тому для мене є сенс тричі входити, якщо у мене відкриті три термінали. Я залишу відповідь тут на випадок, якщо це корисно для інших - давайте подивимось, скільки приваблює голосів. ^ _ ~
Сардатріон - проти зловживання SE
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.