Вопрос или проблема
Я пытаюсь открыть приложение на vala, и оно выдает мне сообщение (BatterySaver:110216): Gtk-WARNING **: 15:03:18.426: нельзя открыть дисплей:
. Я уже пытался переключиться на X11, использовал export DISPLAY=:0
и xhost +localhost
, но безуспешно. У кого-нибудь есть идеи? Запускаю на Fedora 40.
Ответ или решение
Чтобы решить проблему с ошибкой Gtk-WARNING **: cannot open display:
в вашем приложении, которое вы пытаетесь запустить с использованием pkexec
, есть несколько шагов, которые вы можете предпринять.
-
Проверка переменной DISPLAY: Убедитесь, что переменная окружения
DISPLAY
установлена правильно. Вы можете сделать это, выполнив следующую команду в терминале:echo $DISPLAY
Если значение переменной не установлено или отличается от
:0
, попробуйте установить его:export DISPLAY=:0
-
Настройка доступа к X-серверу: Если вы запускаете графическое приложение от имени пользователя root с помощью
pkexec
, вам необходимо предоставить доступ X-серверу. Выполните команду:xhost +SI:localuser:root
Это позволит пользователю root получать доступ к вашему X-серверу.
-
Использование
pkexec
правильно: Если вы уже настроилиDISPLAY
и доступ к X-серверу, попробуйте снова запустить ваше приложение черезpkexec
:pkexec path/to/your/application
-
Проверка конфигурации системы: Убедитесь, что ваша система настроена для поддержки графических приложений, работающих с
pkexec
. Это может включать в себя настройки в файлеpolkit
или другие параметры безопасности. -
Использование
gksu
илиgksudo
(опционально): Если вы по-прежнему сталкиваетесь с проблемами, может быть полезно использоватьgksu
илиgksudo
, так как они лучше поддерживают графические интерфейсы. Попробуйте установитьgksu
, если он доступен в ваших репозиториях, и запустите приложение так:gksu path/to/your/application
-
Логи и отладка: В случае, если вышеперечисленные шаги не помогли, посмотрите в системные логи на предмет дополнительных подсказок. Логи можно просмотреть с помощью команд:
journalctl -xe
или проверить лог файл X-сервера, который может находиться по адресу
/var/log/Xorg.0.log
.
Если после выполнения всех этих действий проблема не решена, возможно, потребуется более глубокий анализ конфигурации системы или получение дополнительной информации об ошибке. В этом случае стоит обратиться на форумы поддержки Fedora или GitHub-репозиторий вашего приложения для получения помощи от сообщества.