Что должно войти в .zshenv, .zshrc, .zlogin, .zprofile, .zlogout?

Как указано sarnold, XDMCP должен быть тем, что Вы ищете. Однако, если бы "Я хочу, чтобы мой компьютер был 'простым терминалом'", не трудное требование, я поощрил бы Вас использовать NX (реализованный, например, FreeNX) вместо этого. Это - улучшенная версия X передач по SSH, но это потребует, чтобы настольная среда на Вашем ноутбуке выполнила свой GUI. Однако это имеет несколько преимуществ, главным образом использование пропускной способности.

Это приносит нам к Вашему второму вопросу: X передач должны хорошо работать в сети на 100 Мбит. Сжатие, скорее всего, будет ненужным. Однако X действительно берет некоторую пропускную способность, особенно когда у Вас есть анимированный контент на Вашем экране. Таким образом, для освобождения сети для других передач, низкая пропускная способность, необходимая NX, помогла бы.

Wrt Ваш третий вопрос: Ну, Дуга имеет прокручивающийся принцип выпуска, означая, что существует непрерывный поток обновлений. Это хорошо для более старых машин, потому что это может быть адаптировано так, это работает отлично с Вашей машиной, и существует хорошая документация для этого. Можно определенно сделать это очень тонким и эффективным, и это будет легче, чем "обрезка вниз" SuSE / Fedora / CentOS/... установка. Однако, если Вам действительно только нужен простой терминал, прокручивающаяся система выпуска, возможно, менее практична, чем просто использование простой установки Debian или чего-то подобного, которое можно сохранить "стабильный" с минимальными обновлениями в течение долгого времени.

160
18.02.2019, 22:52
3 ответа

Вот неисключительный список того, что каждый файл имеет тенденцию содержать:

  • С тех пор .zshenv всегда получается, это часто содержит экспортируемые переменные, которые должны быть доступны другим программам. Например, $PATH, $EDITOR, и $PAGER часто устанавливаются в .zshenv. Кроме того, можно установить $ZDOTDIR в .zshenv указывать альтернативное местоположение для остальной части Вашей zsh конфигурации.
  • .zshrc для интерактивной конфигурации оболочки. Вы устанавливаете опции для интерактивной оболочки там с setopt и unsetopt команды. Можно также загрузить модули оболочки, установить опции истории, изменить подсказку, настроить zle и завершение и так далее. Вы также устанавливаете любые переменные, которые только используются в интерактивной оболочке (например. $LS_COLORS).
  • .zlogin получен на запуске оболочки входа в систему. Этот файл часто используется для запуска X использований startx. Некоторые системы запускаются X на начальной загрузке, таким образом, этот файл не всегда очень полезен.
  • .zprofile в основном то же как .zlogin за исключением того, что это получено непосредственно прежде .zshrc получен вместо непосредственно после него. Согласно zsh документации,".zprofile предназначен как альтернатива '.zlogin' для ksh вентиляторов; эти два не предназначаются, чтобы использоваться вместе, хотя это могло, конечно, быть сделано при желании."
  • .zlogout иногда используется, чтобы очистить и сбросить терминал.

Необходимо пройти конфигурационные файлы случайных пользователей GitHub для получения лучшее представление о том, что должен содержать каждый файл.

184
27.01.2020, 19:28
  • 1
    Как точка ясности, .zlogin получен после .zshrc (см. man zshall для деталей). –  Aaron 31.03.2015, 19:09
  • 2
    Знайте при установке $PATH в .zshenv, различные другие файлы все получены после этого файла, который переопределит это значение. См. zsh.org/mla/users/2003/msg00600.html. –  Beau Barker 06.10.2015, 03:19
  • 3
    Где должен $LANG и $LC_ALL искать? –  Lenar Hoyt 24.11.2015, 21:41
  • 4
    Только для моих собственных примечаний / подтверждение и помочь кому-либо еще, окончательный порядок .zshenv → [.zprofile если вход в систему] → [.zshrc если интерактивный] → [.zlogin если вход в систему] → [.zlogout иногда]. –  Gabriel L. 18.05.2016, 23:48

Не помещайте вызовы ssh-agent в ] .zshenv . Из-за этого моя команда less больше не отображала текстовые файлы, вероятно, из-за того, что ее параметры были настроены Prezto ( export LESS = '- F -g -i -M -R -S -w - X -z-4 ' в .zprofile ).

0
27.01.2020, 19:28

Вот список того, что должен/не должен содержать каждый файл, на мой взгляд:

.зшенв

[Читать каждый раз]

Этот файл всегда является источником, поэтому он должен устанавливать переменные среды, которые необходимо часто обновлять . PATH(или связанный с ним аналог path)— хороший пример, потому что вы, вероятно, не захотите перезапускать весь сеанс, чтобы обновить его. Установив его в этом файле, повторное открытие эмулятора терминала запустит новый экземпляр Zsh с обновленным значением PATH .

Но имейте в виду, что этот файл читается даже при запуске Zsh для выполнения одной команды(с параметром-c ), даже с помощью другого инструмента, такого как make. Вы должны быть очень осторожными, чтобы не изменить поведение стандартных команд по умолчанию , потому что это может привести к поломке некоторых инструментов (путем установки псевдонимов, например ).

.zprofile

[Чтение при входе в систему]

Я лично рассматриваю этот файл как .zshenv, но для команд и переменных, которые должны быть установлены один раз или которые не нужно часто обновлять:

  • переменные среды для настройки инструментов (флаги для компиляции, расположение папки с данными и т. д.)
  • Конфигурация
  • , которая выполняет команды (, такие как SCONSFLAGS="--jobs=$(( $(nproc) - 1 ))"), поскольку выполнение может занять некоторое время.

Если вы измените этот файл, вы сможете применить обновления конфигурации, запустив оболочку входа:

exec zsh --login

.zshrc

[Читать в интерактивном режиме]

Я разместил здесь все необходимое только для интерактивного использования:

  • подсказка,
  • завершение команды,
  • коррекция команды,
  • предложение команды,
  • подсветка команд,
  • окраска вывода,
  • псевдонимы,
  • привязки клавиш,
  • управление историей команд,
  • другие разные интерактивные инструменты (auto _cd, manydots -magic )...

.zлогин

[Читать при входе в систему]

Этот файл похож на .zprofile, но читается после .zshrc. Вы можете считать, что оболочка полностью настроена во время выполнения.zlogin

.

Итак, я использую его для запуска внешних команд, которые не изменяют поведение оболочки (, например. менеджер входа в систему ).

.zlogout

[Чтение при выходе из системы][В оболочке входа в систему]

Здесь вы можете очистить свой терминал или любой другой ресурс, который был настроен при входе в систему.

Как выбрать место для настройки

  • если это необходимо для команды запустить не -в интерактивном режиме:.zshenv
  • если он должен обновляться при каждой новой оболочке:.zshenv
  • если выполняется команда, выполнение которой может занять некоторое время:.zprofile
  • если это связано с интерактивным использованием:.zshrc
  • если это команда для запуска, когда оболочка полностью настроена:.zlogin
  • если он освобождает ресурс , полученный при входе в систему:.zlogout
104
27.01.2020, 19:28

Теги

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