Saya ingin menjalankan aplikasi GUI pada mesin jarak jauh yang saya hanya memiliki akses ssh. Saya tidak perlu, atau ingin, melihat jendela GUI. (Saya tahu saya bisa menggunakan sesuatu seperti ssh -C -X remote_server
jika saya ingin GUI berada di klien saya.)
Saya tahu X berjalan pada mesin jarak jauh, seperti ps
menunjukkan ini:
root ... /usr/bin/Xorg :0 -br -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7
aku menyiapkan DISPLAY=:0.0
tapi saya kemudian mendapatkan "Xlib: koneksi ke": 0.0 "ditolak oleh server" ketika saya mencoba menggunakannya.
Di Dapatkan remote x display bekerja di linux tanpa tunneling ssh dan Xserver tidak berfungsi kecuali DISPLAY = 0,0 Saya melihat saran untuk menggunakan gdmsetup untuk memungkinkan X mendengarkan TCP. Tapi, gdmsetup adalah aplikasi GUI! Dan mencoba menjalankannya di ssh -X tidak berhasil ("Koneksi X11 ditolak karena otentikasi yang salah").
Jadi, apakah ada file teks yang bisa saya edit untuk dihapus -nolisten
? Dan, setelah mengeditnya, bagaimana cara me-restart X dengan aman, dari jarak jauh? (Ada hal-hal lain yang berjalan pada mesin ini, jadi meminta reboot mungkin, tetapi tidak diinginkan.) Jika tidak, harus gdmsetup dapat melindas ssh dan saya harus bertahan ke arah itu?
MEMPERBARUI: Saya harus melakukan ssh -X
sesi sebagai root (ssh sebagai pengguna normal, lalu sudo atau su, tidak berfungsi.) Jadi, saya melakukan edit dengan gdmsetup. Saya kemudian memulai kembali X dengan gdm-restart
. Saya juga sudah selesai xhost +
dari sesi ssh -X. Baris ps tidak lagi menunjukkan -nolisten tcp
bagian. Tapi tetap tidak berhasil menghubungkannya, juga DISPLAY=:0
atau DISPLAY=localhost:0
PEMBARUAN # 2: Saya hanya memperhatikan alasannya xauth +
tidak membantu (ketika selesai ssh -X
) apakah itu mengubah mesin klien saya, bukan server jauh! Ups. Kerja bagus saya ada di dalam firewall! (Saya pikir alasan dilakukannya ini terkait dengan variabel lingkungan XAUTHORITY, lihat balasan Cougar.)
xhost +
tetapi mendapat xhost: tidak dapat membuka tampilan "". Saya kemudian mencoba export DISPLAY=:0.0
dan mencoba lagi dan malah mendapatkannya Xlib: connection to ":0.0" refused by server
, Xlib: No protocol specified
dan xhost: unable to open display ":0.0"
xhost +
dari
xhost +
untuk berlari sekarang. Tapi itu masih belum membantu (lihat UPDATE saya di atas).
xhost +
untuk mengizinkan pengguna mengakses layar X, apakah itu cukup? Jika demikian makaxhost +
sebagai pengguna yang memulai X danexport DISPLAY=:0
pada mesin jarak jauh harus cukup untuk mengarahkan output ke remote X dan menghemat Anda harus melihatnya