Установив в Windows 10 подсистему WSL2 и какой-нибудь Linux-дистрибутив, вы наверняка задавались вопросом, а как же всем этим пользоваться, в частности запускать в bash приложения с графическим интерфейсом. В среде Windows 10 ОС Linux работает в консольном режиме, так что запускать в ней можно только консольные приложения. Если же вы установите и попробуете запустить GUI-приложение, то наверняка получите ошибку «cannot open display».
А чуть выше будет указана причина ошибки – unable to init server: could not connect – невозможно инициализировать сервер, нет подключения.
Чтобы решить эту проблему, в Windows 10 необходимо установить специальную программу-сервер VcXsrv Windows X Server, скачать ее можно с ресурса sourceforge.net/projects/vcxsrv.
Запустив установленный сервер, выберите режим отображения окна – рекомендуем оставить режим по умолчанию «multiple windows», это позволит запускать приложения Linux в отдельном окне.
В окне установщика «Extra settings» установите флажок в пункте «Disable access control».
Также потребуется выполнить кое-какие настройки в консоли Bash, а именно экспортировать дисплей.
Для этого в запущенной консоли Linux, в данном примере Ubuntu, выполните такую команду:
export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0"
Выполнять ее нужно будет при каждом запуске установленной linux, но ее также можно добавить в автозагрузку, отредактировав файл bash.bashrc.
Открыв его тут же в консоли командой:
sudo nano /etc/bash.bashrc
Прокрутите содержимое файла вниз и вставьте приведенную выше команду в конец файла.
Сохраните его, нажав Ctrl + X и подтвердив выход нажатием Y.
Наконец, настроив на всякий случай файл .xsession командой echo xfce4-session > ~/.xsession, можно будет приступать к установке приложений с GUI интерфейсом.
Напоминаем, что в Linux Ubuntu для этого используется команда sudo apt install имя_программы.
Например, команда sudo apt install x11-apps установит часики x11-apps.
Чтобы запустить установленное GUI-приложение, введите в консоль его имя и нажмите ввод.
После того как запустится приложение, ввод в терминал Bash будет заблокирован и будет оставаться таковым до завершения работы приложения. Поэтому, чтобы иметь возможность и далее пользоваться терминалом, используйте для запуска программ команду name &, где name – название программы.
Добавить комментарий