Изменить цвет терминала линукс

Делаем Linux терминал красивым и удобным

Добавляем функциональность

Командная оболочка

Большинство дистрибутивов поставляется со встроенным Bash. Используя дополнения можно сделать из него все что захотите, но гораздо проще этого добиться с Zsh. Почему?

Настройка Zsh

Для начала, установим Zsh (если он уже установлен, например, как в Manjaro, можете пропустить этот пункт):

Когда вам предложат установить Zsh как оболочка по-умолчанию, нажмите Y , чтоб подтвердить.

Oh-My-Zsh — популярный и активно развивающийся фреймворк Zsh, который позволяет гибко настроить оболочку терминала. Установим его:

Подсветка синтаксиса. Гораздо проще ориентироваться по содержимому терминала, когда разные части команд подсвечены разными цветами. Например, директории будут подчеркиваться, а команды — выделяться цветом, отличным от обычного текста. Установим плагин zsh-syntax-highlighting :

Чтоб плагин заработал, его надо подключить.

/.zshrc меняем строку с plugins= :

Если такой строки нет — добавьте её.

Готово! Получаем удобный и функциональный терминал. Теперь сделаем его визуально приятным.

Настраиваем внешний вид

Скачиваем и добавляем в систему шрифт JetBrains Mono Nerd (c иконками):
Выберитеодин из списка, в папке шрифт/complete выберите шрифт без «Windows Compatible», с окончанием «Mono».

Подключаем шрифт и тему.

Если в файле эти строки уже есть — замените их.

Цвета. Важная часть оформления терминала — цветовая схема. Я перебрал много разных схем, редактировал их, остановился на Monokai Dark. Не режет глаза, но при этом приятная и яркая. Список цветов:

В разных терминалах по-разному меняется цветовая схема (обычно, это делается через настройки терминала), но порядок цветов везде одинаковый. Вы можете импортировать этот шаблон в формате Termite и экспортировать его для вашего терминала через terminal.sexy

Запускаем конфигурацию темы: p10k configure .
Настройте тему, выбирая варианты отображения, которые вам больше нравятся.

Финальный штрих — меняем конфиг темы и заменяем встроенные цвета.

Если в файле эти строки уже есть — замените их. Коды цветов можно получить командой

    Отображение только текущей директории:

Источник

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

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

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

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

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

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

  • \t — вывод «текущего времени», на самом деле это получается время завершения выполнения предыдущей команды, удобно когда перед глазами.
  • j\j — выводит символ j и после него количество запущенных job, т.е. процессов в фоне. Это тоже удобно иметь перед глазами чтобы случаем про них не забыть когда соберешься закрыть терминал.
  • \u@\h — имя пользователя и название сервера. Если работаете с несколькими серверами через удаленные терминалы — чтобы не путаться.
  • \w — после двоеточия — рабочая директория.
  • \n — поскольку строка получилась хоть и информативной (что-то вроде статус бара), но длинной, то приглашаем вводить команды с новой строки, а эта верхняя строка будет наглядно отделять от результата работы предыдущей команды.
  • \$ — на новой строке будет выводится символ либо $ для обычного пользователя либо # для root’а и отделив его пробелом можно приглашать вводить новую команду.

Казалось бы, чего еще желать… Но дальше будет интереснее. Дело в том, что с помощью специальных управляющих символов можно задавать цвет выводимого текста, цвет курсора и даже переопределять title bar у таких графических терминалов, как Gnome2. И, на мой взгляд, довольно удобно когда цветом отделяются терминалы запущенные на различных серверах. Для меня каждый сервер ассоциируется с каким-то цветом и в этот цвет мы будем красить командную строку и курсор на каждом сервере.

У меня .bashrc разделен на два файла, в самом .bashrc содержится общий код для всех серверов, а в .bash_local — уникальные для этого сервера настройки командной строки. .bash_local я буду вставлять в .bashrc специальной директивой. Начнем с .bash_local. В контексте данной статьи там у меня будут две строчки, которые определяют цвет этого сервера:

