~/.zprofile не читается на графическом входе в систему, когда оболочка пользователя по умолчанию является zsh

Я использую Ubuntu 14.04. Я использовал chsh установить мою оболочку по умолчанию на /usr/bin/zsh.

Мой ~/.zprofile определяет несколько переменных среды, например. export EDITOR=vim. Все же после входа в систему и стартового Терминала GNOME, эти переменные не установлены. После выполнения zsh -l, они:

% echo $EDITOR

% zsh -l
% echo $EDITOR
vim
%

Так, по-видимому, когда zsh выполняется на входе в систему, он не знает, что это - оболочка входа в систему и поэтому не читает .zprofile? Что дает?

Насколько я могу сказать, это работало до недавнего времени, затем внезапно это не было, поэтому возможно, обновление повредило что-то?

2
задан 13 December 2015 в 16:26

1 ответ

Так, по-видимому, когда zsh выполняется на входе в систему...

Вы работаете zsh в Терминале GNOME, не на входе в систему. Сравните путем переключения на TTY (CtrlAltF1), и вход в систему.

это не знает, что это - оболочка входа в систему

Термин "вход в систему оболочки" перегружается:

  1. Это - оболочка, упомянутая в Вашем passwd запись. Основанные на консоли методы входа в систему обычно запускаются, эта оболочка (попробуйте TTYs, или sudo -l, или su -). "Оболочка входа в систему" с этим контекстом используется в обсуждении учетных записей пользователей.
  2. Оболочка может быть выполнена как оболочка входа в систему, независимо от того, является ли это оболочкой входа в систему (1) из пользователя. С большинством подобных Границе оболочек это получено любым использованием -l когда выполнено вручную, или при помощи - как первый символ аргумента 0 при косвенном запуске ( login, sudo, su, и т.д.). Это значение используется при обсуждении вызова оболочек.

Так, это не оболочка входа в систему (2), потому что мы обсуждаем, как это запускается (вызов).


.zprofile читается оболочками входа в систему (2). Терминал GNOME не выполняет оболочку входа в систему (2) по умолчанию. Необходимо сказать, что это делает так:

  1. Перейдите к Редактированию-> Предпочтения Профиля.

  2. Выберите вкладку Title и Command.

  3. Заметьте, как Команда выполнения как флажок оболочки входа в систему неконтролируема! Проверьте его.

3
ответ дан 2 December 2019 в 02:54

Другие вопросы по тегам:

Похожие вопросы: