Какой самый простой способ запускать приложения с графическим интерфейсом в подсистеме Windows для Linux с 2018 года?

Я поискал, и в настоящее время предлагается два метода; установка расширения для подсистемы Windows для Linux и установка XServer.

Я хочу знать, какой метод наиболее беспроблемный (простой в установке и использовании), а какой требует меньше памяти — тяжелый.

Мне просто нужны Synaptic и CMake. Почему это не может быть встроенной функцией?


Короткий ответ: вы не можете, поскольку WSL еще не поддерживает эту функцию. WSL не является полной установкой Linux с ядром Linux, он позволяет запускать некоторые собственные команды/двоичные файлы Linux в ядре Windows (Microsoft) и имеет ограничения.

См. Https://github. com/Microsoft/WSL/issues/2356

Однако вы можете установить сторонний X-сервер, такой как xming и ssh, в свой WSL.

https ://virtualizationreview.com/articles/2017/02/08/graphical-programs-on-windows-subsystem-on-linux.aspx

Я не копировал это руководство здесь, поскольку оно справедливо повсеместно (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-desktopsudo apt install yadsudo apt install gedit  

… для установки программного обеспечения рабочего стола с графическим интерфейсом пользователя. Затем это позволило мне запустить gedit и nautilus . Затем я смог установить определенные приложения с графическим интерфейсом через CLI (интерфейс командной строки), используя команды apt или apt-get .

Когда я хочу попробовать многие из моих сценариев bash Ubuntu в WSL, необходимо установить VcXsrv , поэтому zenity и yad Для ввода пользователем отображаются диалоговые окна x-windows.

Как отмечали другие, графический интерфейс в 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 = Yesexport DISPLAY = localhost: 0.0  
  • /mnt/e/bin — необычный путь, потому что именно здесь я храню сценарии, используемые как в WSL с двойной загрузкой Windows 10, так и в двойной загрузке Ubuntu 16.04. Большинство пользователей не добавили бы это на свои машины.

12


У меня был очень положительный опыт работы с VcXsrv на Win 10 Bash на Ubuntu в Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft). Я не сосредотачивался на использовании рабочего стола Unity, поскольку он бесполезен и требует больших ресурсов. Я просто запускал приложения из bash в режиме графического интерфейса с рабочего стола Windows10 с помощью XServer.

  1. Установите VcXsrv отсюда на Sourceforge

  2. Запустите приложение VcXsrv напрямую, не запускайте XLaunch. Вы должны увидеть localhost: 0.0 - 0 clients при наведении курсора на значок на панели задач Win10

  3. Откройте Ubuntu Bash:

      cd/mnt  

(приводит к localhost @ localhost:/mnt $)

  cd ..  

(localhost @ localhost:/$ означает, что эти команды переносят вас в начало жесткого диска до как может видеть WSL …)

  sudo apt-get install dbus synaptic nautilus --install-sizes --show-progress  

