Как изменить консоль linux

Изменяем оформление командной строки в терминале Linux

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

Что будем менять?

На скриншоте ниже представлен сервер, который использую для обучения на курсе по DevOps, он создан в Яндекс Облаке. Видим, что в месте, где находится курсор показывается имя пользователя, под которым осуществлено подключение и имя компьютера (хоста).

Именно это оформление мы и будем менять. Давайте сделаем так, чтобы командная строка выглядела следующим образом:

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

Переменные окружения

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

За отображение так называемого приглашения командной строки (это именно текст слева от курсора, который мы будем изменять) отвечает переменная PS1. Давайте выведем ее, чтобы узнать текущее значение.

На «выхлопе» видим много букв, символов и значений. Но не стоит пугаться, в статье мы поработаем с некоторыми из них, чтобы понять за что каждое отвечает.

Способы изменения переменных окружения

Существует два способа изменения значений переменных окружения. Первым является использование команды export, после которой идет имя переменной и ее значение. Синтаксис прост донельзя:

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

Вторым способом является изменение конфигурационного файла оболочки и указание там команды export с нужными значениями. Стандартный конфигурационный файл именуется, как .bashrc, но помним, что если установлена ZSH в качестве оболочки, то ее настройка происходит через файл .zshrc. Например, попробуем создать собственную переменную PING и задать ее значение через конфиг.

В примере на скриншот я открыл в текстовом редакторе nano файл .bashrc, вставил туда строку export PING=»PONG» и после сохранения изменений перезапустил оболочку командой . .bashrc. Становится понятным, что для реализации задуманного нам подойдет второй способ: через конфигурационный файл оболочки мы зададим значение переменной $PS1, чтобы после каждого подключения она не стиралась.

Читайте также:  How to zip folders in linux

Знакомимся с параметрами $PS1

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

Как понимаете, нам специальные символы не понадобятся, мы обойдемся стандартными. Дополнительно каждому выводимому элементу можно назначить цветовое оформление. Общий синтаксис раскрашивания такой:

