Zsh в Bash на Windows 10: установка и автозапуск
Быстрые ссылки
- Установка Bash (WSL)
- Как установить Zsh (или другой shell)
- Как запустить Zsh (или другой shell)
- Прямой запуск Zsh из Windows
- Как настроить автозапуск Zsh из Bash

Ubuntu и другие дистрибутивы Linux в Windows 10 по умолчанию открываются через Bash (через WSL). Это не единственный вариант — вы можете установить и использовать Zsh или любой другой shell, который предпочитаете. Zsh работает в WSL, и вы можете автоматически переходить в Zsh при запуске Bash. Oh My Zsh также работает в этом окружении для настройки оболочки.
Сначала установите Bash (WSL)
Перед установкой желаемой оболочки включите подсистему Windows для Linux (WSL) и установите Linux-дистрибутив из Microsoft Store. В статье используется Ubuntu как пример, но процесс похож для openSUSE, SLES и других дистрибутивов.

Если Bash/WSL уже установлен, переходите к установке Zsh.
Как установить Zsh (или другой shell)
После установки WSL откройте ваш дистрибутив (например, Ubuntu) и установите Zsh как обычный пакет:
sudo apt-get install zshПодтвердите установку, нажав «y» и Enter. В других дистрибутивах используйте их менеджер пакетов, например zypper для openSUSE.

Если вы хотите другую оболочку, замените имя пакета. Например, для Fish:
sudo apt-get install fishСоветы:
- Если apt сообщает об ошибках зависимостей, запустите sudo apt-get update и затем повторите установку.
- Для обновления Zsh используйте sudo apt-get upgrade zsh или обновляйте весь дистрибутив.
Как запустить Zsh (или другой shell)
После установки введите имя оболочки в командной строке Bash и нажмите Enter:
zshПри первом запуске Zsh предложит мастер настройки и создание конфигурации. Обычно нужно выбрать «2» для создания конфигурации с рекомендуемыми настройками.
Чтобы выйти из Zsh и вернуться в Bash, выполните:
exitПрямой запуск Zsh из Windows
Вы можете запустить Zsh прямо из PowerShell или Win+R, вызвав wsl с указанием команды:
wsl zshАналогично для конкретных дистрибутивов:
bash -c zsh
ubuntu -c zsh
opensuse-42 -c zsh
sles-12 -c zsh
Как сделать так, чтобы Bash автоматически запускал Zsh
Чтобы Bash автоматически переключался в Zsh при каждом запуске, отредактируйте файл ~/.bashrc. Bash выполняет команды из этого файла при старте. Рекомендуемый подход — добавить проверку, чтобы автозапуск выполнялся только в интерактивной сессии терминала.
Откройте файл в любом редакторе, например nano:
nano .bashrcДобавьте в конец файла следующие строки:
# Запуск Zsh
if [ -t 1 ]; then
exec zsh
fiСтрока if [ -t 1 ]; then проверяет, что терминал интерактивный. Это помогает избежать проблем с фоновыми скриптами или программами, которые ожидают работать в Bash.
После изменений нажмите Ctrl+O и Enter, чтобы сохранить, затем Ctrl+X для выхода из nano.
Теперь при запуске ярлыка Ubuntu (или другого дистрибутива) вы автоматически попадёте в Zsh.
Чтобы отменить изменение, снова откройте ~/.bashrc и удалите добавленные строки.

