как поменять цвет текста в терминале linux

Цвета терминала Linux

Одно из главных преимуществ Linux заключается в том, что при желании в нём можно настроить всё, что угодно. В этом и выражается преимущество проективных систем, над процедурными. Фактически, это конструктор, состоящий из отдельных блоков, каждый из которых можно настроить по своему желанию.

Особенно интересно, если не просто копируешь чужой «рецепт», а пытаешься разобраться, что и как устроено. И даже решая несерьезную задачу, узнаешь что-то новое.

Раскрашиваем цвета вывода ls

Как-то захотелось мне настроить цвета терминала linux в выводе команды ls. Ну не нравился блекло-фиолетовый цвет для каталогов в Linux Mint. Начал разбираться.

Из документации к ls, выяснил, что установка цветов для вывода осуществляется при помощи утилиты dircolors, которая либо устанавливает параметры цвета из своей собственной базы, либо берет их из файла

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

/.bashrc, файл с настройками командной оболочки, а сами параметры определяются через переменную LC_COLORS.

как поменять цвет текста в терминале linux

Если запустить утилиту dircolors, она выводит значение переменной LC_COLOR.

как поменять цвет текста в терминале linux

Также возможен вывод значения переменной LC_COLORS в структурированном виде, указанием ключа:

Поскольку вывод получается длинный, приводить его не буду.

/.dircolors, то будет создан структурированный файл, из которого и будут браться настройки цветов. Редактируя данный файл и устанавливаются настройки цвета для вывода ls.

как поменять цвет текста в терминале linux

Устанавливая последовательность через точку с запятой и получаем нужный нам цвет в консоли linux, согласно перечисленным. Цвета терминала linux от 30 до 37 для цвета шрифта, а с 40 до 47 для фона. К примеру:

DIR 01;34 подразумевает, что имена директорий будут выделяться жирным шрифтом и синим цветом.

Чтобы не перебирать цвета linux вручную, есть уже готовая таблица цветов:

как поменять цвет текста в терминале linux

как поменять цвет текста в терминале linux

Раскрашиваем и изменяем строку приглашения:

Разобравшись, как устанавливать цвета linux через esc-коды, не составит труда переделать и раскрасить строку приглашения. За ее вывод отвечает переменная PS1, которая определена в файле

В Linux Mint скрипт ее инициализации имеет следующий вид:

как поменять цвет текста в терминале linux

То-есть сперва определяется, запустил ли скрипт root или обычный пользователь. Поскольку в подавляющем большинстве случаев имеет место именно второй вариант, то и редактировать нужно строку, следующую после первого ‘else’. Формат строки расшифрован в документации по баш, в разделе «Promting». Из него следует, что esc-последовательность должна начинаться с «\[» и заканчиваться «\]». Таким образом:

Что ещё можно вывести в строке приглашения:

Введем что нибудь поинтереснее:

И строка приглашения примет вид:

как поменять цвет текста в терминале linux

Так, не понял, а откуда взялась ёлка-то?

Источник

Как изменить цвет текста строки приглашения в терминале Linux

Использование цвета в строке приглашения терминала

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

Существуют терминалы, которые поддерживают следующее количество цветов:

Чтобы узнать сколько цветов поддерживает ваш терминал, введите следующую команду.

Изменение цвета текста в терминале с помощью управляющих символов (8/16 цветов)

Цвет в терминалах задается с помощью специальных управляющих символов:

Результат будет следующим.

как поменять цвет текста в терминале linuxИзменение цвета текста для строки приглашения в терминале Bash

В представленной ниже таблице вы можете узнать коды доступных цветов для форматирования текста в терминале.

ЦветОбычныйЯркийФонЯркий фон
Black309040100
Red319141101
Green329242102
Brown / Yellow339343103
Blue349444104
Magenta359545105
Cyan369646106
White(light gray) 379747107
Default color3949

Также таблица вариантов изменения форматирования текста.

Тип форматирования текстаКод
полная очистка форматирования0
жирный/яркий текст1
затемненный цвет теста2
наклонный текст3
подчеркнутый текст4
медленно мерцающий текст5
быстро мерцающий текст6
обратить цвет текста в цвет фона7
спрятанный текст (для паролей)8
зачеркнутый текст9
очистка жирности/яркости текста21
очистка затемнения текста22
очистка наклона текста23
очистка подчеркивания текста24
очистка мерцания текста25
очистка мерцания текста26
очистка фона27
очистка скрытия текста28
очистка зачеркивания текста29

Некоторые терминалы не поддерживают различные типы форматирования.

Для полноты картины рассмотрим несколько примеров стилизации строки приглашения.

