Как за долгое время я вернулся на Windows (WSL)

в 16:42, , рубрики: linux, vscode, WSL, WSL2, Настройка Linux, разработка под windows

Совсем недавно я приобрёл себе Huawei Matebook d13 с предустановленной windows 10 home

WINDOWS #День первый

После моего старенького MSI, Huiwei показал себя с лучшей стороны.

  1. FingerPrint
  2. Тачпад с полной поддержкой жестов
  3. 2к экран
  4. Продолжительное время работы
  5. Зарядка от 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:Userszawer> 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, делитесь вашим опытом, будет приятно почитать комментарии.

Автор: Игорь Рожков

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js