Читайте также:  Amlogic flash tool linux

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

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

Теперь .bashrc, тоже показываю его не полностью, а только то что имеет отношение к теме:

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

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

Тут проверяется какой используется терминал. Для любого неизвестного или неподдерживающего цвета будет использоваться приглашение без цвета (PS1=’\t j\j \u@\h:\w\n\$ ‘) так, как я это описал в начале статьи. Но если имя терминала начинается на xterm или rxvt, например, так себя позиционирует терминал Gnome, начинаем кудесить с цветом. Первая строчка — задаем цвет текста — цвет сервера и выводим первую строку приглашения ввода команд. Она всегда будет окрашена в цвет сервера. Вторая строчка — проверяем, работаем ли мы под непривелигированным или привелигированным пользователем (root’ом). Если root — то переопределяем цвета на красный. Третья строчка — формируем вторую строчку приглашения и определяем цвет курсора в терминале. Т.е. там у нас получится либо $ и через пробел курсор, оба покрашенные в цвет сервера, если пользователь обычный. Либо красный # и через пробел красный курсор, если это root.

А это, если честно, один в один скопированно из первоначального .bashrc от Дебиана. Знаю, что этот код видоизменяет title bar у окна, размещает там информацию об пользователе, сервере и домашней директории. Но поскольку этот код придумал не я, комментировать его не буду.

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

Источник

Как изменить цвет терминала Linux

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

К счастью, есть множество простых способов украсить внешний вид терминала Linux. Замечательно, что некоторые из этих методов работают независимо от выбора оболочки, будь то Bash, Zsh или что-то еще.

Большинство приложений терминала, таких как Коnsole, Gnome Terminal, Tillix и другие, поставляются с несколькими различными цветовыми схемами или темами, которые вы можете выбрать.

Перейдите в диалоговое окно Settings или Preferences этих приложений, а затем, в зависимости от приложения, перейдите к Appearance или Profile, Там вы сможете выбрать одну из нескольких цветовых схем или создать собственную комбинацию цветов фона и текста. Многие приложения также позволяют настраивать параметры прозрачности, чтобы обои рабочего стола были видны сквозь приложение терминала. Хотя это классный эффект, но, в зависимости от используемых обоев, иногда мешает восприятию текста в приложении терминала.

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

Как минимум, приглашение Bash позволяет различать обычного пользователя и пользователя root с помощью символов $ и # соответственно. Стандартная конфигурация приглашения Bash в большинстве дистрибутивов, например, Fedora, Ubuntu и др., также отображает дополнительную информацию, такую как hostname (имя хоста). С LiquidPrompt можно настроить приглашение Bash, которое позволит отобразить много полезной информации — состояние батареи, температуру процессора и многое другое!

Помимо текущего времени, можно настроить LiquidPrompt на отображение количества спящих и работающих процессов.

Многие дистрибутивы содержат LiquidPrompt в своих репозиториях программного обеспечения, и вы легко его установите через инструмент управления пакетами, предлагаемый вашим дистрибутивом. У проекта нет основных зависимостей, помимо обычных утилит Linux. Для определения состояния батареи используется acpi. Также необходимы инструменты, являющиеся частью основной установки: grep, awk, рs и т. д.

Если ваш дистрибутив не содержит LiquidPrompt, установите его из репозитория GitHub:

После установки нужно приказать приложению терминала использовать LiquidPrompt при каждом запуске. Это можно сделать, отредактировав файл

/.bashr и вставив следующую строку:

/ Downloads / projects / liquidprompt / liquidprompt

Обязательно отредактируйте эту строку, указав правильное расположение файла liquidprompt.

Следующий шаг— скопировать файл конфигурации. Это можно сделать, выполнив команду

/ Downloads / projects / liquidprompt / liquidpromptrc — dist

