Гид по технологиям

Zsh в Bash на Windows 10: установка и автозапуск

5 min read Linux Обновлено 19 Dec 2025
Zsh в Bash на Windows 10: установка и автозапуск
Zsh в Bash на Windows 10: установка и автозапуск

Быстрые ссылки

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

Скриншот терминала WSL с Ubuntu

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 и других дистрибутивов.

Процесс установки Ubuntu из Microsoft Store

Если Bash/WSL уже установлен, переходите к установке Zsh.

Как установить Zsh (или другой shell)

После установки WSL откройте ваш дистрибутив (например, Ubuntu) и установите Zsh как обычный пакет:

sudo apt-get install zsh

Подтвердите установку, нажав «y» и Enter. В других дистрибутивах используйте их менеджер пакетов, например zypper для openSUSE.

Установка пакета zsh в терминале Ubuntu

Если вы хотите другую оболочку, замените имя пакета. Например, для 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

Запуск Zsh через команду wsl 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 и удалите добавленные строки.

Редактирование .bashrc в nano

Настройка Oh My Zsh (быстрый старт)

Oh My Zsh — популярный фреймворк для настройки Zsh. Установка стандартная (запустите из Zsh):

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

После установки вы получите файл ~/.zshrc с набором плагинов и тем. Изменяйте этот файл для персонализации оболочки.

Важно: проверяйте содержимое устанавливаемых скриптов перед выполнением, особенно если вы работаете в корпоративной среде.

Пошаговая методика (короткая)

  1. Включите WSL в Windows и установите дистрибутив из Store.
  2. Откройте терминал дистрибутива и выполните sudo apt-get update.
  3. Установите Zsh: sudo apt-get install zsh.
  4. Запустите zsh и пройдите настройку.
  5. (Опционально) Установите Oh My Zsh.
  6. (Опционально) Добавьте проверку и 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 добавит темы и плагины. Всегда делайте резерв конфигураций и тестируйте изменения на отдельной сессии перед массовым разворачиванием.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Создать виртуальный диск VHD в Windows 7
Windows 7

Создать виртуальный диск VHD в Windows 7

Как убрать рекламу в Instagram
Социальные сети

Как убрать рекламу в Instagram

Preview Program для Chromecast и Nest — как присоединиться
Руководство

Preview Program для Chromecast и Nest — как присоединиться

Quick Export в Photoshop — быстрый экспорт
Photoshop

Quick Export в Photoshop — быстрый экспорт

Диалоговые окна в Java — JOptionPane, JDialog, JFrame
Java

Диалоговые окна в Java — JOptionPane, JDialog, JFrame

Как вставить текстовое поле в Google Docs
Google Docs

Как вставить текстовое поле в Google Docs