Установка Zsh на Debian 13, 12, 11: полное руководство

Zsh (Z Shell) — это мощная оболочка командной строки, которая является расширенной версией Bash. Она предлагает улучшенное автодополнение, разделяемую историю команд, красивые темы и множество плагинов. Zsh используется по умолчанию в macOS и Kali Linux, а также популярна среди разработчиков и системных администраторов.

В этом руководстве я покажу три способа настройки Zsh на Debian:

  1. Базовый Zsh — просто установка оболочки
  2. Zsh + APT-плагины — автодополнение и подсветка синтаксиса из репозиториев Debian
  3. Zsh + Oh My Zsh — фреймворк для управления темами и плагинами
МетодИсточникДля кого
Базовый ZshРепозитории DebianТе, кто хочет просто
попробовать Zsh
Zsh + APT-плагиныРепозитории DebianТе, кто хочет улучшить Zsh без
лишних сложностей
Zsh + Oh My ZshОфициальный установщикТе, кто хочет темы и много
плагинов

Оглавление

Предварительные требования

Перед установкой убедитесь, что:

  • Вы имеете права sudo (администратора)

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.

Ожидаемый вывод в терминале:

root

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.


Способ 1: Базовый Zsh (просто установка)

Шаг 1: Обновите систему

sudo apt update && sudo apt upgrade -y

Шаг 2: Установите Zsh

sudo apt install -y zsh

Что делает: Устанавливает Zsh и общие файлы (zsh-common).

Шаг 3: Проверьте версию

zsh --version

Ожидаемый вывод:

  • Debian 13/12: zsh 5.9
  • Debian 11: zsh 5.8

Шаг 4: Запустите Zsh (первый запуск с мастером настройки)

zsh

Что делает: При первом запуске без ~/.zshrc запускается мастер настройки.

Варианты мастера:

  • q — выйти и ничего не создавать
  • 0 — создать пустой ~/.zshrc
  • 1 — интерактивная настройка
  • 2 — использовать рекомендованную конфигурацию

Шаг 5: Сделайте Zsh оболочкой по умолчанию

chsh -s /usr/bin/zsh

Что делает: Изменяет вашу login shell на Zsh. Потребуется ввести пароль.

Проверьте:

echo $SHELL

Ожидаемый вывод: /usr/bin/zsh

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


Способ 2: Zsh + APT-плагины (автодополнение и подсветка)

Этот способ добавляет два полезных плагина, которые устанавливаются через APT.

Шаг 1: Установите плагины

sudo apt install -y zsh-autosuggestions zsh-syntax-highlighting

Что делают плагины:

  • zsh-autosuggestions — подсказывает ранее введённые команды (серым текстом)
  • zsh-syntax-highlighting — подсвечивает синтаксис (зелёным — правильные команды, красным — ошибки)

Шаг 2: Добавьте плагины в ~/.zshrc

echo "source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ~/.zshrc
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc

Шаг 3: Перезагрузите конфигурацию

source ~/.zshrc

Способ 3: Zsh + Oh My Zsh (фреймворк)

Oh My Zsh — это популярный фреймворк для управления конфигурацией Zsh с множеством тем и плагинов.

Шаг 1: Установите зависимости

sudo apt install -y git curl

Шаг 2: Установите Oh My Zsh

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

Что делает: Скачивает и устанавливает Oh My Zsh в ~/.oh-my-zsh.

Шаг 3: Установите дополнительные плагины (опционально)

git clone --depth 1 https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone --depth 1 https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Шаг 4: Включите плагины в ~/.zshrc

Отредактируйте файл:

nano ~/.zshrc

Найдите строку plugins=(git) и замените на:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

Шаг 5: Смените тему (опционально)

В том же файле найдите ZSH_THEME="robbyrussell" и замените, например, на:

ZSH_THEME="agnoster"

Для темы «agnoster» могут потребоваться шрифты Powerline:

sudo apt install -y fonts-powerline

Шаг 6: Перезагрузите конфигурацию

source ~/.zshrc

Основные улучшения Zsh

ФункцияОписание
АвтодополнениеНажмите Tab для дополнения команд, путей и опций
Разделяемая историяВсе терминалы имеют общую историю команд
ПодсказкиСтрелка вверх показывает ранее введённые команды
Псевдонимыalias ll='ls -la' и т.д.
ПравописаниеZsh предлагает исправления при опечатках
(sl вместо ls)
ТемыOh My Zsh даёт десятки красивых приглашений

