zsh: набор TERM=screen-256color в tmux, но xterm-256color без tmux

Я не думаю, что необходимо запуститься make install здесь, просто скопируйте сгенерированный bzImage, System.map, и сделайте make modules_install будет просто работать на Вас.

Вы, кажется, находится на Дуге Linux, почему Вы не пошли бы для брюшного пресса? например, последние 3,5 ядра находятся в тестировании catelog, поэтому если Вы делаетеabs testings/linux, это должно загрузить файлы PKGBUILD для Вас, и Вы делаете makepkg создавать пакет

18
25.06.2014, 12:53
2 ответа

Переменная среды TERM должна быть установлена ​​приложением, которое действует как ваш терминал. В этом весь смысл: позволить программам, работающим внутри них, знать, какой терминал используется и, следовательно, какие функции он поддерживает.

Zsh не является терминалом. Это оболочка. Его может волновать, на что установлен ваш TERM, если он хочет делать особые вещи, но он не должен отвечать за его установку . Вместо этого он отвечает за установку таких переменных, как ZSH_VERSION, которые могут использоваться скриптами или другими дочерними процессами, чтобы понять, какого поведения ожидать от их родительской оболочки.

Вместо этого вам нужно проверить конфигурацию любого терминального приложения, которое вы используете, и попросить его правильно сообщить о себе. Например, вы можете сделать это для xterm, добавив эту строку в файл ~ / .Xdefaults , который он использует для значений конфигурации:

xterm*termName: xterm-256color

Похоже, что gnome-terminal делает идиотскую вещь, читая то, что ваша конфигурация xterm быть вместо того, чтобы иметь собственное. В некоторых случаях это может помочь вам, но лучше установить gnome-256color. Похоже, это давняя проблема против него (и некоторых других эмуляторов терминала на основе VTE). Обычный способ обойти это - использовать другое значение, которое он устанавливает:

if [ "$COLORTERM" = "gnome-terminal" ]; then
    export TERM=gnome-256color
fi 

Но это возвращает вас к вашей проблеме с tmux, поэтому вам придется учитывать это, не сбрасывая TERM, если он это уже что-то вроде screen-256color или screen:

if [ "$COLORTERM" = "gnome-terminal" -a "$TERM" =~ xterm.* ]; then
    export TERM=gnome-256color
fi

Для других терминалов вам нужно будет найти их соответствующие процедуры настройки.

24
27.01.2020, 19:46

Внутри вашего .zshrc, положите

[[ $TMUX = "" ]] && export TERM="xterm-256color"

И, внутри вашего .tmux. conf

set -g default-terminal "screen-256color"
8
27.01.2020, 19:46

Теги

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