# Windows Subsystem for Linux

WSL позволяет запускать, разрабатывать и отлаживать Linux программы на Windows. Более того обеспечивается удобная прозрачность между файловыми системами и возможность запускать программы друг-друга.

Существует две реализации WSL:
- WSL1 - транслятор API Linux <-> Windows
- WSL2 - виртуальная машина с полноценным ядром Linux.

Мы будем пользоваться WSL2. По скорости работы WSL2 почти не уступает нативной OS Linux. Более подробные отличия можно посмотреть в интеренете.

Находим в поиске: Включение или отключение компонентов Windows

Включаем галочки:
- Подсистема Windows для Linux
- Платформа виртуальной машины
<p align="center"> <img src="images/WSL1.png"></p>

Перезагружаем.

В терминале включаем WSL2 по умолчанию для всех дистрибутивов.
```
wsl --set-default-version 2
```

Далее из Microsoft Store можно устанавливать дистрибутивы Ubuntu, Debian, и др.

# Конфигурация WSL

Установленные дистрибутивы можно запускать из профиля [Windows Terminal](Windows-Terminal) так:
```
wsl.exe -d <distroname>
```
Например:
```
wsl.exe -d Ubuntu-20.04
```

Если после настройки .bashrc будет ругаться на переменные locale
то надо сгенерировать локаль ru_RU.UTF-8:
```
sudo dpkg-reconfigure locales
```

# Работа

Чтобы получить доступ к файловой системе виртуальной машины
надо при запущенной машине зайти в сетевую папку:
```
\\wsl$
```
Либо запустить внутри виртуальной машины:
```
explorer.exe .
```
Если используете VS Code то его можно открыть в нужной папке виртуальной машины:
```
code .
```