как поменять цвет текста в терминале linuxФорматирования строки приглашения в терминале Bash c использованием палитры в 16 цветов

В конце статьи вы можете ознакомиться с Bash-скриптом, который наглядно покажет как форматирование поддерживается в вашем терминале.

Изменение цвета текста в терминале с помощью управляющих символов (88/256 цветов)

Для терминалов с поддержкой 88/256 цветов используются следующий порядок управляющих символов:

Примеры изменения цвета для строки приветствия могут выглядеть следующим образом.

как поменять цвет текста в терминале linuxФорматирование строки приглашения в терминале Bash c использованием палитры в 256 цветов

В последнем разделе вы найдете Bash-скрипт, который выведет карту всех 256 цветов в терминале, чтобы вам было удобней определиться с выбором.

Изменение цвета текста в терминале с помощью управляющих символов (16777216 цветов)

Терминалы с поддержкой 24-битной версии управляющих символов ANSI, способны выводить почти полный спектр видимых человеком цветов в формате RGB.

Здесь также как и в двух предыдущих вариантах используются управляющие символы. Только теперь для каждого цвета (красный, зеленый, синий) выделяется по одному байту, т.е. для каждого цвета вы можете задать промежуток от 0 до 255.

Несколько примеров использования RGB формата.

как поменять цвет текста в терминале linuxФорматирование строки приветствия в CentOS с помощью цветовой модели RGB

Сохранение цветового кода в переменных

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

Сохранить цвет в переменную можно следующим образом.

Изменение цвета текста в терминале с помощью команды tput

как поменять цвет текста в терминале linuxИспользование команды tput для форматирования строки приглашения

Коды доступных цветов представлены в таблице ниже.

ЦветBlackRedGreenYellowBlueMagentaCyanWhite
Код01234567

С помощью tput можно также задавать стили форматирования.

tput bold # Включить жирность
tput dim # Затемнить текст
tput smul # Включить подчеркивание
tput rmul # Отключить подчеркивание
tput rev # Поменять цвет текста на цвет фона

Команда tput имеет множество возможностей по управлению текстом и терминалом в целом. Подробнее об этой команде вы можете узнать на справочных страницах.

Как сохранить отформатированную строку приглашения

В этой статье мы подробно рассмотрели все варианты установки цветов для текста в терминале Linux. Чтобы сохранить раскрашенную строку приветствия, то вставьте нужное значение переменной PS1 в конец файла

Вы также можете сохранить строку приветствия раскрашенную в градиенте. Для этого вставьте следующий код в файл

Источник

Как поменять цвет текста в терминале linux

как поменять цвет текста в терминале linux

По-умолчанию терминал или консоль(KDE), выглядит не очень привлекательно, хотя можно изменить цветовые схемы, которые доступны в настройке терминала, но мы можем изменить чуть-ли не каждый символ в терминале, и в этой статье я покажу как это сделать.

Мы можем редактировать цвет имени текущего пользователя или сделать отступ, или вообще убрать имя пользователя, а поставить вместо него какой-то символ, и все это можно сделать, просто отредактировав файл bashrc, который находится в нашей домашней директории.

Для редактирования файла, откройте терминал(Ctrl+Alt+T), и введите команду

И найдите вот такую строчку

как поменять цвет текста в терминале linuxВ этой строке указаны все наши цвета для имени пользователя, имени хоста и др.

Для назначения своего цвета, советую вам скопировать вот эту строку

и вставить в конец вашего файла bashrc

как поменять цвет текста в терминале linuxСохраняем с помощью сочетания клавиш Ctrl+O, и для закрытия файла используйте Ctrl+X.

А теперь давайте немного разберем, из чего состоит эта строка.

