Saya telah masuk ke server jarak jauh dan saya mencoba menampilkan aplikasi x (mis. Firefox). tetapi pesan kesalahan muncul. di bawah ini adalah upaya saya untuk membuka firefox
Black@Black-PC ~
$ ssh -X kwagjj@$labserver -p 122
[kwagjj@James5 ~]$ firefox
Error: no display specified
[kwagjj@James5 ~]$ exit
logout
Connection to 143.248.146.204 closed.
Black@Black-PC ~
$ ssh -Y kwagjj@$labserver -p 122
[kwagjj@James5 ~]$ firefox
Error: no display specified
[kwagjj@James5 ~]$
Saya menggunakan -X, -Y karena saya membaca di suatu tempat bahwa dua opsi ini terkait dengan kredensial mengenai X11 dan switch ini akan melakukan pekerjaan untuk saya. Bahkan tanpa tombol -X, -Y, usaha saya gagal.
Apa yang dimaksud dengan kesalahan 'tidak ada tampilan yang diisyaratkan'?
PS Yang aneh adalah bahwa jika saya terhubung ke server jauh melalui PUTTY saya dan ulangi perintah 'firefox' itu berfungsi?!?! (Firefox ditampilkan di komputer lokal)
PS komputer lokal saya adalah Windows 7 sehingga saya menjalankan Xming di latar belakang untuk memungkinkan tampilan X11. Adapun upaya yang ditulis di bagian atas, perintah itu diketik di terminal Cygwin.
DISPLAY
variabel saya tidak disetel. jadi saya mengaturnya denganexport DISPLAY=:0.0' and executed
xclock` dan xclock muncul. Tetapi ketika saya kemudian login ke server jauh melalui ssh, dan mencobaxclock
lagi, katanyaError: Can't open display:
Jawaban:
Pastikan Anda memiliki set variabel DISPLAY di lingkungan cygwin Anda:
setelah terhubung dengan SSH, periksa apakah shell itu juga mengetahui variabel DISPLAY yang benar dengan:
sumber
echo $DISPLAY
. Tapi masih variabel DISPLAY di server jauh diatur ke apa-apa ..Error: Can't open display: :0.0
export DISPLAY=localhost:0
Saya baru saja mengalami masalah ini menghubungkan ke server RHEL7 tanpa kepala.
Anda perlu paket xorg-x11-xauth diinstal pada host Anda agar variabel DISPLAY dapat diatur, dan harus diotorisasi dengan benar.
Semoga saya menyelamatkan seseorang waktu.
sumber
ssh -X
satuecho $DISPLAY
kembali URL + pelabuhan dan panggilan darixterm &
membuka terminal di jendela lokal.Terima kasih kepada @jensd, @unxnut karena telah membantu saya. berdasarkan komentar Anda, saya bisa mengetahui masalahnya.
Solusinya membutuhkan dua langkah:
usaha saya sebelumnya kekurangan satu atau kedua kondisi ini.
Bagaimanapun, untuk pengguna kemudian yang melihat ini, ini adalah contoh untuk menunjukkan kepada Anda apa yang ingin saya katakan.
kasus 1
mesin lokal saya tidak akan memiliki set variabel DISPLAY. Dan kemudian saya akan ssh ke server jauh dengan -X switch dan kemudian coba jalankan
xclock
.karena Anda dapat melihat kesalahan
Error: Can't open display:
ditampilkan di terminal server jarak jauh.case2
kali ini, di mesin lokal, saya akan menentukan variabel DISPLAY. Tetapi ketika saya ssh'ing, saya tidak akan menyalakan saklar -X. Hasilnya akan gagal:
di awal Anda dapat melihat bahwa saya telah mengatur variabel DISPLAY dengan benar. Namun demikian, setelah ssh'ing (tanpa saklar -X) xclock tidak dijalankan.
* Hasil yang berbeda dengan
setenv | grep DISPLAY
dapat dilihat di sini (bandingkan dengan case1). dalam case2, hasilnya kosong. di sisi lain, hasil case1 ke baris perintah ini adalahDISPLAY: undefined variable
.... Saya tidak yakin bagaimana perbedaan ini disebabkan tetapi saya mendapatkan firasat yang terkait dengan apakah Anda telah memenuhi salah satu syarat 1. atau 2 .case3
kali ini, saya akan secara tepat menentukan variabel DISPLAY di mesin lokal dan juga ssh ke server jauh dengan -X saya aktif.
dengan pengaturan ini,
xclock
berfungsi !! inilah tangkapan layar untuk membuktikan bahwa saya tidak berbohong. xclock berhasil ditampilkan di mesin lokal saya.Sekali lagi, periksa hasil
setenv | grep DISPLAY
dalam hal ini. Sekarang menunjukkanDISPLAY=localhost:11.0
. Dari apa yang saya ketahui, ini terkait dengan MIT-MAGIC-COOKIE dalam file .Xauthority tetapi karena saya tidak tahu banyak tentang ini, saya tidak akan melangkah lebih jauh.Kesimpulan: dari tiga kasus di atas, kami dapat mengonfirmasi bahwa agar remote X Windows ditampilkan dengan benar, keduanya 1. variabel DISPLAY mesin lokal dan 2. ssh
-X
switch harus diatur dengan benar. Tentu saja, server jarak jauh harus memungkinkan X11 meneruskan.sumber