Русский
Русский
English
Статистика
Реклама

Terminal emulator

Из песочницы Делаем Linux терминал красивым и удобным

20.08.2020 20:06:34 | Автор: admin
Все дистрибутивы 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: command not found: curl
Установите 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: command not found: git
Установите 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]# specialforeground      = #e6e6e6foreground_bold = #e6e6e6cursor          = #fffbackground      = #000# blackcolor0  = #75715ecolor8  = #272822# redcolor1  = #f92672color9  = #f92672# greencolor2  = #a6e22ecolor10 = #a6e22e# yellowcolor3  = #434648color11 = #7ea35f# bluecolor4  = #66d9efcolor12 = #66d9ef# magentacolor5  = #ae81ffcolor13 = #ae81ff# cyancolor6  = #adb3b9color14 = #62ab9d# whitecolor7  = #2AA198color15 = #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
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru