WSL: Linux в Windows
Хотите использовать инструменты в Linux (Docker, Python, Node.js), не выходя из Windows? К вашим услугам WSL (Windows Subsystem for Linux). Это полноценное ядро Linux, работающее параллельно с вашей основной системой.
Прежде чем начать, загляните в BIOS вашего компьютера. Там должна быть включена виртуализация (VT-x или AMD-V). Без этой «галочки» Linux не запустится.
Разберемся, как настроить системы для совместной работы.
1. Проверка состояния
Перед началом проверьте текущее состояние системы в PowerShell:
wsl -l -v
wsl -l -v вернет список уже установленных дистрибутивов:
пустой ответ: нет установленных дистрибутивов.
Ubuntu: Linux уже установлен.
docker-desktop / docker-desktop-data: технические дистрибутивы Docker Desktop.
В колонке VERSION должна стоять цифра 2. Если стоит 1, обновите дистрибутив командой wsl --set-version Ubuntu 2.
2. Установка
Если Linux не установлен, в PowerShell от имени администратора введите:
wsl --installCopy
Система подготовит Ubuntu. После завершения перезагрузите компьютер для настройки ядра.
3. Настройка пользователя
При первом запуске WSL предложит создать пользователя. Если в терминале видите root@ИМЯ_ПК — это нормально.
root требуется для настроек системы, для разработки создайте отдельного пользователя.
Кстати: Символ тильды ~ — путь к домашней директории. У root это /root, у пользователя — /home/my_user_name. Если создадите проекты под root, возникнут проблемы с правами доступа в VS Code. Команда cd ~/projects под root и под обычным юзером приведет вас в разные места.
Как создать пользователя:
# Создаем пользователя
my_user_name adduser my_user_name
# Даем права администратора (для sudo)
usermod -aG sudo my_user_name
Чтобы WSL всегда открывался под вашим именем, в PowerShell Windows введите:
# Замените my_user_name на имя вашего пользователя
ubuntu config --default-user my_user_name
Терминал будет встречать приглашением: my_user_name@ИМЯ_ПК:~$.
4. Где хранить код
В WSL есть доступ к дискам Windows (/mnt/c/), но не храните там проекты.
Файловые системы Windows и Linux общаются медленно. Проект на диске C: или D: значительно замедлит работу с кодом.
Правильное место: домашняя папка в Linux.
Введите:
cd ~ mkdir projects && cd projects
Здесь скорость максимальна.
5. Рабочий стек
Python (venv)
Изолируйте пакеты: не ставьте библиотеки глобально, а используйте виртуальные окружения:
sudo apt update && sudo apt upgrade -y
sudo apt install python3-pip python3-venv -y
# Создание проекта
mkdir my_project && cd my_project
python3 -m venv venv source venv/bin/activate
Node.js (NVM)
Стандартный apt install nodejs ставит устаревшую версию. Используйте NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install... | bash
source ~/.bashrc
nvm install --lts # Установит актуальную стабильную версиюCopy
6. Интеграция
VS Code
Установите VS Code в Windows и расширение Remote — WSL. Команда code . в терминале Ubuntu откроет проект в интерфейсе Windows, код будет исполняться в Linux.
Docker
В настройках Docker Desktop (Settings -> Resources -> WSL Integration) включите галочку напротив Ubuntu. Теперь управляйте контейнерами из терминала Linux.
7. Шпаргалка
whoami — Проверка: вы root или обычный юзер.
pwd — Полный путь к текущей папке.
wsl --shutdown — (в PowerShell) Полная остановка Linux для очистки памяти.
cat file.txt | clip.exe — Копирует текст из Linux в буфер обмена Windows.
Workflow:
Открыли терминал. Видите: my_user_name@....
Зашли в проект: cd ~/projects/my-app.
Запустили VS Code командой code ..
Profit.

Лига Сисадминов
2.6K постов19.1K подписчиков
Правила сообщества
Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.