Делаем Linux терминал красивым и удобным
Добавляем функциональность
Командная оболочка
Большинство дистрибутивов поставляется со встроенным Bash. Используя дополнения можно сделать из него все что захотите, но гораздо проще этого добиться с Zsh. Почему?
Настройка Zsh
Для начала, установим Zsh (если он уже установлен, например, как в Manjaro, можете пропустить этот пункт):
Oh-My-Zsh — популярный и активно развивающийся фреймворк Zsh, который позволяет гибко настроить оболочку терминала. Установим его:
Подсветка синтаксиса. Гораздо проще ориентироваться по содержимому терминала, когда разные части команд подсвечены разными цветами. Например, директории будут подчеркиваться, а команды — выделяться цветом, отличным от обычного текста. Установим плагин zsh-syntax-highlighting :
Чтоб плагин заработал, его надо подключить.
/.zshrc меняем строку с plugins= :
Если такой строки нет — добавьте её.
Готово! Получаем удобный и функциональный терминал. Теперь сделаем его визуально приятным.
Настраиваем внешний вид
Скачиваем и добавляем в систему шрифт JetBrains Mono Nerd (c иконками):
Выберитеодин из списка, в папке шрифт/complete выберите шрифт без «Windows Compatible», с окончанием «Mono».
Подключаем шрифт и тему.
Если в файле эти строки уже есть — замените их.
Цвета. Важная часть оформления терминала — цветовая схема. Я перебрал много разных схем, редактировал их, остановился на Monokai Dark. Не режет глаза, но при этом приятная и яркая. Список цветов:
В разных терминалах по-разному меняется цветовая схема (обычно, это делается через настройки терминала), но порядок цветов везде одинаковый. Вы можете импортировать этот шаблон в формате Termite и экспортировать его для вашего терминала через terminal.sexy
Финальный штрих — меняем конфиг темы и заменяем встроенные цвета.
Если в файле эти строки уже есть — замените их. Коды цветов можно получить командой
Как сделать красивую консоль в Mac и Linux
Если у вас OS X, поставьте iTerm2, он лучше стандартного Terminal.app. Если у вас Linux, то у вас наверняка уже есть неплохой терминал, или вы можете самостоятельно поставить любой, который вам нравится. Я вот люблю Sakura. Ещё я обычно меняю цветовую схему. Стандартные чёрные мне не очень нравятся, есть крутая схема Solarized. Как её устанавливать тоже зависит от вашего терминала.
Теперь настроим непосредственно шелл. Шелл — это оболочка, в которой выполняются команды. Он показывает вам так называемое приглашение, оно обычно состоит из имени пользователя, имени компьютера и пути к тому месту, где вы сейчас находитесь. И выполняет команды, которые вы в него вводите. Стандартный шелл выглядит так:

Скучновато, правда? Первое, что мы сделаем — сменим оболочку с bash на zsh. Bash — это стандартная оболочка, которая поставляется в комплекте большинства систем. Zsh — это более современная оболочка со множеством плюшек. По сравнению с bash улучшены автодополнение, алиасы, хоткеи. Всё, что может bash, zsh может тоже, так что не вижу причин не переходить. У пользователей OS X zsh уже есть на компьютере, а пользователям Linux, скорее всего, нужно его установить. В Ubuntu и Debian это делается просто:

Пользователи остальных систем наверняка справятся с установкой. Теперь нужно сделать, чтобы zsh был вашей оболочкой по умолчанию, то есть использовался каждый раз, когда вы открываете терминал. Для этого есть команда chsh (change shell):


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

Мы, ничего не делая, выйдем (нажмём q ), потому что знаем секрет. Секрет в том, что не нужно писать длинный конфиг, если вы новый пользователь: частые проблемы и хотелки уже решили другие, и родилась такая замечательная штука — Oh My ZSH. Это набор плагинов и настроек, которые решают самые популярные задачи и делают ваш шелл просто офигенным. Установим его, следуя инструкциям с официального сайта:
Установка прошла, но ничего не поменялось? Надо закрыть терминал и снова открыть его, чтобы настройки, которые приехали к нам из oh-my-zsh, прочитались и применились. Закрыли-открыли, теперь видим новое приветствие:


Сохраните файл и снова перезапустите терминал (или откройте в нём новую вкладку). Теперь шелл выглядит по-новому:

Это тема Bureau. В верхней строчке сначала имя пользователя, потом имя машины, потом путь к папке, где пользователь сейчас находится. Справа текущее время. В следующей строке просто символы, которые обозначают, что ввод здесь, а справа после шестиугольника текущая версия Node.js, ветка Git (если пользователь сейчас в Git-репозитории), и кружочки, которые обозначают, что есть несохранённые изменения. В этой теме версия Node.js показывается только если вы используете Node Version Manager.

