Setelah meluncurkan aplikasi X11 (XQuartz 2.3.6, xorg-server 1.4.2-apple56) di Mac saya (OS X 10.6.8), membuka terminal di X11 dan berjalan xhost +
, saya kemudian ssh -Y
ke Ubuntu 10,04 VM (berjalan di VMware Fusi). Ketika saya menjalankan gedit .bashrc
(misalnya), saya mendapatkan:
(gedit:9510): Gtk-WARNING **: cannot open display:
set | grep DISPLAY
tidak mengembalikan apa pun.
Tetapi jika saya ssh -Y
ke mesin Ubuntu 11.04 saya, gedit .bashrc
berfungsi. echo $DISPLAY
mengembalikan "localhost: 10.0".
Saya mencoba export DISPLAY=localhost:10.0
sambil sshed ke VM saya dan kemudian berjalan gedit .bashrc
, tetapi saya mendapatkan:
(gedit:9625): Gtk-WARNING **: cannot open display: localhost:10.0
Apa yang bisa berbeda dalam konfigurasi dua perbedaan mesin Ubuntu yang akan menjelaskan mengapa satu bekerja dan yang lainnya tidak?
Pembaruan: Seperti yang disarankan oleh Zoredache dalam komentar di bawah, saya berlari sudo apt-get install xbase-clients
, tetapi saya terus memiliki masalah yang sama.
X11Forwarding
di ubuntu, dan bahwa Anda telahxbase-clients
menginstal dan bahwa Anda dapat memulai Xapps pada mac di terminal tempat Anda membuat koneksi ssh. (Periksa yang$DISPLAY
diatur pada terminal Anda menjalankan ssh dari .Jawaban:
Periksa sshd_config server (biasanya
/etc/ssh/sshd_config
), dan pastikan opsi X11Forwarding diaktifkan dengan garisJika X11Forwarding tidak ditentukan, defaultnya adalah tidak pada mesin Debian yang saya miliki untuk memeriksa.
sumber
Dari xhost +: Cara Memperbaiki Kesalahan "Tidak Dapat Membuka Layar" Saat Meluncurkan GUI di Remote Server :
sumber
xhost +
sangat tidak aman dan tidak boleh digunakan! Seperti yang disebutkan Stefan Rogin, penyerang kemudian dapat dari host terhubung ke XSession Anda, membaca semua yang Anda ketik, atau bahkan mengubah layar yang Anda lihat.export Display=IP:0.0
melakukannya untuk sayaSaya mengalami masalah ini saat masuk ke VM Ubuntu dari Mac OS X juga - sepertinya tidak seperti 'localhost' di variabel tampilan karena beberapa alasan. Jadi atur IP secara manual, seperti yang disarankan harrymc:
Maka program X11 harus baik-baik saja. Sepertinya tidak perlu untuk memberi tahu OS bahwa localhost dan 127.0.0.1 adalah setara, tetapi setidaknya berfungsi.
sumber
Saya punya masalah dengan server CentOS KVM saya, saya kehilangan program "xauth".
sumber
Jika Anda memiliki masalah ini setelah beberapa saat ketika berjalan dengan
-X
arg. atau hanyaForwardX11
di / etc / ssh / ssh_config, kemudian jalankan$ ssh username@hostname -Y
, untuk mengaktifkan penerusan X11 yang tepercaya , tidak tahu penyebab pastinya, tetapi saya menduga-X
beberapa fitur akan kedaluwarsa setelah beberapa waktu, mungkin untuk meningkatkan keamanan.Inilah yang saya temukan online:
sumber:
sumber
Baru Diuji Di Mac Saya, Sistem Lain Mungkin OK :
-X
parametersumber
Saat menjalankan UXTERM atau XTERM hanya masalah
Variabel akan ada di sana. Kemudian atur dan ekspor.
sumber
Saya harus memasukkan
/etc/ssh/sshd_config
yang berikut ini:Alih-alih mengaturnya "ya". Aneh jika standarnya adalah "TIDAK" Pengguna menggunakan dempul dengan XMing di bawah Windows. Saya menggunakan ssh langsung di atas Fedora. Kadang-kadang itu mulai memberi kita
Reboot server biasanya akan memperbaikinya tetapi ini bodoh. Lakukan di atas, restart layanan
sshd
pada server dan koneksi baru presto bekerja dengan baik lagi.sumber
Saya juga punya masalah dengan Solaris 10 dan menemukan bahwa pendengar tidak diatur.
sumber
Pada CentOS 6.5, saya tiba-tiba kehilangan akses X-program jarak jauh setelah bermain-main dengan / etc / hosts. Gejala yang sama dari variabel $ DISPLAY kosong (tidak ada pengaturan bantuan / ekspor secara manual).
Entri 127.0.0.1 yang menunjuk ke nama host aktual diperlukan; sebenarnya urutannya juga relevan (taruh terakhir & tidak akan berhasil ...)
Setelah memperbaikinya, xeyes, xclock, dan mainan tes X lainnya berfungsi lagi, oleh karena itu manajer virt saya yang dibutuhkan juga kembali online.
sumber
Saya baru saja menemukan cegukan yang bagus dalam pengaturan saya yang mencegah penerusan x: Firewall saya memblokir semua koneksi dari localhost, sehingga mencegah terowongan untuk dijangkau
sumber
Jika Anda kebetulan menggunakan Konsole cukup beralih ke emulator terminal lain seperti Terminal Xfce dan coba lagi menggunakan root.
sumber
buka terminal $ ssh username @ hostname -X
export DISPLAY = "127.0.0.1:10.0" semua harus bekerja.
sumber
DISPLAY='localhost:10.0'
tidak berfungsi.Pengaturan ini berfungsi untuk saya:
Lokal (Cygwin 64 bit di Windows 10)
DISPLAY=:0
Server (Amazon EC2 RHEL 7.6)
DISPLAY=:10.0
Pengaturan ini ditemukan dengan mengklik "menu aplikasi X pada: 0" di taskbar dan memilih System Tools> Terminal
sumber
Setelah banyak frustrasi saya menemukan bahwa entri untuk nama host server di file / etc / host-nya salah.
sumber