Еще раз убедитесь, что указаn файл liquidpromptrc-dist, который будет находиться в клонированном каталоге git. Эта команда скопирует файл liquidpromptrc-dist в файл

Вам не надо выполнять какие-либо из вышеперечисленных шагов, если ваш дистрибутив содержит LiquidPrompt в репозиториях программного обеспечения. Если вы устанавливаете инструмент используя, например, команды sudo dnf install liquidprompt или sudo apt install liquidprompt , файл

Читайте также:  Ubuntu linux windows диски

/.bashr будет автоматически отредактирован таким образом, чтобы liquidprompt запускался при каждом запуске приложения терминала. Файл liquidpromptrc аналогичным образом будет создан в каталоге

Настройка отображаемых параметров

/.config/liquidpromptrc описывает все переменные, которые могут отображаться в вашем терминале, например:

  • LP_BATTERY_THRESHOLD — отображает уровень заряда батареи, когда он опускается ниже порога.
  • LP_TEMP_THRESHOLD — отображает температуру, если онa превысила заданный уровень,
  • LP_RUNTIME_THRESHOLD — отображает время работы, если машина проработала дольше определенного времени.
  • LP_PATH_LENGTH — максимальный процент ширины экрана, используемый для отображения пути.
  • LP_PATH_KEEP — сколько каталогов оставлять в начале сокращенного пути.
  • LP_HOSTNAME_ALWAYS — отображать имя хоста всегда или только при подключении через удаленную оболочку.

Настройка параметров — это просто изменение значений в файле liquidpromptrc. Изменения сразу отражаются в приглашении. Часы можно также отображать в терминале.

Если вы часто работаете с несколькими приложениями терминала одновременно, вам будет интересна переменная LP_ENАВLE_TITLE . Измените значение по умолчанию 0 на 1, если вы хотите использовать приглашение в виде названия окна терминала. Это поможет вам различать разные экземпляры приложения терминала.

По умолчанию LiquidPrompt также отображает время, затраченное на выполнение задачи. Например, если вы читаете файл с помощью less , при выходе из него отобразится количество времени, потраченное на чтение файла. Он также сообщает полное время при установке или удалении пакетов с помощью инструмента управления программным обеспечением дистрибутива.

Редактируя тему LiquidPrompt, можно настроить инструмент на разные цветовые схемы для отображения состояния батареи: зарядка, не заряжается и т.д.

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

Файл liquidpromptrc описывает различные настраиваемые переменные, но инструмент также поддерживает темы, и вы можете задать собственные цвета для разных элементов в приглашении. Темы устанавливаются в каталоге usr/share/liquidprompt под именем *.theme. Кроме цветов, в файле темы также перечислены разные символы, используемые инструментом при представлении различной информации в приглашении, например:

  • LP_MARK_BATTERY (default: «⌁») — перед зарядом батареи
  • LP_MARK_ADAPTER (default: «⏚») — показано, если подключено питание
  • LP_MARK_LOAD (default: «⌂») — перед значением нагрузки
  • LP_MARK_PROXY (default: «↥») — показывает работающий прокси
  • LP_MARK_SVN (default: «‡») — подсказка в репозиториях svn
  • LP_MARK_GIT (default: «±») — подсказка в репозиториях git

В этой статье мы лишь слегка коснулись настроек визуальной стороны терминала Linux. Для быстрого ознакомления с его возможностями и расширенными функциями, такими как добавление в приглашение префикса/постфикса редактированием переменной перейдите на страницу проекта GitHub.

Источник

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

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

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

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

  • 8 цветов — для 3 битной версии управляющих символов ANSI, поддерживается почти всеми терминалами.
  • 16 цветов — для 4 битной версии управляющих символов ANSI, поддерживается почти всеми терминалами.
  • 88 цветов — для 7 битной версии управляющих символов ANSI, поддерживается многими современными терминалами.
  • 256 цветов — для 8 битной версии управляющих символов ANSI, поддерживается многими современными терминалами.
  • 16777216 цветов — для 24 битной версии управляющих символов ANSI, поддерживается только терминалами в современных графических оболочках.

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

