Как за долгое время я вернулся на Windows (WSL)
Совсем недавно я приобрёл себе Huawei Matebook d13 с предустановленной windows 10 home
WINDOWS #День первый
После моего старенького MSI, Huiwei показал себя с лучшей стороны.
- FingerPrint
- Тачпад с полной поддержкой жестов
- 2к экран
- Продолжительное время работы
- Зарядка от Type-c. Теперь заряжаю все свои устройства одной зарядкой
Я радовался, как маленький ребенок, но ноутбук был куплен для работы, а работать я привык на linux
KDE NEON, KUbuntu, Ubuntu
Я давно хотел попробовать кеды, но никак не решался, и вот с новым устройством у меня был карт-бланш на любые эксперименты. Я поставил себе KDE NEON и сразу столкнулся с отсутствием жестов и неработающим fingerPrint. С помощью танцев с бубном я завел некоторые жесты (отпечаток пальца не получилось). В браузерах жесты отказывались работать совсем.
Я снес всё, что было, и поставил Ubuntu. Ничего не поменялось, но тут все жесты не работали, как бы я ни старался.
Я снес всё, что было, еще раз и поставил KUbuntu. Ничего не поменялось!
И тут я вспомнил про WSL (Windows Subsystem for Linux)
Я снес linux и вернул windows
WSL
Загуглил инструкцию установки wsl и быстренько все сделал, запустил ubuntu и был шокирован, что работает, но не совсем хорошо. Под капотом не настоящее ядро, докер не работает, поэтому я быстренько сменил wsl на wsl 2.
Но многие говорят, что на первой версии все работает в разы быстрее, я же разницы не почувствовал, да и пользовался всего час.
WSL 2
Удобно что версия WSL меняется одной командой.
По ощущениям у меня в комнате будто появился компьютер, к которому я подключаюсь по ssh.
Докер предложил мне синхронизироваться с WSL, я согласился.
Список подсистем пополнился
PS C:\Users\zawer> wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 2
docker-desktop-data Running 2
docker-desktop Running 2
Пару лет назад, когда я пробовал работать из под windows, я ставил себе docker, но при попытке прокинуть директорию за контейнер, выдавало ошибку (что-то с файловой системой).
Решил проверить есть ли такая проблема на WSL.
Я создал контейнер postgres, в котором файлы вынесены в wsl. Запускаю и все работает!
Дальше я клонировал рабочий проект (nodejs, typescript, redis, postgres) и по привычке написал в терминале code .
. Открылся vscode, предложил поставить плагин, и все заработало, как будто бы я просто открыл проект на своей машине.
Если вы привыкли к другой IDE, создайте символьную ссылку на папку проекта и пользуйтесь любимыми программами.
Есть ещё возможность запустить программу внутри подсистемы и отобразить её с помощью сервера x, но я попробовал, не получилось, и я решил ждать официальной поддержки.
WINDOWS # месяц спустя
Я поставил запуск терминала на горячие клавиши (ctrl + alt+ t), запускает он сразу wsl, теперь я не страдаю от командной строки windows.
Скачал скрипт, который прописывает адрес wsl в hosts, ушло ощущение работы через ssh.
Работаю в привычном окружении, но со всеми удобствами.
Я наконец-то не переключаюсь с Ubuntu на Windows, чтобы запустить photoshop или игру. Если вы выбираете Wine или WSL. Мой ответ однозначно wsl.
Из неприятного все приложения запущенные в WSL должны отдавать информацию на 0.0.0.0 ip, иначе не достучишься.
В планах попробовать обновить ядро, сейчас стоит 4.19.128-microsoft-standard.
Для тех, кто будет пробовать
Выкладываю свои настройки, большинства проблем вы сможете избежать, если воспользуетесь этими конфигурациями /etc/wsl.conf
[automount]
enabled = true
root = /mnt
options = "metadata,umask=22,fmask=11"
mountFsTab = true
[interop]
enabled = true
appendWindowsPath = true
[network]
generateResolvConf = false
Заключение
Когда я узнал про существование wsl, посчитал это детской игрушкой.
Попробовав, я отказался от своих слов.
Всё что написано в этой статье, это просто мой опыт, я свой выбор сделал, если вы тоже перешли на wsl, делитесь вашим опытом, будет приятно почитать комментарии.