Comments 33
Никакого нового способа, собственно, тут не описывается, просто собраны все ссылки и технические подробности. А вот поставить WSL 2 на планшет вряд ли получится, там же нет Hyper-V
Если работать из /mnt/{drive} — скорость по ощущениям не лучше чем была ранее. Но IDE работает шустро.
Проекты лежат на PCI-E gen4 SSD, сам WSL на NVME. Пока не решил что с этим делать. Возможно что-то готовлю не так.
С чтением файлов с диска Windows (/mnt/c) у WSL пока бяда, да. Это отображается даже на том, что prompt в шелле тормозит, если использует что-то типа gitline (чекается инфо с репы в CWD), если находишься вне родной linux fs. Не знаю уж, как там docker под Win работает, но вряд ли это пока будет хорошо.
VSCode remote wsl или как-то иначе? Поделитесь знанием, у меня IDE от JetBrains если что.
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
В результате в DISPLAY будет IP WSL интерфейса хоста
В Windows установил VcxSrv
и все
От себя добавлю, что с systemd есть такой вариант github.com/arkane-systems/genie
Но у меня самого он работал с переменным успехом
Я в итоге добавлял скрипты заглушки, чтобы minikube работал (он рассчитывает на команды sysctl).
По поводу докера в WSL 2 — я советую использовать его так же, как и в стандартном linux дистрибутиве. Работать будет так же, проблем с ним не замечал.
Сам поставил tmux с именованной сессией точкой входа в wsl в Windows terminal. Какие это даёт плюсы:
1) Терминал изредка крашится, при перезапуске вернётесь туда, где и был
2) Аналогично можно закрыть терминал и чуть позже открыть и продолжить там, где и закончил
3) В конфиге tmux можно добавить дополнительные команды, например работу с упомянутым clip.exe, можно будет копировать вывод сразу в буфер обмена Windows.
И добавлю, что из WSL есть возможность выполнять
powershell -command "Get-Clipboard"
, чтобы получать буфер обмена Windows, чем я иногда пользуюсь.Прям всплакнулось, делал похожее на обычных виртуалках в в hyper-v и cygwin (X11 там гораздо функциональней, чем просто буфер обмена, а утилиты — портабельные, ну и opengl работает до определённой степени). Как раз по-моему ConEmu в качестве терминала и использовал, и он уже тогда вполне себе кушал всё что выдаёт ssh хост с tmux/vim. От похаканных шрифтов я по итогу отказался, глазки от этих углов в статус барах лично у меня болят(но это уже с gnu/linux на десктопе).
Очень сильно от WT не хватало быстрого вызова терминала по горячей клавише вверху экрана (по типу guake, tilda или например в iterm это можно настроить). В итоге для решения воспользовался autohotkey, собственно если кому надо вот мой скрипт (работает по F1), в сети наверное можно поискать и более функциональные варианты.
С помощью xserver и костылей можно поднять сам guake :). Была идея написать windows-сервис и wsl-сервис, которые вместе красивенько поднимали бы guake, но как то не сложилось пока что. Windows прослойка нужна для вразумительного детекта мультимониторных конфигураций(что бы терминал вылезал в правильной позиции на активном мониторе) и глобальных хоткеев(по дефолту глобальные в linux хоткеи в виндовом сервере работают только, если x окно активное).
Возможно проблема в иконке для трея, так как забыл убрать 8 строчку в гисте, вполне возможно что скрипт из-за этого не инициализируется. И у меня скрипт настроен, на то чтобы работать по F1, для вызова по Win+`, надо в 21 строке подставить "#`", вместо "F1", вот тут есть подробнее про сочетания.
Да не, иконку я там кинул и скрипт запустился. Но ни по F1, ни по Win+` что-то не заработало сходу. Ну потом разберусь, в принципе давно хотел разобраться с autohotkey
Тогда возможно отличается класс окна консоли в переменной wt_class. В комплекте с autohotkey обычно еще устанавливается утилита WinSpy вроде, или например можно в скрипте все что касается меню убрать, и тогда в трее должно появиться стандартное меню, с различными опциями для дебага, одна из опций должна открывать указанную утилиту. С помощью этой утилиты можно определить класс окна консоли.
Но, вообще, классно выглядит то, что в самом терминале, а это уже настройки шелла :) в настройках самого терминала на внешний вид влияет только шрифт, фон, иконки, форма и цвет курсора, да и всё наверное. Есть, конечно, цветовая схема, но нужно, чтобы шелл и программы в терминале делали цветной вывод. К примеру, команды в терминале на скриншотах подсвечены, потому что используется плагин zsh, используется bat вместо cat, micro вместо стандартных редакторов и т.д.
Но в плане цвета в принципе WT из коробки поддерживает true color в WSL и ничего не надо ставить дополнительно (есть много инструкций по поводу TC цветов в терминале на Linux, сейчас большинство не актуально).
Пользуюсь ConEmu. Есть ошибка которую не могу побороть: переносы строк. При копировании в консоль они теряются. Кто-то сталкивался с таким?
Есть и другие терминалы, позволяющие запускать WSL с разной степенью костыльности
А в чем костыльность проявляется? Пока пользуюсь wsltty, вроде норм.
1. В «Control Panel\Network and Internet\Network Connections» зацепил адаптер сетевого интерфейса (LAN) и адаптер виртуальной машины (vEthernet (WSL)) в мост, выделив оба адаптера и в контекстеом меню выбрав «Add to bridge»
2. Настроил ip в linux и маршрут для локальной сети в которую включен адаптер «LAN»
пробовали запускать code из под wsl через sudo?
$ sudo code .
Настройка окружения в CLI. WSL / Windows Terminal