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

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
20-Авг-2020 21:33

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

Это основные причины, по которым я перешел с Bash на Zsh. Помимо этого, Zsh имеет много других «плюшек».
Настройка Zsh
Для начала, установим Zsh (если он уже установлен, например, как в Manjaro, можете пропустить этот пункт):
sudo apt install zsh

Когда вам предложат установить Zsh как оболочка по-умолчанию, нажмите Y, чтоб подтвердить.
Oh-My-Zsh — популярный и активно развивающийся фреймворк Zsh, который позволяет гибко настроить оболочку терминала. Установим его:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

zsh&#58; command not found&#58; curl

SPL
Установите curl:
sudo apt install curl


Подсветка синтаксиса. Гораздо проще ориентироваться по содержимому терминала, когда разные части команд подсвечены разными цветами. Например, директории будут подчеркиваться, а команды — выделяться цветом, отличным от обычного текста. Установим плагин zsh-syntax-highlighting:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

zsh&#58; command not found&#58; git

SPL
Установите git:
sudo apt install git


Чтоб плагин заработал, его надо подключить.
В файле ~/.zshrc меняем строку с plugins=:
plugins=(git zsh-syntax-highlighting)

Если такой строки нет — добавьте её.
Готово! Получаем удобный и функциональный терминал. Теперь сделаем его визуально приятным.
Настраиваем внешний вид
Устанавливаем тему PowerLevel10K:
git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

Скачиваем и добавляем в систему шрифт JetBrains Mono Nerd (c иконками):
Выберитеодин изсписка, в папке шрифт/complete выберите шрифт без «Windows Compatible», с окончанием «Mono».
Подключаем шрифт и тему.
Редактируем ~/.zshrc.
Если в файле эти строки уже есть — замените их.
  • ZSH_THEME="powerlevel10k/powerlevel10k"
  • POWERLEVEL9K_MODE="nerdfont-complete"

Цвета. Важная часть оформления терминала — цветовая схема. Я перебрал много разных схем, редактировал их, остановился на Monokai Dark. Не режет глаза, но при этом приятная и яркая. Список цветов:
[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.
Настройте тему, выбирая варианты отображения, которые вам больше нравятся.
Финальный штрих — меняем конфиг темы и заменяем встроенные цвета.
Редактируем файл ~/.p10k.zsh.
Если в файле эти строки уже есть — замените их. Коды цветов можно получить командой
for i in {0..255}; do print -Pn "%K{$i}  %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done

  • Отображение только текущей директории:
    typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
  • Фон блока с директорией:
    typeset -g POWERLEVEL9K_DIR_BACKGROUND=33
  • Цвета стрелок:
    typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=2

    и
    typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=1

  • Фон ветки Git:
    typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15


Источники
Документация PowerLevel10K
Онлайн дизайнер цветовых схем терминала
Различия между Bash и Zsh
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_nastrojka_linux (Настройка Linux), #_terminal_emulator, #_linux, #_color_scheme, #_customization, #_nastrojka_linux (
Настройка Linux
)
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 22-Ноя 13:44
Часовой пояс: UTC + 5