А это тема Лёши, можете её взять из github и сохранить в папке
Да и вообще, полистайте список тем и выберите ту, которая вам по душе. Или склейте свою из кусочков понравившихся тем, или даже напишите с нуля! Все темы лежат в папке
Как изменить цвет текста строки приглашения в терминале Linux
Использование цвета в строке приглашения терминала
В большинстве терминалов для Linux доступен некоторый набор цветов, которые вы можете использовать для стилизации строки приглашения или любого другого текста. В терминале можно задать не только цвет текста, но и цвет фона, а также применить форматирование. Чтобы задать цвет для строки приглашения, необходимо изменить значение переменной PS1 задав в ней специальный цветовой код для того текста, который хотим раскрасить. Подробнее о строке приглашения вы можете узнать из этой статьи.
Существуют терминалы, которые поддерживают следующее количество цветов:
Чтобы узнать сколько цветов поддерживает ваш терминал, введите следующую команду.
Изменение цвета текста в терминале с помощью управляющих символов (8/16 цветов)
Цвет в терминалах задается с помощью специальных управляющих символов:
Результат будет следующим.
Изменение цвета текста для строки приглашения в терминале 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 |
Некоторые терминалы не поддерживают различные типы форматирования.
Для полноты картины рассмотрим несколько примеров стилизации строки приглашения.
Форматирования строки приглашения в терминале Bash c использованием палитры в 16 цветов
В конце статьи вы можете ознакомиться с Bash-скриптом, который наглядно покажет как форматирование поддерживается в вашем терминале.
Изменение цвета текста в терминале с помощью управляющих символов (88/256 цветов)
Для терминалов с поддержкой 88/256 цветов используются следующий порядок управляющих символов:
Примеры изменения цвета для строки приветствия могут выглядеть следующим образом.
Форматирование строки приглашения в терминале Bash c использованием палитры в 256 цветов
В последнем разделе вы найдете Bash-скрипт, который выведет карту всех 256 цветов в терминале, чтобы вам было удобней определиться с выбором.
Изменение цвета текста в терминале с помощью управляющих символов (16777216 цветов)
Терминалы с поддержкой 24-битной версии управляющих символов ANSI, способны выводить почти полный спектр видимых человеком цветов в формате RGB.
Здесь также как и в двух предыдущих вариантах используются управляющие символы. Только теперь для каждого цвета (красный, зеленый, синий) выделяется по одному байту, т.е. для каждого цвета вы можете задать промежуток от 0 до 255.
Несколько примеров использования RGB формата.
Форматирование строки приветствия в CentOS с помощью цветовой модели RGB
Сохранение цветового кода в переменных
Если сильно увлечься с форматированием, то можно получить практически не читаемый код. Для того чтобы избежать излишнего громаждения управляющих символов рекомендую сохранять код каждого цвета в переменную и подставлять ее в нужное место.
Сохранить цвет в переменную можно следующим образом.
Изменение цвета текста в терминале с помощью команды 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 в конец файла
Вы также можете сохранить строку приветствия раскрашенную в градиенте. Для этого вставьте следующий код в файл
compizomania
Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ
Страницы
30 ноября 2012
Как «раскрасить» терминал в Ubuntu
Операционная система Ubuntu и другие дистрибутивы Linux привлекают пользователя тем, что они напоминают пластилин, т.е. в них можно «вылепить»/настроить всё так как нравится и удобно пользователю.
Вот так терминал выглядит по умолчанию в последних релизах Ubuntu:
Но можно сделать его вот таким:
Короче говоря, у кого на сколько фантазии хватит.
Итак, как это делается или с чего начать?
Прежде всего нужно отметить, что всё что касается терминала. находится в файле .bashrc, который в свою очередь расположен в Домашней директории (папке), в скрытых файлах и папках, т.к. у этого файла точка в начале, обозначающая что он скрытый. Чтобы его увидеть, откройте файловый менеджер Nautilus и примените сочетание клавиш Ctrl+H либо выполните команду в терминале:
Если вы уже открыли редактор с файлом .bashrc, то не закрывайте, возможно он вам в дальнейшем понадобится для внесения изменений.
За внешний вид строки приглашения, т.е. то что вы видите при открытии терминала, в файле отвечает переменное окружение PS1, которое по умолчанию выглядит следующим образом — PS1=»\u@\h: «. Символы u и h при отображении консоли будут заменены на имя текущего пользователя и имя машины соответственно. Таких спец символов около двадцати, манипулируя ими можно скорректировать вид командной строки на любой вкус и цвет. Более подробный список символов можно найти в man bash, открыв его в терминале.
В текстовом файле .bashrc есть подобная строка:
Но чтобы вам не ломать голову, создавать заново строку, я подготовил её:
Скопируйте её, вставьте в конец файла .bashrc:
и нажмите Сохранить, но не закрывайте редактор. А теперь перезапустите терминал (закрыть/открыть) и вы должны увидеть следующее:
Если вас не устраивают эти цвета, то их можно легко изменить на свои из приведённой ниже таблице кодов:
Таблица цветовых кодов:
В текстовом редакторе с файлом .bashrc, в строке что вы установили, измените цифры указанные стрелкой перед буквой m из приведённых цветовых кодов:
Нажмите кнопку Сохранить и перезапустите терминал (закрыть/открыть). Пробуйте пока не добьётесь нужного для вас результата.
Уберите крыжик из пункта Использовать цвета из системной темы (указан стрелкой) и кликните на кнопке Встроенные схемы, где уже есть несколько предложенных схем по умолчанию. Просто активируйте любую и смотрите как изменится цвет текста и фон терминала. Если вас не устраивают цвета по умолчанию, их можно изменить на пользовательские (ваши), кликнув на цветных прямоугольниках: Цвет текста и Цвет фона, выберите из предложенной гаммы нужный и кнопка Выбрать.
Когда вы «наиграетесь» с цветами текста и фона, в этом же окне перейдите во вкладку Фон:
Активируйте пункт Фоновое изображение, а затем кликните на папке, что указана стрелкой №2, в открывшемся окне вашего файлового менеджера выберите картинку (если она у вас есть) и Открыть, как она тут же отобразится в окне терминала:
Здесь же в пункте Затемнять прозрачность или изображение фона, передвиньте флажок в нужное положение, выставляя тем самым прозрачность в окне терминала до нужного вам восприятия.
Когда закончите все настройки закройте окно настроек терминала.
Вот таким образом можно раскрасить терминал «под петуха», согласно вашей фантазии.
Если вы захотите вернуться к настройкам терминала по умолчанию, активируйте вновь пункты, которые были раньше и удалите строку установленную в файле .bashrc, не забыв сохранить его.
Цвета терминала Linux
Одно из главных преимуществ Linux заключается в том, что при желании в нём можно настроить всё, что угодно. В этом и выражается преимущество проективных систем, над процедурными. Фактически, это конструктор, состоящий из отдельных блоков, каждый из которых можно настроить по своему желанию.
Особенно интересно, если не просто копируешь чужой «рецепт», а пытаешься разобраться, что и как устроено. И даже решая несерьезную задачу, узнаешь что-то новое.
Раскрашиваем цвета вывода ls
Как-то захотелось мне настроить цвета терминала linux в выводе команды ls. Ну не нравился блекло-фиолетовый цвет для каталогов в Linux Mint. Начал разбираться.
Из документации к ls, выяснил, что установка цветов для вывода осуществляется при помощи утилиты dircolors, которая либо устанавливает параметры цвета из своей собственной базы, либо берет их из файла
/.dircolors. Такого файла в моем домашнем каталоге не было. Также упоминалось, что инициализация использования цветов происходит через
/.bashrc, файл с настройками командной оболочки, а сами параметры определяются через переменную LC_COLORS.
Если запустить утилиту dircolors, она выводит значение переменной LC_COLOR.
Также возможен вывод значения переменной LC_COLORS в структурированном виде, указанием ключа:
Поскольку вывод получается длинный, приводить его не буду.
/.dircolors, то будет создан структурированный файл, из которого и будут браться настройки цветов. Редактируя данный файл и устанавливаются настройки цвета для вывода ls.
Устанавливая последовательность через точку с запятой и получаем нужный нам цвет в консоли linux, согласно перечисленным. Цвета терминала linux от 30 до 37 для цвета шрифта, а с 40 до 47 для фона. К примеру:
DIR 01;34 подразумевает, что имена директорий будут выделяться жирным шрифтом и синим цветом.
Чтобы не перебирать цвета linux вручную, есть уже готовая таблица цветов:
Раскрашиваем и изменяем строку приглашения:
Разобравшись, как устанавливать цвета linux через esc-коды, не составит труда переделать и раскрасить строку приглашения. За ее вывод отвечает переменная PS1, которая определена в файле
В Linux Mint скрипт ее инициализации имеет следующий вид:
То-есть сперва определяется, запустил ли скрипт root или обычный пользователь. Поскольку в подавляющем большинстве случаев имеет место именно второй вариант, то и редактировать нужно строку, следующую после первого ‘else’. Формат строки расшифрован в документации по баш, в разделе «Promting». Из него следует, что esc-последовательность должна начинаться с «\[» и заканчиваться «\]». Таким образом:
Что ещё можно вывести в строке приглашения:
Введем что нибудь поинтереснее:
И строка приглашения примет вид:
Так, не понял, а откуда взялась ёлка-то?



