(это установит «dbus» для создания виртуального коннектора для графического интерфейса пользователя, «Synaptic Package Manager» и «Nautilus» файловый менеджер для рабочего стола Unity

  cd/usr/ share/dbus-1 && sudo vi session.conf  

(Когда session.conf открывается в редакторе vi)

Нажмите i , чтобы войти в режим вставки и добавить

   unix: tmpdir =/tmp   || Исходная команда -> для сохранения исходных правил  

, чем добавить:

   tcp: host = localhost, bind = 0.0.0.0, port = 0   EXTERNAL   DBUS_COOKIE_SHA1   allow_anonymous   

Когда вы закончите редактировать файл, нажмите ESC и : wq , чтобы сохранить файл.

Запустите эти команды и проверьте их вывод:

  $ export DISPLAY = localhost: 0 $ sudo service dbus start * Запуск шины системных сообщений dbus [OK] $ echo $ DISPLAY localhost: 0  
  1. Готово! Теперь просто запустите synaptic, nautilus или firefox из Bash, и они должны загрузиться на рабочем столе Win10. Подобные варианты графического интерфейса содержат ошибки, но работают. Вы можете установить ubuntu-desktop , unity , ccsm , compiz и попробовать для запуска Unity Desktop для Ubuntu . Я не пробовал устанавливать «Steam», потому что все еще мучаюсь, пытаясь запустить «Unreal», удачи 🙂

Если кто-то знает, как запускать gnome-terminal на XServer вместо XTerm, пожалуйста, поделитесь …

P. S
Вы можете добавить 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 .

Затем дважды щелкните значение и установите его десятичное значение на 1. (Чтобы восстановить значение по умолчанию, измените значение на 2 или удалите ключ) Теперь перейдите к следующему ключу: HKEY_LOCAL_MACHINESoftwareMicrosoftMSMQ

Щелкните правой кнопкой мыши на еще раз и выберите New> Dword (32-bit) Value .

Назовите новый параметр

Затем дважды щелкните по нему и измените его десятичное значение на 1. (Чтобы восстановить ключ в более поздний момент времени, измените его на 0 или удалите ключ)

Алгоритм Нэгла

Алгоритм Нэгла объединяет несколько небольших пакетов в один, пакет большего размера для более эффективной передачи. Это сделано для повышения эффективности передачи данных. Отключение «пингования» может помочь уменьшить задержку/пинг в некоторых играх. Алгоритм Нэгла включен в Windows по умолчанию. Чтобы реализовать эту настройку, измените следующие ключи реестра.

  HKEY_LOCAL_MACHINE  SYSTEM  CurrentControlSet  Services  Tcpip  Parameters  Interfaces  {NIC  -id}  

Для {NIC-id} найдите тот, в котором указан ваш IP-адрес; под этим ключом {NIC-id} создайте следующее значение DWORD:

  • TcpFrequency и установите его в 1, чтобы отключить «ворчание» для игр.
  • TCPDelay и установите для него также значение 1, чтобы отключить «пилинг».
  • TcpTicks и установите его в 0

Примечание :

В некоторых отчетах говорится, что настройки действительно уменьшили задержку при игре в 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  

и измените следующие значения реестра:

  • «Приоритет графического процессора» измените его значения на 8 для игр.
  • «Приоритет» установлен на 1 для игр.

Всем привет за «неизвестного» (простите меня, прошло некоторое время с тех пор, как я скопировал ваши указания) автора этой настройки Windows = Xbox …

PPS: если XServer не справляется с тем, что вы хотели бы сделать, попробуйте найти обходной путь с помощью Docker.

  • [WSL_Apache_Roolez] [1]
  • [Throttling_a_’mm ‘_: 0] [2]
  • [Вы получили почту !!!] [3]

Microsoft объявила о зеленом свете для графического интерфейса WSL 2: https://devblogs.microsoft.com/commandline/the-windows-subsystem-for-linux-build-2020-summary/#wsl-gui

6


Даже если полный графический интерфейс Среда ktop «официально» не поддерживается Microsoft, она может работать.

Включение или отключение функций Windows
Включить подсистему Windows для Linux
Перезагрузить компьютер
Запустите Microsoft Store
Найдите Ubuntu
Выберите Ubuntu 18.04 в разделе «Приложения»
Нажмите «Получить»
Запустите Ubuntu и дождитесь установки
Установите имя пользователя и пароль

Выполните следующие команды:

  sudo apt-get update -ysudo apt-get install ubuntu-desktop -ysudo apt-get install xfce4 xorg  xrdp -ysudo 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 .xsessionsudo systemctl enable xrdp  

Вам понадобится вторая учетная запись на Ubuntu

  sudo adduser remotesudo usermod -aG sudo remote  

Изменить startwm.sh

  cd/etc/xrdpsudo chmod 777 startwm.shvim 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!

Когда делать ne, закройте подключение к удаленному рабочему столу
Вернитесь в командную строку Ubuntu

  sudo/etc/init.d/xrdp stopexit  

2


На основании моих исследований, wsl был изначально не предназначен для пользователей графического интерфейса. Однако мы можем установить X-server от третьего лица для отображения графического интерфейса. Я протестировал, что VcXsrv при правильной настройке можно использовать для отображения рабочего стола Debian Linux.

Я думаю, что мой подход работает плавно для отображения рабочего стола mate (GUI ) в подсистеме Windows Linux Debian. Я снял видео о том, как с нуля установить и отобразить mate-desktop (GUI) на wsl Debian. Ссылка: https://youtu.be/QjogEWudpaM

Установка mate-desktop на 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 , нажмите Enter.
  • После завершения обновления введите sudo apt install task-mate-desktop , нажмите Enter.

ИЛИ для пользователя Ubuntu :

  • откройте консоль ubuntu из Windows 10
  • введите sudo apt install tasksel , нажмите Enter
  • введите sudo apt update , нажмите Enter
  • введите sudo tasksel install ubuntu-mate-desktop , нажмите Enter.

Step3 : Установить X-сервер в windows 10. Я использовал сервер с открытым исходным кодом под названием VcXsrv. Его можно загрузить с https://sourceforge.net/projects/vcxsrv/.
После завершения установки:

  • откройте XLauch в Windows 10

  • выполните следующую настройку:

    • выберите: "Один большой window "
    • выберите Отображаемый номер: 0
    • щелкните далее
    • выберите Не запускать клиента
    • щелкните следующий
    • нажмите finish

Шаг 4 : настройка в консоли Linux:

  • тип export DISPLAY =: 0

  • введите export LIBGL_ALWAYS_INDIRECT = 1 (возможно, эта рекомендация не требуется)

Шаг 5 : Показать графический интерфейс mate-desktop:

  • type mate-session для Debian пользователь

  • введите mate-session или lightdm-session для Пользователь Ubuntu

Если вы запутались в моем описании, вы можете проверить мои видеоролики на YouTube. Установка графического интерфейса пользователя (рабочий стол mate) в подсистему Microsoft Windows Linux.

2


Если вам нужно легкое готовое решение, используйте MobaXTerm. Это отличный эмулятор терминала с несколькими таблицами, с прямой поддержкой WSL и встроенным оптимизированным X-сервером. Я все время использую synaptic на Moba. Даже RStudio.


Я выбрал ответ Пантеры не только потому, что это единственный , но еще и потому, что это правильный ответ; не существует простого (простого) способа запустить приложения с графическим интерфейсом.

Кроме того, я использовал этот учебник с некоторыми изменениями:

  1. Я не установил xfce , потому что не знаю, зачем мне нужен adesktop.
  2. Выбрал Несколько окон в XLaunch (без DE, следовательно, нет необходимости в одном гигантском окне)
  3. Нет необходимости в исправлении mkdir и нет необходимости в отдельном терминале.

Какие приложения GUI я установил? Только Synaptic и CMake, поскольку я действительно не могу придумать, что еще мне могло бы понадобиться в wsl.

Я не использую виртуальную машину/двойную загрузку по той же причине, что указала Пантера; Мне нужна удобная (для меня) среда разработки, а не полноценная гибкая ОС.

2


Раз уж вам нужно просто … В Microsoft Store есть приложение под названием x410. По сути, это сервер Cygwin X11 без использования самого Cygwin. После установки — это нулевая конфигурация — вы можете запускать приложения WSL X11! (или даже целые рабочие столы). Вы можете вставить следующие строки в свой. bashrc (из вашей учетной записи WSL), чтобы вы могли запускать приложения из своего терминала bash.

  ### Настройте экземпляр D-Bus, который будет использоваться всеми X-  Окно appspidof dbus-launch 1>/dev/null ||  dbus-launch --exit-with-x11 1>/dev/null 2>/dev/null ## Exportexport DISPLAY = 127.0.0.1: 0.0  

Я купил x410 на мазу примерно за 5 евро .. Так что, если это слишком много, возможно, дождитесь распродажи!



Как запустить родной Рабочий стол Ubuntu в Windows 10

Windows 10 теперь работает на полмиллиарда устройств
Смотреть сейчас

Настоящая причина, по которой Canonical и Microsoft представили Ubuntu в Windows 10, заключалась в том, чтобы позволить системным администраторам и разработчикам использовать Bash и другие программы оболочки Linux. , например make, gawk и grep, в Windows. Пользователи Linux, будучи прирожденными хакерами, немедленно начали работать над переносом графических рабочих столов Linux в подсистему Windows для Linux (WSL).

Угадайте, что? Они сделали это.

Программист из Гватемалы, который использует дескриптор GitHub Guerra24, «сумел запустить Unity [интерфейс рабочего стола Ubuntu по умолчанию] внутри WSL, это показывает, что он полностью способен запускать Вся среда рабочего стола. «

Это непросто сделать, и это далеко не полный рабочий стол Linux, но это только начало. Если вы хотите запустить рабочий стол Ubuntu Linux в Windows 10 для работы, я рекомендую вам сделать это с помощью программы виртуальной машины (ВМ), такой как Oracle VirtualBox. Но если вы просто хотите повеселиться и отточить свои навыки программирования на рабочем столе, вы тоже можете попробовать запустить Ubuntu в Windows 10 изначально.

Чтобы начать работу над этим проектом сегодня, вам необходимо запустить бета-версию Windows 10 Fast Ring. С общедоступным выпуском юбилейного обновления Windows 10 каждый сможет попробовать.

Итак, как вы это делаете? После обновления Windows 10 следуйте за мной.

Сначала вы должны включить режим разработчика Windows 10 через Настройки> Обновление и безопасность> Для разработчиков. Затем найдите «Компоненты Windows», выберите «Включение или отключение компонентов Windows» и включите подсистему Windows для Linux (бета).

После этого, чтобы установить Bash, вы должны открыть команду Windows Подскажите и введите «bash». Вам будет предложено принять условия обслуживания и загрузить Ubuntu. Типичная загрузка Ubuntu составляет чуть меньше одного гигабайта. Итак, если у вас медленное интернет-соединение, будьте готовы подождать. После установки вы будете запускать версию Ubuntu 14.04 для пользовательского пространства поверх WSL.

Технически вы не используете Linux. Он может выглядеть как Linux и пищать, как Tux, Linux-пингвин; но это не линукс. Это потому, что пользовательское пространство Ubuntu работает не на ядре Linux, а на WSL. WSL предоставляет хуки API, чтобы они выглядели как Linux для приложений Ubuntu и Linux, но это не одно и то же. Это станет важным по мере продвижения.

После того, как вы установили Ubuntu, вам нужно будет обновить его. Это можно сделать из оболочки Bash, выполнив следующие команды:

1. apt-get update

2. apt-get upgrade

Теперь вернитесь к Windows 10 и установите Windows-совместимый Xserver. Это то, что Ubuntu использует для отображения графического интерфейса. Лучшими из них для наших целей являются vcxsrv или Xming.

Затем вы должны сообщить Ubuntu о Xserver, чтобы он мог его использовать. Для этого вы можете ввести в оболочке следующую команду:

DISPLAY =: 0.0

Теперь любая графическая программа Linux будет отображаться в Windows 10. Еще лучше, если вы собираетесь продолжать работать с графическим программным обеспечением Linux на WSL, сделайте так, чтобы WSL автоматически готовился к работе с графическими программами, поместив команду в файл конфигурации Bash: «.bashrc». Легкий способ сделать это — использовать команду echo, чтобы записать его с помощью следующей команды оболочки.

echo «export DISPLAY =: 0.0» >> ~/.bashrc

После этого вы можете запускать графические программы Linux, такие как Firefox, или настольные компьютеры … но они не будут работать хорошо или долго. Это потому, что WSL не включает поддержку сокетов. Сокеты — это то, что Unix и Linux используют для связи между службами. На рабочем столе Linux по умолчанию для реализации сокетов используется система обмена сообщениями D-Bus. Без D-Bus многие графические программы Linux для настольных ПК не работают так хорошо, если вообще работают.

Однако WSL поддерживает сетевой протокол TCP, и пользователь Reddit по имени ShaRose обнаружил способ заставить D-Bus использовать tcp вместо сокетов. Идеально? Нет, но это работает.

Чтобы включить это, выполните следующую команду:

sudo sed -i ‘s/. * / tcp: host = localhost, port = 0 /’/etc/dbus-1/session. conf

Это использовало редактор потока sed для изменения файла конфигурации D-Bus, так что с этого момента он будет использовать tcp вместо сокетов. Конечный результат? Приложения, которым требуется D-Bus, теперь будут работать на WSL.

На следующем этапе пора установить программы для графического рабочего стола. Для этого нужно запустить эти программы из Bash:

  • apt-get install ubuntu-desktop
  • apt-get install unity
  • apt-get install compiz-core
  • apt-get install compizconfig-settings-manager

Первая команда устанавливает базовый рабочий стол Ubuntu программы. Это будет включать программы конечного пользователя, такие как LibreOffice. Следующая инструкция устанавливает рабочий стол Unity. Две последние команды устанавливают: Compiz, менеджер компостирования графики OpenGL и его внешний интерфейс ccsm. Следующим шагом будет использование ccsm для настройки параметров рабочего стола.

После установки всех этих программ запустите ccsm из Bash. В интерфейсе ccsm вам необходимо включить следующие плагины Compiz:

General:

  • Команды
  • Composite
  • Копировать в текстуру
  • OpenGL

Рабочий стол:

  • Плагин Ubuntu Unity

Загрузка изображения:

  • PNG
  • Панель инструментов библиотеки Compiz
  • Управление Windows
  • Переместить окно
  • Поместить окна
  • Изменить размер окна
  • Масштабирование
  • Привязка окон

Теперь, чтобы запустить это шоу, закройте ccsm и откройте Unity интерфейса, запустив compiz из Bash.

Примерно через минуту у вас должен быть установлен и запущен Unity.

Теперь не входите в это с ложными ожиданиями. Это не будет хорошо работать. Но в моей тестовой системе Windows 10, настольном компьютере ASUS с процессором i7 3770 третьего поколения и 8 ГБ ОЗУ, он работал достаточно хорошо, и я уверен, что кто-то в конечном итоге найдет способ заставить рабочий стол Ubuntu работать с пользой. WSL.

Теперь, если вы меня извините, я иду посмотреть, смогу ли я получить Quake, старую игру-шутер от первого лица, работающую на WSL. Я «почти» близок к тому, чтобы запустить его.

Похожие статьи:

  • Как начать работу с Ubuntu и Bash в Windows 10
  • Ubuntu (не Linux) в Windows: как это работает
  • Microsoft и Canonical объединились для переноса Ubuntu в Windows 10
Оцените статью
clickpad.ru
Добавить комментарий