Когда я в сети, я получаю следующую ошибку, и инструмент не запускается:
[root@dhcppc9 lin64]# ./ise
No protocol specified
_pn: cannot connect to X server :0.0
Но все в порядке, когда я не являюсь суперпользователем. Почему так?
редактировать
[root@dhcppc9 lin64]# export $(dbus-launch)
No protocol specified
любое предложение?
Также
[root@dhcppc9 lin64]# xhost [+]
No protocol specified
xhost: unable to open display ":0.0"
export $(dbus-launch)
или использовать,xhost [+]
чтобы иметь возможность запускать программы с использованием X и вашей учетной записи суперпользователя.$ xhost
чтобы увидеть текущий доступ и$ xhost +
разрешить доступ с любого хоста. Вы часто делаете это с виртуального терминала, который, как вы знаете, может порождать программы с использованием X.echo $DISPLAY
показывает? К какому пользователю относится процесс xserver, который вы хотите использовать? (Вы можете узнать последнее, используя, напримерps faux
)Ответы:
Программе X требуется две части информации для подключения к дисплею X.
Требуется адрес дисплея, который обычно отображается
:0
при локальном входе в систему или:10
,:11
и т. Д. При удаленном входе в систему (но число может меняться в зависимости от того, сколько активных X-соединений). Адрес дисплея обычно указывается вDISPLAY
переменной окружения.Требуется пароль для отображения. Пароли X-дисплея называются волшебными куки . Магические куки не указываются напрямую: они всегда хранятся в X авторитетных файлах, которые представляют собой набор записей вида «на дисплее
:42
есть куки123456
». Файл полномочий X обычно указывается вXAUTHORITY
переменной среды. Если$XAUTHORITY
не установлено, программы используют~/.Xauthority
.См. Открытие окна на удаленном дисплее X (почему «Не удается открыть дисплей»)? Больше подробностей.
В вашем случае
DISPLAY
установлено, но программы, очевидно, не могут найти файл cookie. Проверьте значениеXAUTHORITY
в вашей сессии и подsu
.Если
XAUTHORITY
не установлен в сеансе иsu
устанавливаетHOME
переменные окружения в домашнем каталог суперпользователя, то вам нужно установить ,XAUTHORITY
чтобы/home/msz/.Xauthority
где/home/msz
ваш домашний каталог.Если
su
удалитьXAUTHORITY
из среды, либо положить его обратно, либо настроить,su
чтобы не делать этого.Если ваш домашний каталог находится в некоторых файловых системах, таких как NFS, root может не прочитать его напрямую. В этом случае вы можете скопировать
.Xauthority
файл в другое место в файловой системе, отличной от NFS:источник
ln -s /home/otheruser/.Xauthority ~
Вы запускаете xhost от имени root!
запустите xhost от имени обычного пользователя
xhost +
, затем войдите в систему как root и попробуйте снова.Кстати, как отмечали другие,
xhost +
разрешает любому пользователю с любого хостаисточник
xhost
не работают. Если это так, то хотя бы бегиxhost +localhost
, нетxhost +
!XAUTHORITY для меня был задан как файл, которого больше не было:
$ echo $XAUTHORITY
/tmp/xauth-1000-_0
Так я и сделал
unset XAUTHORITY
и затем смог подключиться к моему приложению как root с помощью kdesudo (в этом случае
kdesudo bleachbit
)источник
Запустите как обычный пользователь
затем включите супер пользователя с помощью
наконец перейти к примеру с сервером
наконец запустить ./Ampps
спасибо мне в 2020
источник
Это сработало для меня в Fedora 30
источник