\e[X;YmСТРОКА ДЛЯ РАСКРАШИВАНИЯ\e[m

Из введенной строки \e[ обозначает начало цветовой схемы, X;Ym — цветовая пара (X;Y), которая задает цвет и \e[m это окончание цветовой схемы. В цветовой паре мы видим символы X и Y. Символ X может принимать значение от 0 до 5, где:

  • 0 — обычный цвет
  • 1 — будет использоваться более яркий цвет
  • 2 — более темный цвет
  • 3 — курсив
  • 4 — подчеркивание
  • 5 — моргание

Символ Y может принимать любое из числовых значений, которое соответствует цвету. Скриншот таблицы с соответствием чисел цвету привожу ниже.

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

Источник

Bash — стилизуем командную строку и терминал

Если вы освоили Linux и настраиваете под себя, то вам приходится использовать терминал и интерпретатор bash.

Захотелось мне изменить внешний вид терминала, а в частности вид самой командной строки. Оказалось это все не так сложно.

Информации на эту тему очень много.

Итак по порядку, начнем с самого терминала

Запустим его, выглядит по умолчанию он вот так:

терминал, внешний вид по умолчанию

Запустим терминал и зайдем в меню сверху правка — настройки

терминал, открываем настройки

В настройках терминала вы найдете вкладки Общие, Вид, Цвета — это те вкладки с параметрами которые содержат опции, влияющие на внешний вид вашего терминала.

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

Вкладка настроек вида. Можно поменять шрифт его параметры. Фон сделать прозрачным — например. Задать размеры терминала которым он соотвутствует при запуске.

настройки терминала вкладка Вид

Думаю понятно из названия, тут вы сможете поменять цветовую схему терминала.

Настройка терминала, вкладка цвета

Теперь перейдем к интерпретатору Bash

Интерпретатор bash — простым языком это оболочка которая принимает ваши команды и передает их системе.

Bash (от англ. Bourne again shell, каламбур «Born again» shell — «возрождённый» shell) — усовершенствованная и модернизированная вариация командной оболочки Bourne shell. Одна из наиболее популярных современных разновидностей командной оболочки UNIX. Особенно популярна в среде Linux, где она часто используется в качестве предустановленной командной оболочки.

Представляет собой командный процессор, работающий, как правило, в интерактивном режиме в текстовом окне. Bash также может читать команды из файла, который называется скриптом (или сценарием). Как и все Unix-оболочки, он поддерживает автодополнение имён файлов и каталогов, подстановку вывода результата команд, переменные, контроль над порядком выполнения, операторы ветвления и цикла. Ключевые слова, синтаксис и другие основные особенности языка были заимствованы из sh. Другие функции, например, история, были скопированы из csh и ksh. Bash в основном соответствует стандарту POSIX, но с рядом расширений [3] .

В Windows тоже есть терминал, который использует интерпретатор shell — более раннюю версию Bash.

Читайте также:  Other linux 64 guest

По умолчанию выглядит наша строка так

строка терминала со стилями по умолчанию

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

Стиль нашей командной строки определяет конфигурационный файл

Он содержится в нашей домашней директории в скрытом виде, его и будем редактировать.

Но для начала нужно знать, что редактировать.

Поэтому не спешите и дочитайте всю статью до конца, чтоб правильно стилизовать строку интерпретатора bash и не сломать ничего в системе.

Стиль и первоначальную информацию выводит и определяет переменная PS1.

При запуске мы видим имя пользователя и после знака @ идет имя нашего хоста, на конце знак доллара.

Если вы перейдете на работу от имени root (получите полный доступ) на конце строки будет стоять знак #.

И соответственно сменится имя на root.

Параметры переменной PS1 в конфигурационном файле Bash

\a an ASCII bell character (07)
\d дата в формате »День_недели, Месяц, Число».
\e an ASCII escape character (033)
\h имя хоста до первой точки.
\H имя хоста
\j количество задач, работающих в интерпретаторе в настоящее время
\l название терминала
\n переход на новую строку
\r возврат каретки на начало строки
\s название интерпретатора (будет выведено, например, «bash»
\t время в 24-часовом формате (ЧЧ: MM: СС)
\T время в 12-часовом формате (ЧЧ: ММ: СС)
\@ время в 12-часовом формате (AM/PM)
\u имя активного пользователя
\v номер версии bash
\V номер версии bash, номер релиза
\w текущая директория (будет выведено в формате /path/to/work_dir_name)
\W имя текущей директории (будет выведено в формате «dir_name\»)
\! номер команды в истории
\# системный номер команды
\$ if the effective UID is 0, a #, otherwise a $
\\ обратный слеш
\[ начало последовательности непечатаемых символов (см. примеры в разделе «Цвета и стилизация».
\] конец последовательности символов
$ ( ) внешняя команда

С помощью этих переменных можно в приветствии вывести время например и т.п.

Если зададим такую переменную, добавим дату к имеющемуся (как пример), убрав все стили

строка bash с текущей датой

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

Все стили задаются по следующим параметрам:

Стили текста:

Нормальный, обычный текст — 0

Источник

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

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

Читайте также:  Linux определить архитектуру процессора

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

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

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

  • Продвинутая механика автодополнения команд по нажатию или . В отличие от Bash, вам не нужно это настраивать, все работает на высшем уровне прямо «из коробки».
  • Множество готовых тем, модулей, плагинов и прочего. Настраиваемость через фреймворки (oh-my-zsh, prezto и др.), которые значительно расширяют возможности кастомизации и улучшения терминала. Опять же, всего этого можно добиться и в Bash, но для Zsh масса уже готовых материалов. Для Bash их значительно меньше, а некоторых вовсе нет.

Настройка Zsh

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

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

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

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

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

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

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

В файле ~/.zshrc меняем строку с plugins= :

plugins=(git zsh-syntax-highlighting)

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

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

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

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

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

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

ZSH_THEME="powerlevel10k/powerlevel10k"
POWERLEVEL9K_MODE="nerdfont-complete"
[colors] # special foreground = #e6e6e6 foreground_bold = #e6e6e6 cursor = #fff background = #000 # black color0 = #75715e color8 = #272822 # red color1 = #f92672 color9 = #f92672 # green color2 = #a6e22e color10 = #a6e22e # yellow color3 = #434648 color11 = #7ea35f # blue color4 = #66d9ef color12 = #66d9ef # magenta color5 = #ae81ff color13 = #ae81ff # cyan color6 = #adb3b9 color14 = #62ab9d # white color7 = #2AA198 color15 = #2AA198 

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

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

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

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

for i in ; do print -Pn \"%K %k%F$%f \" $:+$'\n'>; done

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

typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
typeset -g POWERLEVEL9K_DIR_BACKGROUND=33
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK__FOREGROUND=2
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR__FOREGROUND=1
typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15

Результат

Внешний вид терминала
Ошибка:
Внешний вид ошибки
GIT:
Внешний вид GIT каталога

Источники

Источник

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