X11 Forwarding ile Uzak Bilgisayara Arayüz Oluşturmak
X11 Forwarding ile Uzak Bilgisayara Arayüz Oluşturmak
Bu yazımızda Xlib ile uzak bilgisayara arayüz oluşturmaya değineceğiz.
Forwarding’i anlayabilmek için gelin ilk önce üstünkörü X11'in nasıl çalıştığına bakalım.
Xlib Nedir?
C programlama dili ile geliştirilmiş ve Linux dünyasının duayen grafik kütüphanesi haline gelmiş olan Xlib, sunucu ve client mantığı ile çalışır.
Client(kullanıcı, masaüstü uygulaması) çizim fonksiyonlarını kullanarak X protokolü ile sunucuya istek gönderir. Sunucu gelen isteği yorumlar ve yapılması gereken çizimi hesaplar ve çizdirir.
Sunucu kendi bilgisayarınızda olabileceği gibi başka bir bilgisayarda da olabilir. Xlib ile uygulama yazarken kodunuzda bunu belirtebilirsiniz veya sisteminize doğrudan varsayılan bir adrese bağlanmasını söyleyebilirsiniz.
Uzak Sunucuya Bağlanmak
Uzak sunucuya bağlanma ve X11 ile konuşma işini bizim için ssh programları yapar.
Linux bir bilgisayardan Linux bir sunucuya bağlanmak için doğrudan ssh komutunu kullanabiliriz, Windows’tan bağlanmak içinse PuTTY gibi bir ssh client işimizi görecektir.
Sunucuyu hazırlamak:
X11 yönlendirmesini kullanabilmek için sunucunuza forwarding ayarı yapılmalıdır.
Sunucunuzda /etc/ssh/sshd_config
adresinde bulunan ssh config dosyasına
X11Forwarding yes
eklemeniz veya #
ile başlıyorsa bunu silip yorum satırından çıkarmanız
gerekmektedir. Ardından ssh server’ınızı “systemctl” veya “systemd” gibi programlarla yeniden
başlattığınızda kullanıma hazırız.
Güvenlik için lütfen cookie ve XAUTHORITY ayarlarına bakın
Sunucuya bağlanmak
Linux üzerinde ssh komutunuza -X
eklediğinizde X11 yönlendirmesini devreye alacaktır.
Örnek olarak:
ssh -X kullanici@adres.com
Windows bilgisayarda ise PuTTY veya kullandığınız ssh client’ının ayarlar bölümünden “X11 Forwarding” alanını aktifleştirmeniz gerekmektedir.
Sunucuya ssh bağlantısı kurduktan sonra çalıştıracağınız ve normalde arayüz ayağa kaldıran komutların çıktısı otomatik olarak bilgisayarınıza yansıyacaktır.
Örnek vermemiz gerekirse code .
komutunu çalıştırdığınızda VS Code bulunduğunuz
klasörü açacaktır. VS Code, dolphin, gedit, gimp ve birçok uygulamayı bu yöntemle uzaktan açabilirsiniz.
Tüm iletişim internet üzerinden yapıldığı için donanımınıza ve internet hızınıza göre gerçeğe yakın veya ortalama 1 saniye kadar gecikleyle işlemlerinizi gerçekleştirebilirsiniz.