Gtk-warning не может открыть дисплей Windows Ubuntu

Вопрос или проблема

В качестве класса для изучения Unix/Linux я использую приложение Ubuntu от Microsoft на Windows 10. Я хочу запустить:

gedit somefile.txt

Но получаю следующее:

Не удалось подключиться к Mir: Не удалось подключиться к серверному сокету: Нет такого файла или каталога
Не удалось инициализировать сервер: Не удалось подключиться: Соединение отклонено
(gedit:27829): Gtk-WARNING **: невозможно открыть дисплей: :0.0

Ни одно из следующих решений не сработало:

  1. В соответствии с этой страницей я пробовал gksu gedit и получил только последнюю строку вышеприведенной ошибки, а также пробовал sudo nano и могу редактировать файл (но это не совсем решение, так как я хочу использовать gedit).

  2. В соответствии с @WinEunuuchs2Unix’s solution я скачал VcXsrv, добавил export DISPLAY=localhost:0.0 в ~/.bashrc, установил ubuntu-desktop и yad, но все равно получаю свою исходную ошибку при попытке открыть gedit.

  3. В соответствии с этой страницей я установил Xming и vim-gtk и попытался использовать gvim вместо gedit и получил:

    E233: не удалось открыть дисплей

  4. Я следовал этому руководству от PC World, не встречая проблем, пока не дошел до dbus-launch --exit-with-session ~/.xsession, что дает мне:

    /usr/bin/startxfce4: X сервер уже запущен на дисплее :0.0
    xrdb: Соединение отклонено
    xrdb: Невозможно открыть дисплей ‘:0.0’
    xfce4-session: Невозможно открыть дисплей: .
    Введите ‘xfce4-session –help’ для справки.

А теперь я не знаю, что еще попробовать, поэтому буду рад получить помощь! Я также надеюсь, что это хороший вопрос и извиняюсь, если я совершаю типичную ошибку новичка.

Рекомендую xhost +, что потенциально опасно, так как позволяет любому в мире подключаться к вашей X-сессии, но вы можете запустить это, а затем выполнить вашу команду, после того как программное обеспечение запустится, запустите xhost -, чтобы снова обеспечить безопасность. Это временное решение 🙂

Приложение Ubuntu использует WSL, который в основном является текстовой системой и не предоставляет полнофункциональную графическую среду рабочего стола. Однако уже довольно давно WSL способен запускать графические приложения в окне. Необходимые шаги по установке и инструкции по использованию можно найти в документации Microsoft.

Если вы ищете полнофункциональный рабочий стол, вам стоит рассмотреть установку Ubuntu в виртуальной машине, например, в Microsoft Hyper-V.

Ответ или решение

Проблема и Решение: Gtk-warning cannot open display в Windows через Ubuntu

Ваша проблема заключается в том, что вы пытаетесь запустить графическое приложение gedit в среде Windows с использованием WSL (Windows Subsystem for Linux), но сталкиваетесь с ошибкой Gtk-WARNING **: cannot open display: :0.0. Эта ошибка означает, что ваше приложение пытается подключиться к графическому серверу (X-серверу), но не может этого сделать.

Что такое WSL и его ограничения

Меняющий подход Microsoft с WSL позволяет пользователям запускать Linux приложения в Windows, однако, стоит учитывать, что WSL в первую очередь предназначен для текстовых приложений. В то время как WSL2 поддерживает более широкий функционал и запуск графических приложений, интеграция с GUI-приложениями всё ещё требует дополнительных шагов.

Актуальные Решения

  1. Убедитесь, что X-сервер запущен

    Для успешного запуска GUI-приложений в WSL необходимо наличие графического X-сервера, такого как VcXsrv или Xming. Убедитесь, что такой сервер установлен и запущен.

  2. Настройка переменной DISPLAY

    После установки X-сервера, необходимо настроить переменную окружения DISPLAY. В вашем случае, для VcXsrv, правильной установкой будет:

    export DISPLAY=localhost:0.0

    Добавьте эту строку в ваш файл ~/.bashrc, чтобы эта настройка применялась при каждой новой сессии Linux.

  3. Настройка разрешений на доступ к X-серверу

    Чтобы разрешить доступ к X-серверу, выполните команду:

    xhost +

    После запуска gedit, вы можете вернуть настройки безопасности с помощью:

    xhost -

    Обратите внимание, что команда xhost + потенциально небезопасна, так как она позволяет любому пользователю подключаться к вашему X-серверу. Используйте её умело и только для временных нужд.

  4. Проверка конфигурации WSL

    Убедитесь, что у вас стоит WSL2, так как WSL1 не поддерживает запуск GUI-приложений. Для проверки версии WSL выполните команду:

    wsl --list --verbose

    Если у вас установлена старая версия WSL, вы можете обновить её с помощью команды:

    wsl --set-version <имя_дистрибутива> 2
  5. Удаление и переустановка графических библиотек

    Возможно, некоторые библиотеки или компоненты могут быть установлены некорректно. Попробуйте переустановить необходимые графические библиотеки:

    sudo apt update
    sudo apt install --reinstall gedit
  6. Использование альтернативных текстовых редакторов

    Если все вышеописанные шаги не помогли, вы всегда можете использовать текстовые редакторы, работающие через терминал, например, nano или vim. Несмотря на то что они не имеют графического интерфейса, они предоставляют достаточный функционал для редактирования текстовых файлов.

Заключение

Проблема с подключением к графическому дисплею в WSL может вызвать множество трудностей, однако, следуя описанным шагам, вы сможете решить её. Если у вас возникают дополнительные вопросы или требуется помощь, не стесняйтесь обращаться за поддержкой.

Для получения более подробной информации об использовании графических приложений в WSL, вы можете обратиться к официальной документации Microsoft.

Оцените материал
Добавить комментарий

Капча загружается...