X11 Forwarding ile Uzak Bilgisayara Arayüz Oluşturmak

Bu yazımızda Xlib ile uzak bilgisayara arayüz oluşturmaya değineceğiz.

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_configadresinde 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.