Какой самый простой способ запуска приложений с графическим интерфейсом в подсистеме Windows для Linux с 2018 года?
Я искал вокруг, и в настоящее время есть два предложенных метода; установка расширения для подсистемы Windows для Linux и установка XServer.
Я хочу знать, какой метод является наиболее простым (простой в установке и использовании), а какой менее трудоемким.
Я просто хочу Synaptic и CMake. Почему это не может быть встроенной функцией?
11 ответов
Короткий ответ: вы не можете, так как WSL еще не поддерживает эту функцию. WSL не является полной установкой Linux с ядром Linux, он позволяет вам запускать некоторые собственные команды / исполняемые файлы Linux на ядре Windows (Microsoft) и имеет ограничения.
См. https://github.com/Microsoft/WSL/issues/2356
Однако вы можете установить сторонний X-сервер, такой как xming и ssh, в свой WSL.
Я не копировал это руководство здесь, так как оно довольно вездесущее (X поверх ssh), и я ожидаю, что некоторые приложения просто не будут работать даже с этой техникой.
VcXsrv
Я решил использовать VcXsrv
в WSL (подсистема Windows 10 для Linux). Я рекомендую всем делать свои исследования между xming
(принятый ответ) и VcXsrv перед выбором одного или другого для поддержки графического интерфейса пользователя (GUI) в Windows 10 Ubuntu 16.04.
Монтаж
Установка прямо вперед. С 17 марта 2019 года вы можете просто принять значения по умолчанию. Если вы хотите позвонить gedit
из вашего Bash Shell / Terminal вы должны отредактировать ~/.bashrc
и вставьте эту строку:
export DISPLAY=localhost:0.0
Что вы можете сделать после установки VcXsrv?
Я смог бежать:
sudo apt install ubuntu-desktop
sudo apt install yad
sudo apt install gedit
... для установки программного обеспечения с графическим интерфейсом. Это позволило мне бежать gedit
а также nautilus
, Также я смог установить определенные приложения с графическим интерфейсом через CLI (интерфейс командной строки), используя apt
или же apt-get
команды.
Когда я хочу попробовать многие из моих сценариев Ubuntu Bash в WSL, VcXsrv должен быть установлен так zenity
а также yad
Диалоговые окна x-windows отображаются для ввода пользователем.
Как уже отмечали другие, GUI в WSL не идеален, и вы можете ожидать, что потратите время на решение некоторых проблем. Также некоторые программы с графическим интерфейсом просто не будут работать в WSL.
У меня был очень положительный опыт работы с VcXsrv на Win 10 Bash на Ubuntu в Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft). Я не сосредоточился на запуске рабочего стола Unity, поскольку он бесполезен и потребляет много ресурсов. Я просто запускал приложения из bash в режиме графического интерфейса пользователя с рабочего стола Windows10 с помощью XServer.
Установите VcXsrv отсюда на Sourceforge
Запустите приложение VcXsrv напрямую, не запускайте XLaunch. Тебе следует увидеть
localhost:0.0 - 0 clients
когда вы наводите курсор на значок на панели задач Win10Откройте Ubuntu Bash:
cd /mnt
(приводит к localhost @ localhost: / mnt $)
cd ..
(localhost @ localhost: / $ означает, что эти команды приводят вас к началу жесткого диска, насколько WSL может видеть...)
sudo apt-get install dbus synaptic nautilus --install-suggests --show-progress
(это установит "dbus" для создания виртуального соединителя для графического интерфейса, "Менеджер пакетов Synaptic" и файловый менеджер "Nautilus" для unity-desktop
cd /usr/share/dbus-1 && sudo vi session.conf
(Когда
session.conf
открывается в редакторе vi)Нажмите i, чтобы войти в режим вставки и добавить
<!-- <listen>unix:tmpdir=/tmp</listen> || Original Command --> to preserve original rules
чем добавить:
<listen>tcp:host=localhost,bind=0.0.0.0,port=0</listen> <auth>EXTERNAL</auth> <auth>DBUS_COOKIE_SHA1</auth> <auth>allow_anonymous</auth>
Нажмите ESC, когда вы закончите редактирование файла и
:wq
сохранить файл.Запустите эти команды и проверьте их вывод:
$ export DISPLAY=localhost:0 $ sudo service dbus start * Starting system message bus dbus [OK] $ echo $DISPLAY localhost:0
Вы сделали! Теперь просто запустите synaptic, nautilus или firefox из Bash, и они должны загрузиться на рабочий стол Win10. Опции GUI, подобные этой, глючат, но работают. Вы можете установить
ubuntu-desktop
,unity
,ccsm
,compiz
и попробуйте запустить Unity Desktop для Ubuntu. Я не пытался установить "Steam", потому что я все еще страдаю, пытаясь запустить "Unreal", Удачи:)
Если кто-то знает, как бежать gnome-terminal
на XServer вместо XTerm поделитесь пожалуйста...
PS
Вы можете добавить VcXsrv в качестве загрузочного Win10
Чтобы максимально увеличить ваши источники с помощью "Steam", как указано в исходном сообщении, немного настройте Windows для управления сетевыми пакетами (чтобы снизить задержку) и расстановки приоритетов CPU/GPU для создания Win10XBox…:)
Хотя вы будете запускать "Steam" под "Unix", оболочка все еще "Windows", что позволяет запускать "Steam" на "Unix"…
Tcp Prep:;
В regedit:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
Здесь вам нужно просмотреть список подразделов, чтобы найти запись сетевого адаптера, которая используется для подключения к Интернету. Если вы используете DHCP, вам нужно искать DhcpIPAdddress
запись (со значениями системных данных НЕ :0.0.0.0
) найти правильный адаптер.
Найдя правильный ключ, щелкните его правой кнопкой мыши и выберите " Создать"> "Значение слова (32-разрядное)".
Назовите его TcpFrequency и нажмите ОК.
Затем дважды щелкните значение и установите его десятичное значение равным 1. (Чтобы восстановить настройку по умолчанию, измените значение на 2 или удалите ключ). Теперь перейдите к следующему ключу: HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ
Снова щелкните правой кнопкой мыши по ключу и выберите " Создать"> "Значение слова (32-разрядное)".
Назовите новый параметр TcpDelay
Затем дважды щелкните по нему и измените его десятичное значение на 1. (Чтобы восстановить ключ в более поздний момент времени, измените его на 0 или удалите ключ)
Алгоритм Нэгла
Алгоритм Nagle объединяет несколько небольших пакетов в один большой пакет для более эффективной передачи. Это предназначено для повышения пропускной способности передачи данных. Отключение nagling может помочь уменьшить задержку / пинг в некоторых играх. Алгоритм Nagle включен в Windows по умолчанию. Чтобы реализовать эту настройку, измените следующие ключи реестра.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}
Для {NIC-id}
найдите тот, в котором указан ваш IP-адрес; под этим {NIC-id}
ключ создать следующее значение DWORD:
- TcpFrequency и установите его равным 1, чтобы отключить "ворчание" для игр.
- TCPDelay и установите его также в 1, чтобы отключить "Nagling"
- TcpTicks и установите его в 0
Замечания:
В некоторых сообщениях говорится, что твики уменьшали задержку при игре в Dota 2 и League of Legends, но у некоторых это не работает. Я попробовал это, и моя задержка улучшилась с 110 до 90 мс (SEA Server) при игре в Dota 2.
Индекс регулирования сети
В Windows реализован механизм регулирования сети, идея которого заключается в том, что обработка сетевых пакетов может быть ресурсоемкой задачей. Для достижения максимальной пропускной способности выгодно отключить такое регулирование.
Чтобы реализовать эту настройку, запустите regedit и измените реестр
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.
В SystemProfile создайте значение DWORD и присвойте ему имя Network Throttling Index, затем установите его шестнадцатеричное значение равным ffffffff для игр и максимальной пропускной способности: ffffffff полностью отключает регулирование.
Отзывчивость системной игры (Не уверен насчёт этого:)
Потоковая передача мультимедиа и некоторые игры, использующие службу "Планировщик мультимедийных классов" (MMCSS), могут использовать только до 80% ЦП. Служба "Планировщик мультимедийных классов" (MMCSS) обеспечивает приоритетный доступ к ресурсам ЦП, не отказывая в ресурсах ЦП фоновым приложениям с более низким приоритетом.
Для реализации этой настройки запустите regedit и измените раздел реестра.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.
Оттуда создайте новый DWORD и назовите его SystemResponsiveness, установите его десятичное значение в 00000000 для чистого игрового / потокового видео.
В том же кусте Реестра, что и вышеуказанная настройка, вы также можете изменить приоритет Игр. Чтобы реализовать эту настройку, перейдите к
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Games
и измените следующие значения реестра:
- "Приоритет GPU" меняет свои значения на 8 для игр.
- "Приоритет" установлен на 1 для игр.
Все ура за "неизвестно" (простите, я был некоторое время, так как я скопировал ваши указания), автор этой настройки Windows=Xbox...
PPS: Если XServer завершается неудачно с тем, что вы хотели бы сделать, попробуйте найти обходной путь с помощью Docker.
Хотя полноценная среда рабочего стола с графическим интерфейсом не "официально" поддерживается Microsoft, она может работать.
Включить или отключить функции Windows
Включить подсистему Windows для Linux
Перезапустить компьютер
Запустите Microsoft Store
Поиск Ubuntu
Выберите Ubuntu 18.04 в разделе Приложения
Нажмите Get
Запустите Ubuntu и дождитесь установки
Установите имя пользователя и пароль
Запустите следующие команды:
sudo apt-get update -y
sudo apt-get install ubuntu-desktop -y
sudo apt-get install xfce4 xorg xrdp -y
sudo sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini
Создать и изменить.xsession
cd /home/user/
sudo vim .xsession
Добавить текст:
gnome-session --session=ubuntu-2d
Сохранить и выйти из vi
sudo chmod 755 .xsession
sudo systemctl enable xrdp
Вам понадобится второй аккаунт в Ubuntu
sudo adduser remote
sudo usermod -aG sudo remote
Изменить startwm.sh
cd /etc/xrdp
sudo chmod 777 startwm.sh
vim startwm.sh
Закомментируйте две нижние строки
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
Добавить текст:
startxfce4
Сохранить и выйти из vi
exit
В Windows перезапустите Ubuntu и запустите:
sudo /etc/init.d/xrdp start
В Windows запустите mstsc.exe
Компьютер: 127.0.0.1:3390
Оставьте имя пользователя пустым
соединять
Сессия: Xorg
имя пользователя: удаленный
пароль: пароль
Наслаждайтесь XFCE!
Когда закончите, закройте подключение к удаленному рабочему столу.
Вернитесь в командную строку Ubuntu
sudo /etc/init.d/xrdp stop
exit
Таким образом, вопрос требует трех «оценочных» критериев для методов запуска приложений с графическим интерфейсом пользователя Linux в WSL:
- Простота установки
- Простота использования
- Потребление памяти
Я собираюсь добавить к этому:
- Гибкость
- Производительность
«Самый простой» — это в какой-то степени вопрос личного мнения, но я с удовольствием выскажу свое. В общем, я думаю, что важнее разобраться во всех доступных вариантах и решить, какой из них подходит для ваших нужд.
На данный момент существует как минимум три метода запуска приложений Linux с графическим интерфейсом под WSL:
- Windows 11 с WSLg
- Установите сторонний X-сервер в Windows
- Установите диспетчер рабочего стола в Ubuntu/WSL и подключитесь через подключение к удаленному рабочему столу Windows.
Я расскажу о каждом ниже.
WSLg
Хотя это и не было вариантом, когда изначально задавался этот вопрос, приложения с графическим интерфейсом для Linux теперь поддерживаются на WSL2 по умолчанию с Windows 11 с использованием WSLg.
Будет ли обновление до Windows 11 простым (или даже возможным) или нет, будет зависеть от вашего оборудования. Конечно, у Windows 11 более строгие требования к оборудованию, чем у Windows 10.
Если вы обновляетесь с Windows 10 до Windows 11, вам необходимо обновить установку WSL, используя:
wsl --update
wsl --shutdown
... затем перезапустите.
Это добавит функцию WSLg вместе с последним ядром и другими обновлениями.
Если вы используете новую установку Windows 11, используйте:
wsl --install
Это (вместе с перезагрузкой) установит:
- Сама функция WSL
- Платформа виртуальной машины Windows, необходимая для WSL2
- Функция WSLg
- Дистрибутив Ubuntu по умолчанию
Ускорение графического процессора также поддерживается в WSLg с использованием обновленных драйверов. Pulse Audio также предварительно настроен.
В архитектуре WSLg используется «системный дистрибутив» только для чтения, основанный на дистрибутиве CBL-Mariner , который Microsoft также использует для своих облачных служб Azure. Этот дистрибутив предварительно настроен для запуска Wayland/XWayland, с сокетами, совместно используемыми через внутреннюю сеть WSL и символическими ссылками на соответствующие файлы (например,
и
Обратите внимание, что WSLg работает только для экземпляров WSL2, а не для экземпляров WSL1.
Сводка и оценка WSLg:
Простота установки: зависит от возможности обновления до Windows 11.
Простота использования: Отлично
Гибкость: наиболее гибкая в некоторых отношениях — работает с Wayland/Weston/Xwayland. При желании можно запустить реализацию Weston-on-Weston для запуска полноэкранного рабочего стола.
Наименее гибкий в других отношениях. Работает только под WSL2 и Windows 11. Оба других варианта могут поддерживать WSL1 и Windows 10.
Потребление памяти: Краткий ответ: около 213 МБ для работы. Мы можем предположить, что большая часть этого принадлежит инфраструктуре WSLg. Несмотря на это, я также протестировал два других сценария ниже с , поэтому использование памяти является приблизительной константой в этих измерениях.
См. сноску в конце этого сообщения для получения дополнительной информации об использовании памяти WSLg. Обратите внимание, что это включает поддержку Wayland, Xwayland и Pulse Audio с этим объемом памяти. Два других варианта, перечисленных ниже, не включают Wayland или Pulse Audio.
Производительность: самая высокая после загрузки — с ускорением графического процессора. glmark2 из 666 в моей системе (nVidia 2070 Super), что звучит низко, но помните, что это накладывается на рабочий стол Windows. Это почти вдвое больше, чем у VcXsrv, и примерно в 4 раза больше, чем у xrdp.
Однако обратите внимание, что существует начальная задержка при копировании и запуске дистрибутива системы при первом запуске любого приложения с графическим интерфейсом в сеансе WSL2. В моей высоко-среднепроизводительной системе эта задержка составляет около 5 секунд. Дополнительные приложения с графическим интерфейсом запускаются после этого менее чем за секунду.
xrdp
Для тех, кто не может перейти на Windows 11, или для тех, кому все еще нужна поддержка WSL1, есть еще два хороших варианта. Первый и мой предпочтительный метод — запустить
sudo apt install xrdp xfce4
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
# So it doesn't interfere with Windows RDP on 3389
В /etc/xrdp/startwm.sh закомментируйте последние две строки (в которых упоминается Xsession) и добавьте:
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
exec startxfce4
Запустите xrdp с помощью:
sudo service xrdp start
Вот и все — вы должны иметь возможность подключаться к рабочему столу WSL с помощью встроенного приложения для подключения к удаленному рабочему столу. Компьютер для подключения будет
При использовании этого метода (как и в случае с WSLg) нет необходимости настраивать какие-либо правила брандмауэра, поскольку вы действительно используете встроенную в WSL
Лично я нахожу это намного проще, чем другие ответы здесь, касающиеся сторонних X-серверов. Однако он, вероятно, не самый эффективный с точки зрения памяти, поскольку требует запуска среды рабочего стола.
Сводка xrdp и оценка:
Простота установки: отлично, если диспетчер рабочего стола не требует Systemd (например, Gnome). Заставить Systemd работать в WSL в настоящее время является серьезной проблемой. Доступны сторонние помощники, но система и использование WSL кардинально меняются в Systemd.
Простота использования: довольно хорошо — не настраивается автоматически на запуск при необходимости, поэтому он не так прост, как WSLg. Некоторые люди сообщают, что он не такой производительный, как VcXsrv, но я также испытал отличную производительность.
Гибкость: Наименее гибкая для оконных опций. Вы должны запустить, по крайней мере, оконный менеджер и настроить его для xrdp. Он не может запускать отдельные приложения на рабочем столе Windows. Как WSLg, так и сторонние X-серверы могут работать как в полноэкранном, так и в оконном режиме.
Этот метод работает в Windows 10 и должен работать и в WSL1, хотя я не могу вспомнить, действительно ли я тестировал xrdp с WSL1.
Потребление памяти: как я и ожидал, этот метод имеет самое большое потребление памяти. Запуск рабочего стола Xfce4 под xrdp потребовал дополнительных 687 МБ под Vmmem.
Производительность: мое личное использование xrdp было ограничено простыми приложениями с пользовательским интерфейсом, и производительность была довольно отзывчивой. Однако более глубокий осмотр показывает, что это, безусловно, худший вариант по производительности. Воспроизведение видео H.264 с использованием VLC сильно тормозит, а оценка glmark2, равная 167, примерно вдвое меньше, чем у VcXsrv.
Сторонний X-сервер в Windows, например VcXsrv
Наконец, «обычный» рекомендуемый метод (как в основном упоминается в других ответах здесь) для Windows 10 и/или WSL1 заключается в установке стороннего X-сервера в Windows и настройке Ubuntu в WSL (версия 1 или 2) для его использования. .
Добавлю, что старые методы установки
export DISPLAY="$(hostname).local:0"
При этом используется mDNS (т.
Для WSL2 для этого параметра необходимо установить правило брандмауэра, поскольку вы подключаетесь «через сеть» (хотя и через виртуальную сеть). По моему опыту, Windows обнаружит попытку подключения в первый раз и запросит действие пользователя для автоматического создания правила брандмауэра. Однако, если это сообщение пропущено или отклонено, правило необходимо настроить вручную.
Для WSL1 правило брандмауэра не требуется, а «обычный»
Настройка стороннего X-сервера, безусловно, не самая «простая», поэтому я рекомендую прочитать другие ответы здесь (и в других местах), если у вас возникнут проблемы с этой техникой.
Еще одно замечание относительно правил брандмауэра. Сеть WSL2 в Windows классифицируется как «общедоступный» сетевой интерфейс, и в последних выпусках Windows нет простого способа изменить это. Раньше это было возможно, но теперь этот интерфейс скрыт и не может быть изменен. Это означает, что вы должны настроить правила своего брандмауэра, чтобы разрешить VcXsrv (или любой сторонний X-сервер) в общедоступных сетях. Это может быть проблемой, если вы подключаетесь к другим ненадежным общедоступным сетям.
Не забудьте:
- Отключайте VcXsrv при подключении к ненадежным сетям
- И/или обеспечить контроль доступа на X-сервере.
Сторонний X-сервер — сводка и оценка:
Простота установки: ИМХО, самый проблемный из трех вариантов. Ваши результаты могут отличаться, но, как вы можете видеть из количества ответов (и вопросов, размещенных на сайтах Stack), люди, как правило, сталкиваются с различными проблемами при использовании этого метода. Межсетевое взаимодействие (от хоста Windows к виртуальной сети WSL2) усложняет ситуацию.
Простота использования: от умеренной до легкой после правильной установки и настройки. Хотя WSLg запустится «по запросу», когда первое приложение с графическим интерфейсом будет выполнено в WSL, вам нужно самостоятельно запустить сторонний X-сервер, когда он вам понадобится. Или вы можете оставить его включенным и работающим все время, но это будет означать более длительное использование памяти.
Гибкость: высокая — может работать как в оконном, так и в полноэкранном режиме. В настоящее время нет варианта Wayland.
Работает в Windows 10/11 и WSL1/WSL2.
Потребление памяти: лучший вариант из этих трех вариантов. Израсходовано всего 48 МБ — увеличение на 10 МБ для Vmmem и еще 38,6 МБ для самого VcXsrv.
Производительность: хотя я предпочитал xrdp, мой сегодняшний бенчмаркинг заставит меня присмотреться к VcXsrv в будущем (и, возможно, к другим X-серверам, таким как MobaXterm). По-видимому, VcXsrv выполняет некоторое ускорение OpenGL, и его оценка glmark2, равная 322, была почти вдвое выше, чем у xrdp. Воспроизведение H.264 VLC было плавным даже при разрешении 3440x1440 (извините, нет 4k для тестирования).
Сноска: измерение памяти
Чтобы определить примерное использование памяти каждым методом, я посмотрел на потребление памяти процессом Vmmem в Windows. Это процесс виртуальной машины, который обрабатывает WSL2. Я также перезагрузил Windows между большинством этих тестов, но сделал
Обратите внимание, что PulseAudio можно включить с каждой из этих опций, но только WSLg включает его предварительно настроенным «из коробки». Я не включал поддержку PulseAudio ни в опциях xrdp, ни в VcXsrv, поэтому любая память, которая там нужна (если вам нужна поддержка аудио), не учитывается.
Сноска: потребление памяти WSLg
По-видимому, есть два «удара» в потреблении памяти с WSLg. Первый возникает, когда вы запускаете WSL2, когда WSLg просто «включен» (по умолчанию). Сначала я не заметил этого увеличения, потому что никогда не отключал WSLg . Полностью отключить эту функцию можно, отредактировав
После отключения этой функции и перезапуска моего экземпляра Ubuntu WSL2 использование моей базовой памяти упало на 108 МБ. Повторное включение и перезапуск показали увеличение потребления памяти WSL2 в «устойчивом состоянии». Таким образом, есть небольшой штраф за то, что это включено все время .
Затем при запуске начального клиента x (
Сноска: Оптимизация
В общем, я запускал каждый из этих методов, используя готовую конфигурацию по умолчанию. Я включил ускорение OpenGL в VcXsrv, и мои драйверы Windows nVidia являются последними и подтверждены для использования для OpenGL Mesa в Ubuntu.
Для каждого метода могут быть доступны дополнительные оптимизации, которые улучшат производительность.
Согласно :
Теперь вы можете просмотреть поддержку подсистемы Windows для Linux (WSL) для запуска приложений Linux с графическим интерфейсом (X11 и Wayland) в Windows в полностью интегрированном рабочем столе.
WSL 2 позволяет приложениям с графическим интерфейсом Linux чувствовать себя родными и естественными для использования в Windows.
- Запуск приложений Linux из меню «Пуск» Windows.
- Закрепление приложений Linux на панели задач Windows
- Используйте Alt-Tab для переключения между приложениями Linux и Windows.
- Вырезать + вставить в приложениях для Windows и Linux
Теперь вы можете интегрировать приложения Windows и Linux в свой рабочий процесс для беспроблемной работы на рабочем столе.
Предпосылки
Для доступа к этой функции вам потребуется Windows 11 Build 22000 или выше .
Установленный драйвер для vGPU
Это позволит вам использовать виртуальный графический процессор (vGPU), чтобы вы могли воспользоваться преимуществами рендеринга OpenGL с аппаратным ускорением.
Установка приложений с графическим интерфейсом на WSL.
Предполагая, что вы выполнили все предварительные требования и уже установили WSL, вам нужно обновить WSL.
Откройте окно PowerShell , нажав « Пуск » → введите «Power Shell» → щелкните правой кнопкой мыши Windows PowerShell → « Запуск от имени администратора».
Обновить WSL:
wsl --update
Вам нужно будет перезапустить WSL, чтобы обновление вступило в силу:
wsl --shutdown
Теперь вы готовы начать использовать приложения с графическим интерфейсом на WSL.
ПРИМЕЧАНИЕ . Поддержка приложений с графическим интерфейсом пользователя в WSL не обеспечивает полноценного рабочего стола. Он зависит от рабочего стола Windows, поэтому установка инструментов или приложений, ориентированных на рабочий стол, может не поддерживаться.
Установите любое приложение с графическим интерфейсом, например, для установки gedit выполните:
sudo apt update
sudo apt install gedit
Для запуска gedit выполните:
gedit /path/to/any/file/you/want/to/edit
Основываясь на моих исследованиях, wsl изначально не был предназначен для пользователей графического интерфейса. Тем не менее, мы можем установить X-сервер от третьего лица для отображения графического интерфейса. Я проверил, что VcXsrv с некоторыми настройками может использоваться для отображения рабочего стола Debian Linux.
Я думаю, что мой подход работает гладко для отображения рабочего стола (GUI) в подсистеме Windows Linux Debian. Я сделал видео о том, как установить и отобразить mate-desktop (GUI) на Debian с нуля. Ссылка: https://youtu.be/QjogEWudpaM
Установка рабочего стола mate на Ubuntu немного отличается.
Шаг 1: установите wsl
- Откройте PowerShell от имени администратора и введите
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- Установите "Debian" или "Ubuntu" из магазина Microsoft.
Шаг 2: установите графический интерфейс пользователя, например, рабочий стол mate.
Для пользователя Debian:
- Откройте консоль Linux в Windows 10 и установите mate-desktop, набрав:
sudo apt-get update
, нажмите ввод. - После завершения обновления введите
sudo apt install task-mate-desktop
, нажмите ввод.
ИЛИ для пользователя Ubuntu:
- открыть консоль Ubuntu из Windows 10
- тип
sudo apt install tasksel
, нажмите ввод - тип
sudo apt update
, нажмите ввод - тип
sudo tasksel install ubuntu-mate-desktop
, нажмите ввод
Шаг 3. Установите X-сервер в Windows 10. Я использовал сервер с открытым исходным кодом VcXsrv. Его можно скачать с https://sourceforge.net/projects/vcxsrv/.
После завершения установки:
открыть XLauch в windows 10
выполнить следующую настройку:
- Выбрать:
"One large window"
- Выбрать
Display number: 0
- щелчок
next
- Выбрать
Start no client
- щелчок
next
- щелчок
finish
- Выбрать:
Шаг 4: настройка в консоли Linux:
тип
export DISPLAY=:0
тип
export LIBGL_ALWAYS_INDIRECT=1
(может быть, эта похвала не требуется)
Шаг 5: Показать графический интерфейс рабочего стола:
тип
mate-session
для пользователя Debianтип
mate-session
илиlightdm-session
для пользователя Ubuntu
Если вы запутались в моем описании, вы можете посмотреть мои видеоролики на YouTube. Установить GUI (рабочий стол mate) в подсистему Microsoft Windows Linux.
Если вы хотите легко получить готовое решение, используйте MobaXTerm. Это отличный эмулятор многопоточных терминалов с прямой поддержкой WSL и встроенным оптимизированным X-сервером. Я использую синаптику все время на Мобе. Даже RStudio.
Так как вы хотите, чтобы это было просто... В Магазине Microsoft есть приложение под названием x410. Это в основном сервер Cygwin X11 без использования самого Cygwin. После установки - это нулевой конфиг - вы можете запускать приложения WSL X11! (или даже целые рабочие столы). Возможно, вы захотите вставить следующие строки в ваш.bashrc (из вашей учетной записи пользователя WSL), чтобы вы могли запускать приложения из вашего терминала bash.
### Setup a D-Bus instance that will be shared by all X-Window apps
pidof dbus-launch 1> /dev/null || dbus-launch --exit-with-x11 1> /dev/null 2>
/dev/null
## Export
export DISPLAY=127.0.0.1:0.0
Я купил x410 на бальзаме примерно за 5 евро. Так что, если это слишком много, возможно, подождите продажи!
Я выбрал ответ Пантеры не только потому, что он единственный, но и потому, что это правильный ответ; нет простого (простого) способа запуска приложений с графическим интерфейсом.
Также я использовал этот урок с некоторыми изменениями:
- Я не установил
xfce
, потому что я не знаю, зачем мне настольный компьютер. - Выбрали
Multiple Windows
вXLaunch
(Нет DE, следовательно, нет необходимости в одном гигантском окне) - Нет необходимости исправлять MKDIR и нет необходимости в отдельном терминале.
Какие графические приложения я установил? Только Synaptic и CMake, так как я действительно не могу думать ни о чем другом, что мне понадобится на wsl.
Я не делаю VM/Dual Boot, по той же причине, на которую указал Пантера; Мне нужна удобная (для меня) среда разработки, а не полнофункциональная ОС.
- установите Fedora в VirtualBox на вашем компьютере под управлением Windows с сетью NAT
- в WSL
sudo service ssh start
- от Федоры беги
ssh -Y 10.0.2.2
Обычно хост гостя VirtualBox может быть достигнут в 10.0.2.2
Теперь вы можете использовать любую программу WSL X на рабочем столе Fedora, даже с Windows.