@WindBridges

Возможна ли комфортная работа c IDE через x-server (vcxsrv, x410, xming, etc..)?

Работаю под win10 в phpstorm + wsl2 (ubuntu) + docker над проектом с большим количеством файлов. В целом пришел к неплохому варианту настройки (docker в wsl2, исходники в фс wsl, прокси для запуска тестов из IDE написал), но периодически сталкиваюсь с косяками (при запуске одиночных тестов phpunit) и головой понимаю, что может работать быстрее, если избавиться от синхронизации файлов между хостом и wsl2.

И возникла идея поставить линуксовый phpstorm внутрь wsl2, чтобы работать в нем через x-server в окошке. В этом случае IDE и фс будут находиться на одной ос и это должно избавить от тупняков при синхронизации файлов. Она просто не нужна будет. Не буду рассказывать, сколько разных рабочих столов для ubuntu я перепробовал, прежде чем поставил xfce4 и он запустился. Но сразу же столкнулся с тем, что даже когда я просто создаю текстовый файл и через UI пытаюсь в нем что-то писать, то обновление напечатанного текста на экране происходит с задержкой примерно 1с, писать текст совершенно некомфортно.

Но моих знаний не хватает, чтобы разобраться, что является виной такому медленному взаимодействию - то ли это vcxsrv такой медленный, то ли сам протокол этот не рассчитан на моментальное обновление, а может просто дополнительно настроить что-то нужно. А может это не картинка с задержкой идет, а события о нажатиях клавиш? Плюс если быстро таскать окошки в UI, то появляются артефакты в стиле win3.1.

Может ли кто-то посоветовать что-нибудь по этому вопросу? Или может этот протокол в принципе не рассчитан на скорость?
  • Вопрос задан
  • 627 просмотров
Решения вопроса 1
В случае с ide-шками от JB ты можешь использовать изкоробочный Jetbrains Gateway - это точно будет лучше, чем иксы.

Устанавливается через jb toolbox

Дополнение по возможным проблемам:
0. Должен быть установлен wsl :)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
wsl --install -d Ubuntu

(в процессе может понадобится перезагрузка)

1. Обязательно должен быть wsl2. wsl1 не подойдёт.
Проверить версию самой подсистемы можно при помощи команды wsl --status
Исправить можно при помощи команд wsl --set-default-version 2 и wsl --set-version <имя дистра> 2

2. Говорят, что работать будет только с Ubuntu минимум 20 версии. Проверить установленные дистры можно командой
wsl --list
Установить новую версию можно через ms store или командой
wsl --install -d Ubuntu-22.04
Но у WindBridges заработало даже на 18.04
Сделать новую версию версией по-умолчанию можно через
wsl -s Ubuntu-22.04

3. Почему-то не работает на ядре версии 4.*.
Чтобы узнать текущую версию ядра можно ввести команду wsl --status
Чтобы обновиться (до актуальной версии ядра. Сейчас 5.*) : wsl --update
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
gedit и firefox, запущенные из WSL2 - работают без каких-то лагов интерфейса.
И да - там нет никакого окошка и рамок - выглядит просто как запущенное приложение в Windows .
Вот официальная дока https://learn.microsoft.com/en-us/windows/wsl/tuto...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы