Zsh (Z Shell) — это мощная оболочка командной строки, которая является расширенной версией Bash. Она предлагает улучшенное автодополнение, разделяемую историю команд, красивые темы и множество плагинов. Zsh используется по умолчанию в macOS и Kali Linux, а также популярна среди разработчиков и системных администраторов.
В этом руководстве я покажу три способа настройки Zsh на Debian:
- Базовый Zsh — просто установка оболочки
- Zsh + APT-плагины — автодополнение и подсветка синтаксиса из репозиториев Debian
- 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— создать пустой~/.zshrc1— интерактивная настройка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 --version→zsh 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. Вы можете пользоваться улучшенным автодополнением, темами и плагинами.
Что дальше?
- Изучите официальную документацию Zsh
- Настройте свои псевдонимы и функции
- Установите шрифты Powerline для красивых тем