İlginizi Çekebilir
  1. Ana Sayfa
  2. Open Source
  3. Linux 101: X Window System

Linux 101: X Window System

021219_2017_Linux101XWi3.png

/ sunucularda grafik ara yüz için kullanılan system processidir. Ayrıca X veya olarak da adlandırılır. client/server modelinde çalışır. X server, network üzerinden X Clienttan gelen inputları alır ve kernele gönderir. Bu inputlar mousedan, klavyeden veya X clienta bağlı olarak herhangi bir input device’dan olabilir. Kernel gelen komutların çıktılarını yine X server üzerinden ekranımıza gönderir. , manager ve window manager olmak üzere iki tane key componenti vardır.

X11’i sunucumuza yüklemek için aşağıdai paketi grubu yüklenmelidir. Client taraf için ise xauth paketi yüklenmelidir.

yum groupinstall “X Window System”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Resim – 1

Display Manager

Display manager user authentication’u sağlar kullanıcıyı login ettikten sonra da startup script’ı ile kullanıcı için desktop environmentını oluşturur. Startup script etc/pam.d/{xdm/gdm/kdm} altında bulunur. User authentication PAM konfigürasyonuna göre yapılır. Bir X uygulama DISPLAY parametresine göre ekran çıktısını verir. DISPLAY environment parametresi aşağıdaki gibi oluşturulabilir.

DISPLAY=hostname/IP:display_number.screen_number

Screen number birden fazla monitor kullanıldığı zaman gereklidir. X server TCP connection’ı 6000 portundan kurar.

Ayrıca Display Manager authentication yöntemi olarak cookie kullanır. Bir kullanıcı login olduğu zaman cookie kullanıcının home dizinin altında .Xauthority dosyasına yazılır. Bu cookie ile kullanıcı x window alabilir. Xauth list komutu ile kullanıcının sahip olduğu cookie’ye bakılabilir.

Window Manager

Window Manager kullanıcıya display ekranın move,resize,minimize ve maximize etme olanağı sağlar. Compiz, Openbox gibi birçok window manager vardır.

X üzerinden de çalışabilir. Bu sayede X protokol data’yı encrypted şekilde gönderebiliriz. Bunun için server tarafta X11 forwarding enable edilmelidir. etc/sshd/sshd_config dosyasındaki

X11Forwarding yes

X11UseForwarding yes

parametrelerindeki comment kaldırılıp sshd servisi restart edilmelidir.

 

 

 

 

 

 

 

Resim – 2

Örnek olarak ben kullandığım bilgisayardaki root kullanıcısının virtualbox’ını açmak istiyorum ama bunu login olduğum kullanıcı üzerinden yapmak istiyorum. Bunun için ilk olarak xauth list komutu ile bağlandığım terminal için üretilmiş cookie kopyalıyorum ve root’a geçtikten sonra bu cookie’yi root kullanıcısının da kullanması için xauth add komutu ile ekliyorum. Xauth add komutu ile ‘de root’un altında .Xauthority dosyasına coockie kopyalanır.
Xauth komutlarını kullanmak için xauth paketinin yüklenmesi gerekmektedir. Cookie’mizi ekledikten sonra display managerın kullanılması için DISPLAY parametresi set edilir ve GUI almak istediğimiz uygulama çalıştırılarak terminal üzerinden istediğimiz GUI’yi alabiliriz.

Bu yöntem ile terminal üzerinden istediğimiz uygulamanın GUI’sini alabiliriz. Bu yöntem en çok uzak sunucuya GUI üzerinden kurulum yaparken kullanılmaktadır. Ben örnekte ssh kullanmadım ama ssh ile üzerinden de GUI alabilirsiniz. Bunun için ssh -X ile ve ya mobaxterm gibi uygulamalar kullanabilirsiniz.

Resim – 3

Eski sessionlardan kalan cookieleri temizlemek için de aşağıdaki komut kullanışlı olabilir.

xauth list | cut -f1 -d\ | xargs -i xauth remove {}

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: X Window System, X11, Linux, Unix, SSH, DISPLAY,

Yorum Yap

Yazar Hakkında

2016 yılında Yıldız Teknik Üniversitesi Elektronik ve Haberleşme Mühendisliğinden mezun oldum. Sonrasında Bilge Adamda 6 aylık sistem ve ağ uzmanlığı eğitimi alıp. Bu eğitimde Microsoft On-Prem ürünlerini tecrübe ettim. Sonrasında Vakifbank'ta Cloud Administrator olarak işe başladım. Storage ve sanallaştırma ekibindeyim. Storage tarafında EMC ve Hitachi ürünlerini SAN tarafında ise Brocade switchlerin yönetimini yapmaktayım. Bunlara ek olarak VMware ürünleri,ağırlıklı olarak Cisco UCS fiziksel sunucular ve Linux işletim sistemleri ile ilgilenmekteyim. VMware ürünlerinden de özellikle vRealize Orchestrator üzerine çalışmaktayım. Linuxlara işletim sistemi seviyesinde destek olmanın yanında Ansible üzerine yoğunlaşmış durumdayım.

Yorum Yap