Kiedy jestem online, pojawia się następujący błąd i narzędzie nie uruchamia się:
[root@dhcppc9 lin64]# ./ise
No protocol specified
_pn: cannot connect to X server :0.0
Ale wszystko jest w porządku, gdy nie jestem superużytkownikiem. Dlaczego to?
Edytować
[root@dhcppc9 lin64]# export $(dbus-launch)
No protocol specified
jakieś sugestie?
Również
[root@dhcppc9 lin64]# xhost [+]
No protocol specified
xhost: unable to open display ":0.0"
export $(dbus-launch)
lub użyć,xhost [+]
aby móc uruchamiać programy przy użyciu X i konta administratora.$ xhost
wyświetlenie bieżącego dostępu i$ xhost +
umożliwienie dostępu z dowolnego hosta. Często robisz to z wirtualnego terminala, który na pewno wiesz, który możeecho $DISPLAY
pokazuje superużytkownik ? Do którego użytkownika należy proces xserver, którego chcesz użyć? (możesz dowiedzieć się tego drugiego, używając na przykładps faux
)Odpowiedzi:
Program X potrzebuje dwóch informacji, aby połączyć się z wyświetlaczem X.
Potrzebuje adresu wyświetlacza, który zazwyczaj
:0
jest zalogowany lokalnie lub:10
,:11
itp., Gdy logujesz się zdalnie (ale liczba może ulec zmianie w zależności od liczby aktywnych połączeń X). Adres wyświetlacza jest zwykle wskazywany wDISPLAY
zmiennej środowiskowej.Potrzebuje hasła do wyświetlacza. Hasła wyświetlania X nazywane są magicznymi ciasteczkami . Magiczne pliki cookie nie są określane bezpośrednio: zawsze są przechowywane w plikach autoryzacji X, które są zbiorem zapisów w formie „display
:42
ma ciasteczko123456
”. Plik uprawnień X jest zwykle wskazywany wXAUTHORITY
zmiennej środowiskowej. Jeśli$XAUTHORITY
nie jest ustawiony, programy używają~/.Xauthority
.Zobacz Otwieranie okna na zdalnym wyświetlaczu X (dlaczego „Nie można otworzyć wyświetlacza”)? po więcej szczegółów.
W twoim przypadku
DISPLAY
jest ustawiony, ale programy najwyraźniej nie mogą znaleźć pliku cookie. Sprawdź wartośćXAUTHORITY
w sesji i poniżejsu
.Jeśli
XAUTHORITY
nie jest ustawiona w sesji isu
ustawiaHOME
zmienną środowiskową do katalogu domowego roota, to trzeba ustawićXAUTHORITY
się/home/msz/.Xauthority
gdzie/home/msz
jest twój katalog domowy.Jeśli zostanie
su
usuniętyXAUTHORITY
ze środowiska, odłóż go z powrotem lub skonfiguruj,su
aby tego nie robić.Jeśli twój katalog domowy znajduje się w niektórych systemach plików, takich jak NFS, root może nie być w stanie odczytać go bezpośrednio. W takim przypadku możesz skopiować
.Xauthority
plik do innej lokalizacji w systemie plików innym niż NFS:źródło
ln -s /home/otheruser/.Xauthority ~
Używasz xhosta jako root!
uruchom xhost jako normalny użytkownik
xhost +
, następnie zrób root, a następnie spróbuj ponownie.btw, jak zauważyli inni,
xhost +
zezwala każdemu użytkownikowi z dowolnego hostaźródło
xhost
nie działały. Jeśli tak, to przynajmniej uruchomxhost +localhost
, niexhost +
!XAUTHORITY dla mnie został ustawiony jako plik, który już nie istniał:
$ echo $XAUTHORITY
/tmp/xauth-1000-_0
Więc zrobiłem
unset XAUTHORITY
i był w stanie połączyć się z moją aplikacją jako root za pomocą kdesudo (w tym przypadku
kdesudo bleachbit
)źródło
Uruchom jako zwykły użytkownik
następnie włącz superużytkownika przez
w końcu przejdź do przykładu serwera
w końcu uruchom ./Ampps
dziękuję mi w 2020 roku
źródło
To działało dla mnie w Fedorze 30
źródło