Решение типичных проблем

8.1 Ошибка: Zsh не становится оболочкой по умолчанию

Симптом: После chsh -s /usr/bin/zsh новый терминал всё равно открывается в Bash.

Причина: Не перезагружена сессия или Zsh отсутствует в /etc/shells.

Пошаговое решение:

Шаг 1: Проверьте, что Zsh есть в списке разрешённых оболочек:

grep zsh /etc/shells

Ожидаемый вывод: /bin/zsh и/или /usr/bin/zsh.

Шаг 2: Если нет — добавьте:

echo "/usr/bin/zsh" | sudo tee -a /etc/shells

Шаг 3: Повторите смену оболочки и перезагрузитесь.


8.2 Ошибка: Плагины не работают (bad substitution, alias: -L)

Симптом: При source ~/.zshrc появляются ошибки.

Причина: Вы пытаетесь source-ить ~/.zshrc из Bash, а не из Zsh.

Пошаговое решение:

Запустите Zsh и затем source:

zsh
source ~/.zshrc

8.3 Ошибка: Тема agnoster отображается с квадратиками

Симптом: Вместо стрелок и символов Git — пустые квадраты.

Причина: Не установлены Powerline-шрифты.

Пошаговое решение:

Установите шрифты:

sudo apt install -y fonts-powerline

Затем в настройках терминала выберите шрифт с окончанием for Powerline (например, Meslo LG S DZ for Powerline).


8.4 Ошибка: Oh My Zsh не обновляется

Симптом: omz update не работает.

Причина: Oh My Zsh был установлен не через официальный установщик или повреждена директория.

Пошаговое решение:

Обновите вручную:

cd ~/.oh-my-zsh && git pull && cd -

8.5 Ошибка: Zsh тормозит при автодополнении

Симптом: Задержка при нажатии Tab.

Причина: Слишком много плагинов или медленный диск.

Пошаговое решение:

Отключите неиспользуемые плагины в ~/.zshrc:

plugins=(git)  # оставьте только нужные

Чек-лист: что проверить после установки

  • [ ] Zsh установлен: zsh --versionzsh 5.x
  • [ ] Оболочка по умолчанию: echo $SHELL/usr/bin/zsh
  • [ ] Плагины работают (если установлены): начните вводить sudo — должно подсветиться зелёным
  • [ ] Автодополнение работает: нажмите Tab после cd / — должен появиться список директорий
  • [ ] Oh My Zsh (если установлен): ls ~/.oh-my-zsh → директория существует
  • [ ] Тема (если меняли): приглашение командной строки изменилось

Обновление Zsh

Обновление APT-пакетов

sudo apt update && sudo apt install --only-upgrade zsh zsh-autosuggestions zsh-syntax-highlighting -y

Обновление Oh My Zsh

omz update

Обновление плагинов (клонированных через Git)

git -C ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions pull
git -C ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting pull

Удаление Zsh и возврат к Bash

Шаг 1: Верните Bash как оболочку по умолчанию

chsh -s /bin/bash

Выйдите из системы и зайдите снова.

Шаг 2: Удалите пакеты Zsh

sudo apt remove --purge zsh zsh-autosuggestions zsh-syntax-highlighting
sudo apt autoremove

Шаг 3: Удалите Oh My Zsh (если устанавливали)

rm -rf ~/.oh-my-zsh ~/.zshrc ~/.zshrc.pre-oh-my-zsh

Часто задаваемые вопросы (FAQ)

Вопрос: Zsh лучше, чем Bash?
Ответ: Для интерактивной работы — да, автодополнение и темы удобнее. Для скриптов Bash остаётся стандартом.

Вопрос: Нужно ли удалять Bash перед установкой Zsh?
Ответ: Нет, они прекрасно сосуществуют.

Вопрос: Oh My Zsh замедляет работу терминала?
Ответ: Незначительно, если не включать слишком много плагинов.

Вопрос: Как узнать, какая оболочка активна?
Ответ: echo $SHELL или ps -p $$.

Вопрос: Могу ли я использовать свои алиасы из Bash в Zsh?
Ответ: Да, скопируйте их в ~/.zshrc. Синтаксис алиасов совместим.


Заключение

Теперь Zsh установлен и настроен на вашем Debian. Вы можете пользоваться улучшенным автодополнением, темами и плагинами.

Что дальше?