X sunucusuna bağlanılamıyor: süper kullanıcı olarak 0.0


10

Çevrimiçi olduğumda, aşağıdaki hatayı alıyorum ve araç başlamıyor:

[root@dhcppc9 lin64]# ./ise
No protocol specified
_pn: cannot connect to X server :0.0

Ama süper kullanıcı olmadığımda her şey yolunda. Neden bu?

Düzenle

[root@dhcppc9 lin64]# export $(dbus-launch)
No protocol specified

herhangi bir öneri?

Ayrıca

[root@dhcppc9 lin64]# xhost [+]
No protocol specified
xhost:  unable to open display ":0.0"

Bu bir klasik. Sen yapabilir export $(dbus-launch)veya kullanım xhost [+]X'i ve süper hesabınızı kullanarak fırlatma programlarına edebilmek için.
41754

Her ikisini de yaptı, yukarıdaki düzenlemeye bakın
msz

Olabilir $ xhostakım erişimini görmek ve $ xhost +herhangi bir bilgisayardan erişimi etkinleştirmek için. Bunu sık sık X kullanarak programları doğurabileceğinden emin olduğunuz bir sanal terminalden yaparsınız.
41754

@galegosimpatico: Neden bir dbus sunucusu başlatmak bu sorunu çözdü?
Bananguin

Süper kullanıcı olmadığınızda ne echo $DISPLAYgösterir? Kullanmak istediğiniz xserver işlemi hangi kullanıcıya aittir? (ikincisini örneğin kullanarak ps faux
öğrenebilirsiniz

Yanıtlar:


12

Bir X programının bir X ekranına bağlanmak için iki bilgiye ihtiyacı vardır.

  • Bu genellikle ekran, adresini ihtiyacı :0yerel giriş yaptığınızda ya :10, :11vb uzaktan Giriş yaptıktan (ama sayı birçok X bağlantısı etkin nasıl bağlı olarak değişebilir) ne zaman. Ekranın adresi normal olarak DISPLAYortam değişkeninde belirtilir .

  • Ekran için parola gerekiyor. X ekran parolalarına sihirli çerezler denir . Sihirli çerezler doğrudan belirtilmez: her zaman X ekran dosyalarında saklanırlar, bu dosyalar “display :42cookie 123456” biçimindeki kayıtların bir derlemesidir . X yetki dosyası normal olarak XAUTHORITYortam değişkeninde belirtilir . Eğer $XAUTHORITYayarlı değil, programlar kullanın ~/.Xauthority.

Bkz. Uzak X ekranda pencere açma (neden "Ekran açılamıyor")? daha fazla ayrıntı için.

Sizin durumunuzda DISPLAYayarlanmış ancak programlar açıkça çerez dosyasını bulamıyor. XAUTHORITYOturumunuzdaki ve altındaki değerlerini kontrol edin su.

Eğer XAUTHORITYOturumunuzda kurmak ve değil susetleri HOMEroot ana dizine ortam değişkeni, o zaman sete ihtiyaç XAUTHORITYiçin /home/msz/.Xauthoritynerede /home/mszev dizinidir.

Ortamdan sukaldırılırsa XAUTHORITY, ya geri koyun ya da bunu suyapmayacak şekilde yapılandırın .

Ana dizininiz NFS gibi bazı dosya sistemlerinde ise, kök dizini doğrudan okuyamayabilir. Bu durumda, .Xauthoritydosyayı NFS olmayan bir dosya sisteminde farklı bir konuma kopyalayabilirsiniz :

XAUTHORITY_COPY=$(umask 077; mktemp)
cat "${XAUTHORITY:-~/.Xauthority}" "$XAUTHORITY_COPY"
XAUTHORITY="$XAUTHORITY_COPY" su
rm "$XAUTHORITY_COPY"
unset XAUTHORITY_COPY

1
Sembolik bir bağ oluşturdum ve işe yaradı. İşte:ln -s /home/otheruser/.Xauthority ~
Can Geliş

Benim için XAUTHORITY artık mevcut olmayan bir dosya olarak ayarlandı:
pbhj

5

Kök olarak xhost çalıştırıyorsunuz!

xhost'u normal kullanıcı olarak çalıştırın xhost +, sonra root olun ve tekrar deneyin.

Diğerlerinin işaret ettiği gibi btw xhost +herhangi bir ana bilgisayardan herhangi bir kullanıcıya izin verir


Birçok modern sistem xhostişe yaramayacak şekilde kurulmuştur. Eğer öyleyse, en azından koşun xhost +localhost, değil xhost +!
Gilles 'SO- kötü olmayı bırak'

Anlayın, bu iyi bir nokta. Tavsiyeniz için teşekkürler.
X Tian

Benim sorunumdu! Teşekkür ederim, her şeyi çözdü! Basitçe kökten kaçtım.
Quidam

0

Benim için XAUTHORITY artık var olmayan bir dosya olarak ayarlandı:

$ echo $XAUTHORITY

/tmp/xauth-1000-_0

Ben de yaptım

unset XAUTHORITY

ve sonra kdesudo kullanarak uygulamama root olarak bağlanabildi (bu durumda kdesudo bleachbit)


0

Normal kullanıcı olarak çalıştır

xhost + localhost

ardından süper kullanıcıyı şu şekilde etkinleştirin:

sudo su 

sonunda sunucu örneğine git

cd /usr/local/Ampps

sonunda koş. /Ampps

2020'de teşekkür ederim


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.