Установить цвет для текста, цвет фона и форматирование можно, как минимум, двумя способами: с помощью управляющих символов или с помощью команды tput . Оба варианта подробно рассмотрены далее по тексту.

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

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

  • \e[ — начало форматирования текста.
  • x;y;zm — код цвета (x = код форматирования, y = код цвета текста, z = код цвета фона). Порядок следования x,y и z не имеет значения, т.к. код определяется по числовому значению, а не по его положению.
  • \e[m — конец форматирования текста (необязателен, нужен для сброса форматирования).

Для примера раскрасим строку приглашения, которая имеет вид — PS1=»\u@\h:\w\n\$ » . Зададим яркий фиолетовый цвет (код 95) для имени пользователя и хоста, а также яркий зеленый цвет (код 92) для строки каталога. Текст, который мы хотим раскрасить, нужно поместить между управляющими последовательностями символов \e[x;y;zm и \e[m . Тип форматирования и цвет фона задавать не обязательно, в этом случае они будут установлены по умолчанию.

Иногда использование непечатных символов таких как \e может привести к некорректному поведению строки приглашения, особенно при пролистывании истории команд кнопкой вверх. В связи с этим крайне рекомендуется экранированить все непечатные символы с помощью — \[ \] .

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

Читайте также:  Драйвера для windows mobile device center

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

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

Цвет Обычный Яркий Фон Яркий фон
Black 30 90 40 100
Red 31 91 41 101
Green 32 92 42 102
Brown / Yellow 33 93 43 103
Blue 34 94 44 104
Magenta 35 95 45 105
Cyan 36 96 46 106
White (light gray) 37 97 47 107
Default color 39 49

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

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

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

Если вам нужно несколько вариантов форматирования, например жирный, наклонный и подчеркнутый текст одновременно, то вы можете указать несколько кодов форматирования через знак — ; , например — \e[1;3;4;33;44mTEXT\e[0m

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

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

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

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

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

  • \e[ — начало форматирования текста.
  • w;x;y;zm — код цвета (w = коды форматирования, x = что форматируем текст (код 38) или фон (код 48), y = 5, z = код цвета от 0 до 255). В данном случае важно соблюдать порядок следования для w, x, y и z.
  • \e[m — конец форматирования текста (необязателен, нужен для сброса форматирования).

Чтобы для одного и того же текста одновременно задать цвет и фон нужно еще раз указать соответствующую последовательность кодов, например — \e[38;5;124;48;5;20mTEXT\e[0m

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

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

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

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

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

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

  • \e[ — начало форматирования текста.
  • w;x;y;z1,z2,z3m — код цвета (w = коды форматирования, x = что форматируем текст (код 38) или фон (код 48), y = 2, z1 = RED(0-255), z2 = GREEN(0-255), z3= BLUE(0-255)). В данном случае важно соблюдать порядок следования для w, x, y и z1, z2, z3.
  • \e[m — конец форматирования текста (необязателен, нужен для сброса форматирования).

Если вы не используете какой либо из цветов, то его можно не писать, но место под него должно остаться, например чисто синий цвет — \e[1;38;2;;;255m

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

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

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

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

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

Теперь подставим переменные внутрь PS1 .

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

Цвет можно также задать с помощью команды tput , которая будет подставлять всё те же управляющие символы.

tput setaf 6 — установка цвета текста
tput setab 6 — установка цвета фона
tput sgr0 — очистка форматирования

Пример использования команды tput .

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

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

Цвет Black Red Green Yellow Blue Magenta Cyan White
Код 0 1 2 3 4 5 6 7

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

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

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

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

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

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

/.bashrc , измените в нем значение переменной clr , на номер из палитры 256 цветов, с которого хотите начать градиент.

Источник

Оцените статью