Zaten Windows'ta bir X sunucusu çalıştırıyorsanız (Xming'de olduğu gibi), Windows tarafı çoğunlukla yapılır (ancak birkaç önemli ayrıntı için aşağıya bakın). Kalan anahtar bit, pi'deki X11 uygulamalarına X11 verilerini Windows PC'nize göndermelerini söylemektir.
Bu, DISPLAY
ortam değişkeni ile yapılır . Normalde, X sunucusu ve uygulaması aynı bilgisayarda çalışıyorsa, DISPLAY sadece sunucu numarasını belirtir (örneğin :0
yalnızca bir X sunucusu çalıştırıyorsanız) veya belki bir sunucu ve ekran (ör. :0.0
). IP adresi olmadığından, uygulamaların X kitaplığına sunucunun yerel olduğunu ve bağlantıların buna göre yapılacağını söyler (muhtemelen bir tür paylaşılan bellek aktarımı olsa da).
Uygulamaya X11 verilerini uzak bir düğüme göndermesini söylemek için DISPLAY
değişkene bir IP adresi ekleyin . Örneğin export DISPLAY=192.168.1.10:0
,. Bu, tüm X11 uygulamalarına 192.168.1.10 düğümündeki X sunucusu # 0'a bir TCP bağlantısı açmak için ihtiyaç duyduklarını söyleyecektir. DNS ana bilgisayar adları, ağınızda varsa, burada iyidir.
İki potansiyel problem
İlk paragrafta yazdığım gibi, sadece Xming'i çalıştırmak yeterli olmayabilir. Ek yapılandırma gerekebilir.
Birincisi, X11 sunucunuzun TCP üzerinden uzak düğümlerden bağlantıları kabul edecek şekilde yapılandırılması gerektiğidir. Bugün dağıtılan birçok X sunucusu (Xming hakkında bir bilgim yok), açıkça aksi belirtilmedikçe yalnızca yerel olarak çalışan uygulamalardan gelen bağlantıları kabul eder. Bu bir güvenlik özelliğidir, çünkü her açık soket saldırı için potansiyel bir vektördür.
İkincisi, X11 sunucunuzun bağlanmasına izin verilen ana bilgisayar / kullanıcı veritabanını tutmasıdır. Raspberry Pi'nin IP adresini beyaz listeye almanız gerekir. Bunu, xhost
Windows'ta Xming'in komutunu, örneğin bir xterm'de çalışan bir konsoldan çalıştırarak yapabilirsiniz. xhost +
Bu güvenlik kontrolünü devre dışı bırakmak için de yazabilirsiniz , ancak bu tehlikelidir, çünkü dünyanın herhangi bir yerinden herhangi bir uygulamanın ekranınıza bağlantı açmasına izin verecektir. Herkese güvendiğiniz bir LAN'da (örneğin kendi eviniz) bir güvenlik duvarının arkasındaysanız, bu en kolay yaklaşımdır, ancak xhost
değilseniz uygun şekilde yapılandırmak için zaman ayırın .
Alternatif: ssh -Y
Yukarıdaki yaklaşımı kullanarak, X11 uygulamalarınızın tümü X sunucunuza TCP bağlantılarını açmaya çalışır. Bu bağlantılar güvenli değildir. LAN gözetleme paketlerinizdeki biri bunları kesebilir.
Bu sorunu çözmek için, Raspberry pi üzerinde DISPLAY değişkenini ayarlamak yerine, bu -Y
parametreye bağlanırken parametreyi kullanın (örn. slogin -Y hostname
). -Y parametresi (-X gibi), X11 trafiğini taşımak için düğümler arasında bir tünel oluşturur. Bu, X11 trafiğini şifreli ve güvenli tutacaktır. Ayrıca uygulamaların tüneli kullanması için kendi EKRAN ortam değişkenini atayacaktır. xhost
Bağlantılar yerel olarak (SSH tünelinin başlangıç tarafından) kaynaklandığı için (X sunucunuz söz konusu olduğunda) ile uğraşma ihtiyacını da ortadan kaldırabilir .