Я искал вокруг, и в настоящее время есть два предложенных метода; установка расширения для подсистемы Windows для Linux и установка XServer.
Я хочу знать, какой метод наиболее удобен (прост в установке и использовании), а какой менее требователен к памяти.
Я просто хочу Synaptic и CMake. Почему это не может быть встроенной функцией?
Короткий ответ: вы не можете, поскольку WSL еще не поддерживает эту функцию. WSL не является полной установкой Linux с ядром Linux, он позволяет запускать некоторые собственные команды / двоичные файлы Linux в ядре Windows (Microsoft) и имеет ограничения.
См. https://github.com/Microsoft / WSL / issues / 2356
Однако вы можете установить сторонний X-сервер, такой как xming и ssh, в свой WSL.
Я не копировал здесь этот учебник, поскольку он достаточно распространен (X поверх ssh), и я ожидал, что некоторые приложения просто не будут работать даже с этой техникой.
Я решил использовать VcXsrv
в WSL (подсистема Windows 10 для Linux). Я рекомендую всем провести свое исследование между xming
(принятый ответ) и VcXsrv , прежде чем выбирать один или другой для поддержки графического интерфейса пользователя (GUI) в Windows 10 Ubuntu 16.04.
Установка проста. С 17 марта 2019 г. вы можете просто принять значения по умолчанию. Если вы хотите вызвать gedit
из вашей оболочки / терминала Bash, вам необходимо отредактировать ~ / .bashrc
и вставить эту строку:
export DISPLAY=localhost:0.0
Мне удалось запустить:
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.
Я изменил / etc / environment
, чтобы настроить раскрывающиеся меню графического интерфейса:
PATH="/mnt/e/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export LIBGL_ALWAYS_INDIRECT=Yes
export DISPLAY=localhost:0.0
/ mnt / e / bin
] - необычный путь, потому что именно здесь я храню сценарии, используемые как в WSL с двойной загрузкой Windows 10, так и в двойной загрузке Ubuntu 16.04. Большинство пользователей не добавили бы это на свои машины. Несмотря на то, что полноценная среда рабочего стола с графическим интерфейсом пользователя «официально» не поддерживается Microsoft, она может работать.
12141] Включение и отключение функций Windows
Включите подсистему Windows для Linux
Перезагрузите компьютер
Запустите Microsoft Store
Найдите Ubuntu
Выберите Ubuntu 18.04 в разделе «Приложения»
.
Нажмите "Получить"
.
Запустите 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
Oleh kerana anda menginginkannya dengan mudah ... Terdapat aplikasi di Kedai Microsoft yang disebut x410 . Ini pada dasarnya adalah pelayan Cygwin X11 tanpa penggunaan Cygwin itu sendiri. Selepas ansuran - iaitu konfigurasi sifar - anda boleh menjalankan Aplikasi WSL X11! (atau bahkan keseluruhan desktop). Anda mungkin mahu memasukkan baris berikut ke dalam .bashrc anda (dari akaun pengguna WSL anda) supaya anda dapat menjalankan aplikasi dari terminal bash anda.
### 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
Saya membeli x410 secara seluas kira-kira 5 euro .. Jadi jika terlalu banyak, mungkin tunggu jualan!
Я выбрал ответ Пантеры не только потому, что он единственный, но еще и потому, что это правильный ответ; не существует простого (простого) способа запустить приложения с графическим интерфейсом.
Кроме того, я использовал этот учебник с некоторыми изменениями:
xfce
, потому что я не знаю, зачем мне
рабочий стол. Несколько окон
в XLaunch
(без DE, следовательно, нет необходимости
гигантское окно) Какие приложения с графическим интерфейсом я установил? Только Synaptic и CMake, поскольку я действительно не могу придумать, что еще мне могло бы понадобиться на wsl.
Я не использую виртуальную машину / двойную загрузку по той же причине, что указала Пантера; Мне нужна удобная (для меня) среда разработки, а не полноценная гибкая ОС.
sudo service ssh start
ssh -Y 10.0.2.2
Обычно к хосту гостя VirtualBox можно обратиться по адресу 10.0.2.2
Теперь вы можете использовать любую программу WSL X на рабочем столе Fedora, даже с бесшовной Windows.
Если вам нужно легкое готовое решение, используйте MobaXTerm . Это отличный эмулятор терминала с несколькими таблицами, с прямой поддержкой WSL и встроенным оптимизированным X-сервером. Я все время использую synaptic на Moba. Даже RStudio.
У меня был очень положительный опыт работы с 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 клиентов
при наведении курсора на значок на панели задач 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 Package Manager» и файловый менеджер «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
ubuntu-desktop
, unity
, ccsm
, compiz
и попробовать запустить Unity Desktop для Ubuntu . Я не пытался установить «Steam», потому что я все еще пытаюсь запустить «Unreal», удачи :) Если кто-то знает, как запустить gnome-terminal
на XServer вместо XTerm, пожалуйста поделиться ...
PS
Вы можете добавить VcXsrv в качестве загрузочного файла Win10.
Чтобы максимально использовать «Steam» для ваших источников, как указано в исходном сообщении, немного настройте свою Windows для управления сетевыми пакетами (для уменьшения задержки) и приоритизации ЦП / ГП, чтобы Win10XBox…:)
Хотя вы будете запускать «Steam» под «Unix», оболочка по-прежнему будет «Windows», что позволяет запускать «Steam» на «Unix»…
Tcp Prep:;
В regedit :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
Здесь вам нужно просмотреть список подключей, чтобы найти запись сетевого адаптера, которая используется для подключения к Интернету. Если вы используете DHCP, вам нужно найти запись DhcpIPAdddress
(со значениями системных данных НЕ : 0.0.0.0
), чтобы найти правильный адаптер.
После того, как вы найдете правильную клавишу щелкните его правой кнопкой мыши и выберите New> Dword (32-bit) Value .
Назовите его TcpFrequency и нажмите ok .
Double -щелкните значение после этого и установите его десятичное значение на 1. (Чтобы восстановить настройку по умолчанию, измените значение на 2 или удалите ключ)
Теперь перейдите к следующему ключу: HKEY_LOCAL_MACHINE \ Software \ Microsoft \ MSMQ
Снова щелкните правой кнопкой мыши по ключу и выберите Создать> Значение Dword (32-битное) .
Назовите ключ новый параметр TcpDelay
Затем дважды щелкните его и измените его десятичное значение на 1. (Чтобы восстановить ключ позже, измените его на 0 или удалите ключ)
Алгоритм Нэгла объединяет несколько небольших пакетов в один более крупный пакет для более эффективной передачи. Это сделано для повышения эффективности передачи данных. Отключение «пингования» может помочь уменьшить задержку / пинг в некоторых играх. Алгоритм Нагла включен в Windows по умолчанию. Чтобы реализовать эту настройку, измените следующие разделы реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-id}
Для {NIC-id}
найдите тот, в котором указан ваш IP-адрес; под этим ключом {NIC-id}
создайте следующее значение DWORD:
Примечание:
Некоторые отчеты говорят, что настройки действительно уменьшили задержку при игре в Dota 2 и League of Legends, но для некоторых это не работает. Я попробовал это, и моя задержка увеличилась со 110 до 90 мс (сервер SEA) при игре в Dota 2.
Windows реализует механизм регулирования сети, идея такого регулирования заключается в том, что обработка сетевых пакетов может быть ресурсоемкая задача. Для достижения максимальной пропускной способности полезно отключить такое регулирование.
Чтобы реализовать эту настройку, запустите regedit и измените реестр.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.
В SystemProfile создайте значение DWORD и назовите его NetworkThrottlingIndex затем установите его шестнадцатеричное значение на 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
и измените следующие значения реестра:
Всем привет. "unknown" (простите меня, прошло некоторое время с тех пор, как я скопировал ваши указания) автор этой настройки Windows = Xbox ...
PPS: Если XServer не справляется с тем, что вы хотели бы сделать, попробуйте найти обходной путь с помощью Docker.
Microsoft объявила зеленый свет для графического интерфейса WSL 2: https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-build-2020-summary/#wsl-gui
На основании моих исследований, wsl изначально не предназначался для пользователей графического интерфейса. Однако мы можем установить X-сервер от стороннего производителя для отображения графического интерфейса. Я тестировал, что VcXsrv с некоторой правильной настройкой можно использовать для отображения рабочего стола Debian Linux.
Я думаю, что мой подход работает гладко для отображения рабочего стола mate (GUI) в подсистеме Windows Linux Debian. Я снял видео о том, как с нуля установить и отобразить mate-desktop (GUI) на wsl Debian. Ссылка: https://youtu.be/QjogEWudpaM
Установка рабочего стола mate на Ubuntu немного отличается.
Шаг 1 : установите wsl
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Шаг 2 : установите графический пользовательский интерфейс, например рабочий стол mate.
Для Debian Пользователь:
sudo apt-get update
, нажмите Enter. sudo apt install task-mate-desktop
, нажмите Enter. ИЛИ для Ubuntu Пользователь:
sudo apt install tasksel
, нажмите ввод sudo apt update
, нажмите Enter sudo tasksel install ubuntu-mate-desktop
, нажмите Enter Шаг 3 :Установите X-сервер в Windows 10.
Я использовал сервер с открытым исходным кодом под названием VcXsrv. Его можно загрузить с https://sourceforge.net/projects/vcxsrv/ .
После завершения установки:
откройте XLauch в Windows 10
выполните следующую настройку:
«Одно большое окно»
Номер дисплея: 0
далее
Не запускать клиента
затем
завершить
Шаг 4 : настройка в консоли Linux:
введите экспорт DISPLAY =: 0
тип экспорт LIBGL_ALWAYS_INDIRECT = 1
(возможно, эта рекомендация не требуется)
Шаг 5 : Отображение графического интерфейса сопряжения и рабочего стола:
тип mate-session
для Debian user
type mate-session
или lightdm-session
для Ubuntu user
Если вы запутались в моем описании, вы можете посмотреть мои видео на YouTube Установить графический интерфейс (рабочий стол mate) в подсистему Microsoft Windows Linux .