Как Вы изменяете набор значений ТЕРМИНА по умолчанию при консольном входе в систему (Ubuntu)?

$TERM окружают значение в значениях по умолчанию Ubuntu к "xterm" для консольного входа в систему. Как я могу изменить его так, это принимает значение по умолчанию для "xterm-окрашивания"? Я спрашиваю, потому что похоже, что это - самый легкий способ повернуться - на цветной подсказке.

Я знаю, что можно сбросить ТЕРМИН значение в .bashrc или другом сценарии входа в систему, но я просто вызвал бы ТЕРМИН значение к более разумному значению по умолчанию.

6
задан 28.03.2010, 04:50

2 ответа

ТЕРМИН переменная хранит название записи в terminfo базе данных, которая помогает ОС определить, как отобразить информацию к Вашему терминалу. То, к чему это принимает значение по умолчанию, зависит полностью от того, как Вы вошли в систему.


Обычно, "консоль" означает, что Вы физически в компьютере, входя в один из основанных на тексте виртуальных терминалов (VT1-6).

  • Значения по умолчанию ТЕРМИНА к Linux (это может отличаться между дистрибутивами; vt100 является безопасной альтернативой),

    • Для изменения этого, на Ubuntu 9.10, необходимо будет настроить команду getty, определенную в/etc/init/tty1.conf. Это изменит настройки для/dev/tty1 (VT1), и необходимо будет внести те же изменения в/etc/init/tty2.conf.. tty3.conf, и т.д. для получения других виртуальных терминалов также.

      # original getty command in /etc/init/tty1.conf
      exec /sbin/getty -8 38400 tty1
      
      # new command; sets default TERM on /dev/tty1 to "foobar"
      exec /sbin/getty -8 38400 tty1 foobar
      

Если в Вас входят X/Gnome/KDE (VT7, 8, или 9), Вы не используете консоль, по крайней мере, в этом контексте. Технически это входит X и использует псевдотерминал с помощью приложения эмулятора терминала - это - то, что дает Вам окно, которое показывает Вашу оболочку и командную строку.

  • СРОКИ первоначально устанавливаются Вашим эмулятором терминала. Это может быть изменено в Ваших файлах запуска оболочки (~/.bashrc, ~/.profile, и т.д.).

    • xterm, rxvt, xterm-цвет, xterm-256color является всеми общими ценностями

    • Для изменения этого значения консультируйтесь с документацией для эмулятора терминала. Например, при использовании rxvt-unicode (иначе urxvt), Вы использовали бы -tn termname параметр командной строки.


Если Вы зарегистрированы удаленно (через SSH или удаленный X), Вы определенно не используете консоль ни в каком контексте; снова, Вы используете псевдотерминал.

  • ТЕРМИН наследован программой, которая запустила SSH:
    • SSH от виртуального терминала Linux приводит к удаленному ТЕРМИНУ Linux;
    • SSH от командной строки в результатах эмулятора терминала X-окон в удаленном ТЕРМИНЕ любого ТЕРМИНА был установлен на до команды SSH;
    • SSH от системного использования Windows значения по умолчанию PuTTY к xterm, но это может быть изменено в конфигурации PuTTY;
    • и любая из вышеупомянутых настроек может быть переопределена файлами запуска оболочки удаленного пользователя.
10
ответ дан 07.12.2019, 15:40

Много хорошей информации здесь:

man 7 term

Значение ТЕРМИНА по умолчанию будет установлено на на строку основание любым/etc/inittab (Linux и подобный System V UNIXes) или/etc/ttys (BSD UNIXes). Это будет почти всегда достаточно для микрокомпьютерных консолей и рабочей станции.

Следующая проблема состоит в том, что Ubuntu 9.10 не имеет /etc/inittab или /etc/ttys.

man inittab

Выскочка init (8) демон не использует этот файл и вместо этого читает его конфигурацию из файлов в/etc/init. См. init (5) для получения дополнительной информации.

Изучая/etc/init, можно найти tty*.conf файлы. Они выполняются exec'ing getty. Таким образом:

man getty

назовите значение, которое будет использоваться для ТЕРМИНА переменная среды. Это переопределяет любой init (8), возможно, установил и наследован входом в систему и оболочкой.

Это - хорошая информация. Теперь мы знаем, что значение ТЕРМИНА по умолчанию прибывает из init (8)

... в конце концов, это, которое мне не удалось выяснить, как изменить значение ТЕРМИНА по умолчанию, используемое init.

2
ответ дан 07.12.2019, 15:40

Теги

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