@Jensd, @unxnut'a yardım ettiğin için teşekkürler. Yorumlarınıza göre sorunu çözebildim.
Çözüm iki adım gerektiriyordu:
- DISPLAY değişkeni doğru ayarlanmış olmalıdır.
- Uzak sunucuya ssh'ing yaparken, -X anahtarı açık olmalıdır
önceki girişimlerimde bu iki koşuldan biri ya da her ikisi de eksik.
Her neyse, bunu gören daha sonraki kullanıcılar için, size ne söylemeye çalıştığımı göstermeye örnekler.
dava 1
yerel makinemde DISPLAY değişken ayarlanmamış. Daha sonra -X anahtarını kullanarak uzak sunucuya ssh yazıp çalıştırmayı deneyeceğim xclock.
Black@Black-PC ~
$ echo $DISPLAY
## the blank means that DISPLAY variable has not been specified##
Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
Last login: Tue Jun 24 22:23:13 2014 from
[kwagjj@James5 ~]$ xclock
Error: Can't open display:
[kwagjj@James5 ~]$ setenv | grep $DISPLAY
DISPLAY: Undefined variable.
Gördüğünüz gibi Error: Can't open display:uzak sunucu terminalinde bir hata gösteriliyor.
Durum 2
bu sefer yerel makinede DISPLAY değişkenini belirleyeceğim. Ama ssh'ing yaparken, -X anahtarını açmayacağım. Sonuç bir başarısızlık olacaktır:
Black@Black-PC ~
$ export DISPLAY=:0.0
Black@Black-PC ~
$ echo $DISPLAY
:0.0
Black@Black-PC ~
$ ssh kwagjj@$labserver -p 122
Last login: Tue Jun 24 22:33:32 2014 from
[kwagjj@James5 ~]$ xclock
Error: Can't open display:
[kwagjj@James5 ~]$ setenv | grep DISPLAY
[kwagjj@James5 ~]$
başlangıçta DISPLAY değişkenini doğru şekilde ayarladığımı görebilirsiniz. Fakat öyle olsa bile, ssh'ing işleminden sonra (-X anahtarı olmadan) xclock çalıştırılmaz.
* Burada farklı bir sonuç setenv | grep DISPLAYgörülebilir (case1 ile karşılaştırınız). 2. durumda, sonuç sadece boştur. Öte yandan, case1'in bu komut satırının sonucu DISPLAY: undefined variable... Bu farkın nasıl ortaya çıktığından emin değilim, ancak koşul 1 veya 2'yi yerine getirip getirmediğinize ilişkin bir ipucu alıyorum. .
case3
bu sefer yerel makinedeki DISPLAY değişkenini düzgün bir şekilde belirleyeceğim ve ayrıca -X anahtarım açıkken uzak sunucuya ssh yazacağım.
Black@Black-PC ~
$ echo $DISPLAY
:0.0
Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Last login: Tue Jun 24 22:37:27 2014 from
[kwagjj@James5 ~]$ xclock &
[1] 9174
[kwagjj@James5 ~]$ setenv | grep DISPLAY
DISPLAY=localhost:11.0
[kwagjj@James5 ~]$
Bu ayar ile xclockçalışır! İşte yalan söylemediğimi kanıtlayan bir ekran görüntüsü.
xclock yerel makinemde başarılı bir şekilde gösteriliyor.
Yine, setenv | grep DISPLAYbu durumda sonucunu kontrol edin . Şimdi gösterir DISPLAY=localhost:11.0. Bildiğim kadarıyla, bu .Xauthority dosyasındaki MIT-MAGIC-COOKIE ile ilgili ama bunun hakkında fazla bir şey bilmediğim için daha fazla ileri gitmeyeceğim.
Sonuç: Yukarıdaki üç durumdan, uzak X Windows'un düzgün görüntülenmesi için hem yerel makinenin 1. EKRAN değişkeni hem de 2. ssh -Xanahtarının uygun şekilde ayarlanması gerektiğini onaylayabiliriz . Tabii ki, uzak sunucu X11 yönlendirmesine izin vermelidir.