Jika Anda sudah menjalankan server X pada Windows (seperti halnya Anda menggunakan Xming), maka sisi Windows sebagian besar sudah selesai (tetapi lihat di bawah untuk beberapa detail penting). Bit kunci yang tersisa adalah memberi tahu aplikasi X11 pada pi untuk mengirim data X11 mereka ke PC Windows Anda.
Ini dilakukan melalui DISPLAY
variabel lingkungan. Biasanya, jika server X dan aplikasi berjalan di komputer yang sama, DISPLAY hanya akan menentukan nomor server (misalnya :0
jika Anda hanya menjalankan satu server X) atau mungkin server dan layar (mis :0.0
.). Karena tidak ada alamat IP, ini memberi tahu pustaka X aplikasi bahwa server tersebut adalah lokal dan koneksi akan dibuat sesuai (mungkin melalui beberapa jenis transportasi memori bersama).
Untuk memberi tahu aplikasi agar mengirim data X11 ke node jarak jauh, sertakan alamat IP dalam DISPLAY
variabel. Sebagai contoh export DISPLAY=192.168.1.10:0
,. Ini akan memberi tahu semua aplikasi X11 bahwa mereka perlu membuka koneksi TCP ke X server # 0 pada node 192.168.1.10. Nama host DNS baik-baik saja di sini, jika Anda mendapatkannya di jaringan Anda.
Dua potensi masalah
Seperti yang saya tulis di paragraf pertama, menjalankan Xming mungkin tidak cukup. Mungkin diperlukan konfigurasi tambahan.
Yang pertama adalah bahwa server X11 Anda harus dikonfigurasi untuk menerima koneksi dari node jarak jauh melalui TCP. Banyak server X yang didistribusikan hari ini (saya tidak tahu tentang Xming) hanya menerima koneksi dari aplikasi yang berjalan secara lokal kecuali jika Anda mengkonfigurasinya secara eksplisit. Ini adalah fitur keamanan, karena setiap soket terbuka adalah vektor potensial untuk serangan.
Yang kedua adalah bahwa server X11 Anda memelihara database host / pengguna yang diizinkan untuk terhubung. Anda perlu memasukkan alamat IP Raspberry Pi Anda ke daftar putih. Anda dapat melakukan ini dengan menjalankan xhost
perintah dari Xming di Windows, misalnya, dari konsol yang berjalan di xterm. Anda juga dapat mengetik xhost +
untuk menonaktifkan pemeriksaan keamanan ini, tetapi itu berbahaya karena akan memungkinkan aplikasi apa pun dari mana saja di dunia untuk membuka koneksi ke layar Anda. Jika Anda berada di belakang firewall pada LAN di mana Anda mempercayai semua orang (misalnya rumah Anda sendiri), itu pendekatan yang paling mudah, tetapi luangkan waktu untuk mengonfigurasi dengan benar xhost
jika Anda tidak.
Alternatif: ssh -Y
Menggunakan pendekatan di atas, aplikasi X11 Anda akan mencoba membuka koneksi TCP ke server X Anda. Koneksi ini tidak aman. Seseorang pada paket pengintaian LAN Anda dapat mencegatnya.
Untuk mengatasi masalah ini, alih-alih mengatur variabel DISPLAY pada Raspberry pi, gunakan -Y
parameter saat menghubungkannya (mis slogin -Y hostname
.). Parameter -Y (seperti -X) akan membuat terowongan antara node untuk membawa lalu lintas X11. Ini akan menjaga lalu lintas X11 terenkripsi dan aman. Itu juga akan menetapkan variabel lingkungan DISPLAY sendiri sehingga aplikasi akan menggunakan terowongan. Ini juga dapat menghilangkan kebutuhan untuk mengacaukan xhost
karena (sejauh menyangkut server X Anda) koneksi berasal secara lokal (dari sisi yang berasal dari terowongan SSH).