Свое рабочее место все хотят сделать чуть лучше и удобнее чем оно идет из "Коробки". в данной инструкции можно быстро и без боли настроить Шелл-терминал ZSH, для лучшего отображения информации и при необходимости расширять его функционал плагинами. Попутно установим один из Kitty - мультиплексный терминал, который позволяет использовать вкладки и "окна" в работе. Используя его можно структурировать рабочее место легко и быстро. Плюсом данной инструкции будет то что вы получите свежие и стабильные версии некоторых пакетов, т.к. установку и сборку будем производить непосредственно из репозиториев.
Для начала обновим все пакеты, обращу внимание, разные строчки будут для разных дистрибутивов. (Ubuntu и Ubuntu подобные дистрибутивы типа Linux Mint и т.п. будем писать Ubuntu для краткости):
Ubuntu: sudo apt update
Fedora: sudo dnf update
Установим Git для скачивания пакетов. (если у вас он установлен, можно шаг пропустить):
Ubuntu: sudo apt install git
Fedora: sudo dnf install git
Далее устанавливаем мультиплексный терминал Kitty, установим его из репозиториев самих систем. информацию о самом терминале, горячих клавишах можно почитать здесь (https://sw.kovidgoyal.net/kitty/):
Ubuntu: sudo apt install kitty
Fedora: sudo dnf install kitty
Пришло время установить сам Шелл ZSH
Ubuntu: sudo apt install zsh
Fedora: sudo dnf install zsh
На всякий случай, создадим файл конфигурации если он не создался при установке:
touch ~/.zshrc
Назначим zsh коммандной оболочкой (шелл) по умолчанию в нашей системе, в зависимости от ваших настроек в системе, может понадобиться ввести пароль для смены шелла:
chsh -s $(which zsh)
Для возможности установки дополнительных плагинов и "прокачивания" ZSH установим для него фреймворк OhMyZsh информацию о нем можно почитать здесь (https://ohmyz.sh/)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Для дальнейшей установки, дабы не мусорить в своих каталогах, создадим в корне профиля папку tmp
cd ~/ && mkdir tmp && cd tmp
Скачиваем скрипты из моего репозитория, в нем можно найти рабочие настройки для различных используемых в работе приложений.таких как (i3 - тайловый менеджер, polybar, helix - редактор кода, wezterm - мультиплексный терминал, picom - красивости для оконного менеджера, nvim - редактор кода, kitty - мультиплексный терминал), конкретно нас нитересует скрипт установки необходимых шрифтов:
git clone https://github.com/apilot/dotfiles.git
cd ~/tmp/dotfiles
Выбираем шрифты которые хотим установить. основные шрифты уже выбраны. если необходимо можно убрать комментарий перед наименованием шрифта в списке или закомментировать те что не нужны. в любом случае в последствии вы можете потом удалить лишнее из самой папки ~/.local/share/fonts
:
![](https://habrastorage.org/getpro/habr/upload_files/675/f60/177/675f601772b26449a9cab414bfd0fea9.png)
Сделаем скрипт исполняемым:
chmod +x ./fonts_install.sh
Запускаем его:
./fonts_install.sh
Далее установим тему с менеджером для ее "тонкой" настройки:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Необходимо отредактировать файл ~/.zshrc
, заменить значение ключа ZSH_THEME на :ZSH_THEME="powerlevel10k/powerlevel10k"
Запускаем редактор:
nano ~/.zshrc
![](https://habrastorage.org/getpro/habr/upload_files/c98/b41/0ce/c98b410ce107aaa37a5542e4c628da65.png)
Для сохранения нажимаем Ctrl + X
и нажимаем Enter
Закрываем терминал.
Нажимаем ALT-F2 и набираем команду
kitty
Далее следуем инструкции по настройке нашей темы Powerlevel10k, все достаточно просто и прозрачно. для вашего удобства по шагам сделал снимки окошка:
![нас спрашивают видим ли мы ромб между стрелками нас спрашивают видим ли мы ромб между стрелками](https://habrastorage.org/getpro/habr/upload_files/483/d15/f91/483d15f91f0d1614f45ba0a7f7476c8d.png)
![виден ли замок между стрелками виден ли замок между стрелками](https://habrastorage.org/getpro/habr/upload_files/dc1/4e8/e25/dc14e8e25dc6d8065e66faac326ab180.png)
![спрашивают видим ли мы стрелку вверх, на этом шаге у меня получилось не верно, стрелки нет, посему нажал нет спрашивают видим ли мы стрелку вверх, на этом шаге у меня получилось не верно, стрелки нет, посему нажал нет](https://habrastorage.org/getpro/habr/upload_files/3e5/797/7eb/3e57977eb9425c0062c95416bdfad8f6.png)
![на следующем шаге стрелка появилась, продолжаем настройку на следующем шаге стрелка появилась, продолжаем настройку](https://habrastorage.org/getpro/habr/upload_files/ad2/00d/de5/ad200dde5a12d1825ee4e354b77d6b99.png)
![спрашивает на какую из цифр указывает зеленая стрелка вниз спрашивает на какую из цифр указывает зеленая стрелка вниз](https://habrastorage.org/getpro/habr/upload_files/93d/d31/e1a/93dd31e1a32edf6c8158b9e134715c12.png)
![интересуются нормально ли отображаются иконки вместе с текстом, не наезжают ли они на X крестики интересуются нормально ли отображаются иконки вместе с текстом, не наезжают ли они на X крестики](https://habrastorage.org/getpro/habr/upload_files/2b1/bd9/17c/2b1bd917c6b4036f8f192da07c480c62.png)
![выбираем то на что нам будет приятнее смотреть выбираем то на что нам будет приятнее смотреть](https://habrastorage.org/getpro/habr/upload_files/669/ba8/63c/669ba863cda17d9b2f374d37d7ed790a.png)
![так как предполагается использование русских символов, выбираем UNICODE так как предполагается использование русских символов, выбираем UNICODE](https://habrastorage.org/getpro/habr/upload_files/35f/02c/04c/35f02c04c59bb30a56d2c70a604cb34f.png)
![выбираем степень затемненности нашей информационной строки шела выбираем степень затемненности нашей информационной строки шела](https://habrastorage.org/getpro/habr/upload_files/ad6/0dd/9c5/ad60dd9c55c25a4265f878fae5d51314.png)
![выбираем нужно ли, и в каком формате, время в статусной строке терминала выбираем нужно ли, и в каком формате, время в статусной строке терминала](https://habrastorage.org/getpro/habr/upload_files/b0b/ecc/d7e/b0beccd7e3d90cb33a0af37b0081a589.png)
![как хотим разделять информацию в левой части панели как хотим разделять информацию в левой части панели](https://habrastorage.org/getpro/habr/upload_files/8dd/352/ebd/8dd352ebd28da3504d74d3e0e48d9c2f.png)
![какого типа будет "голова" левой части терминала какого типа будет "голова" левой части терминала](https://habrastorage.org/getpro/habr/upload_files/1d8/be5/cd3/1d8be5cd3de48965a1fe809e5ab64418.png)
![какой тип будет у "хвоста" левой части какой тип будет у "хвоста" левой части](https://habrastorage.org/getpro/habr/upload_files/144/f27/b35/144f27b35373f80175f21205febc68e3.png)
![выбираем в одну или две строки показывать статусную строку. по использованию могу лишь посоветовать 2 строки. т.к. информация о ветке в гите будет съедать много места и на "тело" командной строки останется совсем не много. а так во всю ширину будет возможность писать команды. выбираем в одну или две строки показывать статусную строку. по использованию могу лишь посоветовать 2 строки. т.к. информация о ветке в гите будет съедать много места и на "тело" командной строки останется совсем не много. а так во всю ширину будет возможность писать команды.](https://habrastorage.org/getpro/habr/upload_files/c28/18b/19f/c2818b19f1eb3f3755a52e711778513d.png)
![](https://habrastorage.org/getpro/habr/upload_files/2a3/711/886/2a371188673891efaf3bac17d2b71660.png)
![хотим ли мы визуально соединять левую и правую часть ифнормационной части терминала и каким способом хотим ли мы визуально соединять левую и правую часть ифнормационной части терминала и каким способом](https://habrastorage.org/getpro/habr/upload_files/05c/c00/917/05cc00917880acbb290837d8f6ba3600.png)
![нужны ли нам соединительные линии для двух строк одного пространства, коммандной строки и информационной панели нужны ли нам соединительные линии для двух строк одного пространства, коммандной строки и информационной панели](https://habrastorage.org/getpro/habr/upload_files/61b/2ee/36a/61b2ee36ab35853db84be65af0c8aca6.png)
![тоже на любителя, компактный вариант или с разделением в строку тоже на любителя, компактный вариант или с разделением в строку](https://habrastorage.org/getpro/habr/upload_files/05d/d00/4f2/05dd004f2b873e37d2444f9d32079bfb.png)
![вариант отображения иконок в статусной строке вариант отображения иконок в статусной строке](https://habrastorage.org/getpro/habr/upload_files/a64/489/f1e/a64489f1ef515ceb2cec097e7ea36550.png)
![здесь как вам больше нравится здесь как вам больше нравится](https://habrastorage.org/getpro/habr/upload_files/dd2/5c3/1ed/dd25c31eda1471cd1901ca88b7b6f04b.png)
![интересная опция с вариантом не перегружать последовательность комманд интересная опция с вариантом не перегружать последовательность комманд](https://habrastorage.org/getpro/habr/upload_files/0ef/f59/023/0eff590239439b6ecca2bd9c68cf6a2a.png)
![подтверждаем первым рекомендованным пунктом подтверждаем первым рекомендованным пунктом](https://habrastorage.org/getpro/habr/upload_files/889/2a3/ee0/8892a3ee0e9861fffd03771c8b275f2e.png)
![сохраняем настройки в нашем файле конфигурации zsh сохраняем настройки в нашем файле конфигурации zsh](https://habrastorage.org/getpro/habr/upload_files/d30/21f/403/d3021f403ac1ee18d6506f1375c62ec9.png)
![в результате получаем вот такой терминал, с легко читаемой информацией о состоянии и пути дериктории в которой работаем. в результате получаем вот такой терминал, с легко читаемой информацией о состоянии и пути дериктории в которой работаем.](https://habrastorage.org/getpro/habr/upload_files/382/3e1/663/3823e1663a46b29cc97245389a476dac.png)
Всем добра!