Настройка Oh My Zsh (быстрый старт)
Oh My Zsh — популярный фреймворк для настройки Zsh. Установка стандартная (запустите из Zsh):
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"После установки вы получите файл ~/.zshrc с набором плагинов и тем. Изменяйте этот файл для персонализации оболочки.
Важно: проверяйте содержимое устанавливаемых скриптов перед выполнением, особенно если вы работаете в корпоративной среде.
Пошаговая методика (короткая)
- Включите WSL в Windows и установите дистрибутив из Store.
- Откройте терминал дистрибутива и выполните sudo apt-get update.
- Установите Zsh: sudo apt-get install zsh.
- Запустите zsh и пройдите настройку.
- (Опционально) Установите Oh My Zsh.
- (Опционально) Добавьте проверку и exec zsh в ~/.bashrc для автозапуска.
Роли и чек‑листы
Для разработчика:
- Установить WSL и дистрибутив.
- Установить zsh и oh-my-zsh.
- Настроить плагины для git, автодополнения и синтаксиса.
Для системного администратора:
- Проверить политику безопасности выполнения скриптов.
- Обеспечить резерв конфигураций (/etc/skel и ~/.zshrc).
- Документировать изменения для пользователей.
Для новичка:
- Сначала потренируйтесь запускать zsh вручную.
- Не меняйте ~/.bashrc, пока не уверены, как откатить изменения.
Критерии приёмки
- При запуске дистрибутива терминал открывается в Zsh.
- Команда zsh запускает оболочку без ошибок и выводит приглашение zsh.
- exit возвращает в Bash (если вы не делали exec в .bashrc).
- Oh My Zsh загружает тему и плагины (при установке).
Устранение неполадок и советы
- Если Zsh не запускается: проверьте sudo apt-get update && sudo apt-get install -f zsh.
- Если после добавления exec zsh некоторые сервисы перестали запускаться, удалите блок из .bashrc — возможно, эта сессия не была интерактивной.
- Для смены shell по умолчанию в Linux используется chsh -s $(which zsh), но в WSL это может привести к неожиданным эффектам — чаще безопаснее использовать exec в .bashrc.
- Если Oh My Zsh вызывает ошибки плагинов, временно переименуйте ~/.zshrc и запустите zsh без пользовательских настроек.
Альтернативы и когда они предпочтительны
- Fish: более дружелюбен для новичков благодаря встроенному автодополнению и удобному синтаксису.
- Bash: если у вас скрипты и инструменты строго завязаны на Bash, оставьте Bash по умолчанию и запускайте zsh вручную.
- PowerShell/Windows Terminal: если вы предпочитаете единый интерфейс, используйте Windows Terminal с вкладками для WSL и PowerShell.
Быстрая диаграмма принятия решения
flowchart TD
A[Нужен кастомный prompt и плагины?] -->|Да| B[Установить Zsh + Oh My Zsh]
A -->|Нет| C[Оставить Bash]
B --> D{Работает в WSL?}
D -->|Да| E[Добавить exec в .bashrc]
D -->|Нет| F[Отладить установку или открыть баг в WSL GitHub]FAQ
Можно ли сделать Zsh shell по умолчанию в WSL через chsh?
chsh иногда работает, но в WSL безопаснее использовать exec в ~/.bashrc, чтобы не нарушить поведение входа и скриптов.
Работает ли Oh My Zsh в WSL так же, как в Linux?
Да. Oh My Zsh работает в WSL как в обычном Linux. Некоторые темы или плагины могут требовать дополнительных шрифтов или утилит.
Что делать, если автозапуск ломает скрипты CI/CD?
Удалите блок с exec zsh из ~/.bashrc или добавьте дополнительную проверку по переменным окружения, чтобы автозапуск выполнялся только для интерактивных сессий.
1‑строчный глоссарий
- WSL — Windows Subsystem for Linux, совместимость запуска Linux-программ в Windows.
- Zsh — современная Unix‑оболочка с мощной системой автодополнения и расширений.
- Oh My Zsh — фреймворк для управления конфигурацией Zsh.
Итог
Zsh легко установить и запускать в WSL. Для удобства можно сделать автозапуск через ~/.bashrc с проверкой интерактивности. Oh My Zsh добавит темы и плагины. Всегда делайте резерв конфигураций и тестируйте изменения на отдельной сессии перед массовым разворачиванием.
Похожие материалы
Создать виртуальный диск VHD в Windows 7
Как убрать рекламу в Instagram
Preview Program для Chromecast и Nest — как присоединиться
Quick Export в Photoshop — быстрый экспорт
Диалоговые окна в Java — JOptionPane, JDialog, JFrame