Как установить переменную среды TERM для приложения Gnome Terminal Emulator?

По умолчанию для переменной среды TERM установлено значение xterm, поэтому файл.bashrc по умолчанию не обеспечивает полный цвет оболочки.

Как изменить переменную среды TERM на xterm-color только для приложения эмулятора терминала gnome?

Обновление: под полным цветом я подразумеваю изменение командной строки для использования цвета в дополнение к отображению вывода, такого как вывод каталога в цвете.

2 ответа

Решение

За gnome-terminal

Изменить настройки профиля в gnome-termninal:

введите описание здесь

замещать /bin/bash с вашей командой оболочки и использовать ваш параметр для TERM,

Вы также можете редактировать записи с dconf, Откройте терминал и начните dconf-editor:

dconf-editor

Откройте запись org/gnome/terminal/legacy/profiles: и выберите свой профиль. Изменить значение для custom-command,

Здесь есть два вопроса.

Один из них заключается в том, как определить, работаете ли вы внутри gnome-терминала (или любого другого приложения, использующего тот же виджет vte для реальной эмуляции терминала). Предполагая, что вы находитесь на достаточно недавнем Ubuntu, наличие $VTE_VERSION переменная говорит вам об этом. Вы можете отредактировать ваш.bashrc, чтобы он содержал что-то вроде

if [ -n "$VTE_VERSION" ]; then
    # Gnome-terminal and other vte3-based emulators
    color_prompt=yes
fi

Другая проблема заключается в том, что по какой-то причине Ubuntu по умолчанию .bashrc пытается искать xterm-color который на самом деле не используется в настоящее время. Либо стандарт xterm (который поддерживает цвета в любом случае), или более современный xterm-256color являются популярным выбором, по умолчанию медленно движется в сторону последнего. (GNOME-терминал изменил свое значение по умолчанию с xterm в xterm-256color в 3.16, который присутствует в Ubuntu 15.10 и далее)

Если вы хотите двигаться вперед и уже наслаждаетесь большим количеством цветов в нескольких приложениях, я рекомендую вам уже перейти на TERM=xterm-256color, что вы также можете сделать в ветке if выше.

Убунту .bashrc устарел для использования xterm-color, Я очень рекомендую модифицировать эти биты в скрипте вокруг чего угодно $TERM у тебя уже есть (xterm) или предпочел бы иметь (может быть xterm-256color), а не наоборот, модифицируя $TERM соответствовать .bashrcТребование

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