PS1=’\[\e[1;33m\]\u — этот кусочек строки означает что мы присваиваем имени нашего пользователя желтый жирный цвет.

\[\e[1;35m\]@ — далее идет символ собачки с фиолетовым жирным цветом

\[\033[1;32m\]\h — имя компьютера в сети жирного зеленого цвета

\[\e[1;34m\]\w — текущая директория — жирным голубым цветом

\[\e[1;32m\]\$ — знак доллара раскрашен жирным зеленым цветом

\[\e[1;37m\]’ — и последний белый цвет который обозначает то что мы будем вводить в терминале.

Вот мы и разобрали строку с помощью которой вы сможете придать вашему терминалу, немного свежести.

А что делать если вы захотите открыть терминал с root-правами?

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

И тоже вставьте в конец файла вот такой кусок кода

Который перекрасит приглашение root в красный цвет, текущую директорию в синий, а цвет ввода текста в зеленый цвет.

А с помощью этой таблици вы можете подобрать цвет, который вам по душе.

ОбычныйЖирныйПодчёркнутыйФоновый
‘\e[0;30m’ # Black ‘\e[1;30m’ # Black‘\e[4;30m’ # Black‘\e[40m’ # Black
‘\e[0;31m’ # Red‘\e[1;31m’ # Red‘\e[4;31m’ # Red‘\e[41m’ # Red
‘\e[0;32m’ # Green‘\e[1;32m’ # Green‘\e[4;32m’ # Green‘\e[42m’ # Green
‘\e[0;33m’ # Yellow‘\e[1;33m’ # Yellow‘\e[4;33m’ # Yellow‘\e[43m’ # Yellow
‘\e[0;34m’ # Blue‘\e[1;34m’ # Blue‘\e[4;34m’ # Blue‘\e[44m’ # Blue
‘\e[0;35m’ # Purple‘\e[1;35m’ # Purple‘\e[4;35m’ # Purple‘\e[45m’ # Purple
‘\e[0;36m’ # Cyan‘\e[1;36m’ # Cyan‘\e[4;36m’ # Cyan‘\e[46m’ # Cyan
‘\e[0;37m’ # White‘\e[1;37m’ # White‘\e[4;37m’ # White‘\e[47m’ # White

А вы разукрасили свой терминал? Поделитесь скриншотами в комментариях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Разноцветные терминалы

как поменять цвет текста в терминале linux

В этой публикации я расскажу о некоторых трюках, которые украсят будни любого системного администратора Linux (и не только). Все они связаны с переменной PS1 оболочки bash. Переменная PS1 определяет, как будет выглядеть приглашение для ввода новых команд. И каждый пользователь может переопределять её как пожелает, например, в файле

/.bashrc (который выполняется при запуске bash и используется для в том числе для конфигурации).

Для начала рассмотрим простой вариант, мой любимый формат командной строки.

Результат будет вот такой:

Это обычное использование переменной PS1, но если бы я не начал с этого — рассказ был бы неполным. Обычно в переменной PS1 с помощью специальных последовательностей символов определяют формат приглашения для ввода команд. Подробный список этих последовательностей можно почитать в документации к bash, в данном примере:

Просто заношу коды цвета в переменные. Но, как вы заметили, что способ задания цвета для курсора и для текста командной строки — разный. Почему-то так исторический получилось. Чтобы понять, какой цвет каким кодом кодируется, есть подходящая картинка.

как поменять цвет текста в терминале linux

Посредине — обозначение цвета для цвета курсора, снизу — обозначение цвета для текста. Как вы можете увидеть, что я для текста и курсора использую цвет морской волны. Т.к. название сервера petrel («буревестник»), то он ассоциируется у меня с этим цветом.

Еще две переменные определяю с чисто красным цветом, он будет использоваться для маркировки терминалов привелигированного пользователя (root’а).

В результате у нас должно получится так, как на картинке в самом начале публикации.

Источник

bash: меняем цвета и настраиваем консоль под себя

как поменять цвет текста в терминале linuxЛично мне не нравится стандартное, бесцветное, приглашение bash в консоли:

Можно его немного поправить – добавить цвета и вывод дополнительной информации.

Редактируем (или создаем, если его нет) в домашней папке пользователя файл .bash_profile :

и в него записываем такое:

В результате, консоль будет выглядеть так:

Для рута тоже можно внести изменения:

Получим такую картинку:

Разница только в цвете вывода имени пользователя – для root будет красный цвет, что бы напоминать себе быть внимательнее :-).

Немного расшифровки строк:

PS1=” – это значение переменной bash, указывающее строку приглашения ввода;

t – текущее время в формате HH:MM:SS ;

[ – начало последовательности непечатных символов;

e – обозначение экранирования ASCII символа, по другому можно записать как 33 ;

[01;31m] – задаем цвет следующего параметра в данном случае 01 – напечатать жирным шрифтом 31m – красный цвет, о цветах ниже;

h – имя хоста (я не использовал);

e[01;34m] – цвет для вывода W ;

W название текущей директории (неполный путь, я не использую);

w путь и текущая категория;

[e[00m] – самый последним задается цвет печатаемого текста;

Типы и цвета шрифта:

e[x;yym]
здесь x – тип шрифта

1 – жирный текст

4 – подчеркнутый текст

7 – инверсия, фон цвета текста.

30 черный
31 красный
32 зеленый
33 жёлтый/оранжевый
34 голубой
35 фиолетовый
36 цвета морской волны
37 светло-серый
39 по умолчанию

P.S. На самом деле, вывод h (имя хоста) бывает иногда очень полезным.

UPD 05 апр 2015: до сих пор пользуюсь почти той же схемой:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *