Интерфейс командной строки — это мощный инструмент взаимодействия с системой Linux для эффективного выполнения различных задач. По умолчанию во многих дистрибутивах Linux, включая Fedora, используется оболочка Bash (Bourne Again Shell).
Существуют альтернативные оболочки Linux, которые предлагают расширенные возможности, улучшенную настройку и более удобный интерфейс. Одной из таких оболочек является Zsh, также известная как Z Shell.
Что такое Zsh?
Zsh (сокращение от Z Shell) — это многофункциональная и мощная программа-оболочка для Unix-подобных операционных систем с большим количеством интерактивных возможностей. Это расширенная версия Bourne Shell (sh) с большим количеством новых возможностей, поддержкой плагинов и тем. Он предназначен для работы в интерактивном режиме, а также является мощным скриптовым языком.
Преимущество Zsh перед большинством других оболочек Linux заключается в том, что он более сложен и настраиваем, но при этом очень прост в настройке.
Среди его ключевых возможностей — автозавершение команды cd, рекурсивное расширение путей и коррекция орфографии, интерактивный выбор файлов и каталогов.
В этой статье мы рассмотрим процесс установки и настройки Zsh в системе Fedora.
Установка Zsh в системе Fedora
Zsh можно найти в репозиториях Fedora и установить с помощью следующей команды dnf.
$ sudo dnf install zsh
Для начала работы с ним достаточно запустить zsh, и новая оболочка предложит вам мастер функций начальной настройки для новых пользователей, как показано на рисунке ниже.
Этот мастер позволяет создать файлы запуска/инициализации Zsh. Нажмите (1) для перехода в главное меню.
$ zsh
Ниже приведено изображение главного меню. Обратите внимание, что статус всех настраиваемых опций — Recommended. Чтобы выбрать опцию для настройки, введите ключ для нее.
Например, введите (1), чтобы выбрать пункт конфигурирования настроек для истории. На следующем экране введите (0), чтобы запомнить редактирование и вернуться в главное меню (где статус этой опции должен измениться на Unsaved changes).
Повторите два предыдущих шага для остальных опций. Теперь первые три опции должны иметь статус Unsaved changes. Опция конфигурации (4) позволяет выбрать некоторые общие параметры оболочки.
Чтобы сохранить новые настройки, введите (0). На экране появится сообщение, показанное на следующем снимке, а командная строка должна измениться с $ (для Bash) на % (для Zsh).
Теперь, когда вы установили Zsh на свою систему Fedora, можно приступить к тестированию некоторых его ключевых функций, о которых мы говорили в начале статьи. К ним относятся автозавершение, коррекция орфографии и многое другое.
Установка Zsh в качестве оболочки по умолчанию в Fedora
Чтобы сделать Zsh оболочкой по умолчанию, которая будет запускаться при каждом запуске сеанса или открытии терминала, выполните команду chsh, которая используется для изменения оболочки входа пользователя в систему следующим образом (вам будет предложено ввести пароль учетной записи).
$ grep tecmint /etc/passwd
$ chsh -s $(which zsh)
$ grep tecmint /etc/passwd
Приведенная выше команда сообщает системе, что вы хотите установить (-s) оболочку по умолчанию (которая zsh).
Установка Oh-My-Zsh в Fedora
Настоящая сила Zsh заключается в его конфигурируемости, которая может быть достигнута путем настройки различных аспектов среды Zsh, таких как темы, плагины и псевдонимы. Одним из популярных фреймворков для управления конфигурацией Zsh является Oh-My-Zsh, который предоставляет коллекцию полезных плагинов и тем.
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
После завершения установки ваша конфигурация Zsh будет автоматически обновлена для использования Oh-My-Zsh.
Выбор темы Oh-My-Zsh для Fedora
Oh-My-Zsh предлагает множество тем, которые можно использовать для изменения внешнего вида терминала. Доступные темы можно просмотреть в каталоге ~/.oh-my-zsh/themes/.
$ ls ~/.oh-my-zsh/themes/
Чтобы изменить тему, откройте файл ~/.zshrc в текстовом редакторе и найдите строку, задающую переменную ZSH_THEME.
$ sudo nano ~/.zshrc
и измените значение на название темы, которую вы хотите использовать.
ZSH_THEME="agnoster"
Сохраните файл и перезапустите терминал, чтобы увидеть новую тему в действии.
Добавление плагина Oh-My-Zsh для Fedora
Oh-My-Zsh поддерживает широкий спектр плагинов, которые можно использовать для расширения функциональности Zsh. Вы можете включить подключаемые модули, отредактировав свой файл ~/.zshrc и добавив имена подключаемых модулей в массив plugins.
Например, чтобы включить плагины git и docker, ваша конфигурация будет выглядеть следующим образом:
plugins=(git docker)
После добавления или модификации плагинов сохраните файл и перезапустите терминал.
$ man zsh
Zsh — расширенная версия оболочки Bourne Shell (sh), обладающая большим количеством новых возможностей, а также поддержкой плагинов и тем.