Я использую Ubuntu 14.04. Я использовал chsh
установить мою оболочку по умолчанию на /usr/bin/zsh
.
Мой ~/.zprofile
определяет несколько переменных среды, например. export EDITOR=vim
. Все же после входа в систему и стартового Терминала GNOME, эти переменные не установлены. После выполнения zsh -l
, они:
% echo $EDITOR
% zsh -l
% echo $EDITOR
vim
%
Так, по-видимому, когда zsh
выполняется на входе в систему, он не знает, что это - оболочка входа в систему и поэтому не читает .zprofile
? Что дает?
Насколько я могу сказать, это работало до недавнего времени, затем внезапно это не было, поэтому возможно, обновление повредило что-то?
Так, по-видимому, когда zsh выполняется на входе в систему...
Вы работаете zsh
в Терминале GNOME, не на входе в систему. Сравните путем переключения на TTY (CtrlAltF1), и вход в систему.
это не знает, что это - оболочка входа в систему
Термин "вход в систему оболочки" перегружается:
passwd
запись. Основанные на консоли методы входа в систему обычно запускаются, эта оболочка (попробуйте TTYs, или sudo -l
, или su -
). "Оболочка входа в систему" с этим контекстом используется в обсуждении учетных записей пользователей.-l
когда выполнено вручную, или при помощи -
как первый символ аргумента 0 при косвенном запуске ( login
, sudo
, su
, и т.д.). Это значение используется при обсуждении вызова оболочек.Так, это не оболочка входа в систему (2), потому что мы обсуждаем, как это запускается (вызов).
.zprofile
читается оболочками входа в систему (2). Терминал GNOME не выполняет оболочку входа в систему (2) по умолчанию. Необходимо сказать, что это делает так:
Перейдите к Редактированию-> Предпочтения Профиля.
Выберите вкладку Title и Command.
Заметьте, как Команда выполнения как флажок оболочки входа в систему неконтролируема! Проверьте его.