zX Window oturumunu özelleştirmek için kullanılabilecek bir çok ayar dosyası vardır. Bu dosyalar oturum açan kullanıcının ev dizininde bulunan gizli script dosyalarıdır ve X Windows başlangıç rutinleri tarafından kullanılmaktadırlar. X eğer bu dosyaları kullanıcının ev dizininde bulamazsa varsayılan dizindekileri kullanacaktır.
userclientrc=$HOME/.xinitrc
sysclientrc=/etc/X11/xinit/xinitrc
Yukarıdaki satırlar /usr/X11R6/bin dizininde bulunan startx dosyasından alınmıştır.
X Window sistemi startx komutu ile başlatıldığında xinit programı yukarıdaki satırlarda yazılı olan yollarda sırayla .xinitrc dosyasını arayacaktır. .xinitrc dosyası farklı X istemcilerini çalıştıracak bir seri komut içermektedir. İlk satır Linux’ un scripti işletmek için hangi kabuğu kullanacağını göstermektedir.
#! /bin/bash
xterm &
xclock –geometry 200x200-20+20 &
xcalc –geometry 300x300-20-20
exec twm
.xinitrc dosyası herhangi bir kelime işlemci işe oluşturulabilir ve daha sonra gerekli çalıştırma izni verilerek X Window tarafından kullanılması sağlanabilir. Ör :
chmod a+x ~/.xinitrc
Yukarıdaki komuta “a” parametresinin eklenmesinin nedeni, bu script dosyasının sistem tarafından tüm oturum açan kullanıcılar için işletilecek olmasıdır ve bu nedenle gerekli çalıştırma izni “all” için verilir.
Text ve Grafik Login Modları
Linux’ ta text ve grafik modlar arasında geçiş yapmak veya login modunu textten grafiğe çevirmek çok kolaydır. /etc/inittab dosyası içinde yapılacak küçük bir değişiklikle bu geçiş sağlanabilir :
id:3:initdefault:
yerine
id:5:initdefault:
yazarak açılışta sistemin grafik modda açılması sağlanabilir. Oturum açıldıktan sonra da modlar arasındaki geçiş aşağıdaki komutla yapılır :
/sbin/init 3
veya
/sbin/init 5
Gösterim Yöneticileri (Display Managers) xdm, gdm, kdm
Linux GUI’ yi kullanarak login olduğumuzda, login işlemi özel bir X istemcisi olan gösterim yöneticisi (display manager) tarafından gerçekleştirilir. Bu son derece basit bir programdır ve tek yaptığı ekranda kullanıcı adı ve şifreyi soran bir diyalog kutusu göstermektir. Belli başlı üç tane gösterim yöneticisi vardır ve /etc/X11 altındaki prefdm scriptinde “prefferred=” satırı değiştirilerek istenen yönetici kullanılabilir.
X Window sisteminin nasıl başlatıldığı ,nasıl bitirileceğini ve sonrasını da belirlemektedir. Örneğin, X Window saydığımız bu gösterim yöneticilerinden biri ile başlatılırsa, X Window kapatıldığında sistem tekrar gösterim yöneticisini kullanarak login penceresine dönecektir.
userclientrc=$HOME/.xinitrc
sysclientrc=/etc/X11/xinit/xinitrc
Yukarıdaki satırlar /usr/X11R6/bin dizininde bulunan startx dosyasından alınmıştır.
X Window sistemi startx komutu ile başlatıldığında xinit programı yukarıdaki satırlarda yazılı olan yollarda sırayla .xinitrc dosyasını arayacaktır. .xinitrc dosyası farklı X istemcilerini çalıştıracak bir seri komut içermektedir. İlk satır Linux’ un scripti işletmek için hangi kabuğu kullanacağını göstermektedir.
#! /bin/bash
xterm &
xclock –geometry 200x200-20+20 &
xcalc –geometry 300x300-20-20
exec twm
.xinitrc dosyası herhangi bir kelime işlemci işe oluşturulabilir ve daha sonra gerekli çalıştırma izni verilerek X Window tarafından kullanılması sağlanabilir. Ör :
chmod a+x ~/.xinitrc
Yukarıdaki komuta “a” parametresinin eklenmesinin nedeni, bu script dosyasının sistem tarafından tüm oturum açan kullanıcılar için işletilecek olmasıdır ve bu nedenle gerekli çalıştırma izni “all” için verilir.
Text ve Grafik Login Modları
Linux’ ta text ve grafik modlar arasında geçiş yapmak veya login modunu textten grafiğe çevirmek çok kolaydır. /etc/inittab dosyası içinde yapılacak küçük bir değişiklikle bu geçiş sağlanabilir :
id:3:initdefault:
yerine
id:5:initdefault:
yazarak açılışta sistemin grafik modda açılması sağlanabilir. Oturum açıldıktan sonra da modlar arasındaki geçiş aşağıdaki komutla yapılır :
/sbin/init 3
veya
/sbin/init 5
Gösterim Yöneticileri (Display Managers) xdm, gdm, kdm
Linux GUI’ yi kullanarak login olduğumuzda, login işlemi özel bir X istemcisi olan gösterim yöneticisi (display manager) tarafından gerçekleştirilir. Bu son derece basit bir programdır ve tek yaptığı ekranda kullanıcı adı ve şifreyi soran bir diyalog kutusu göstermektir. Belli başlı üç tane gösterim yöneticisi vardır ve /etc/X11 altındaki prefdm scriptinde “prefferred=” satırı değiştirilerek istenen yönetici kullanılabilir.
X Window sisteminin nasıl başlatıldığı ,nasıl bitirileceğini ve sonrasını da belirlemektedir. Örneğin, X Window saydığımız bu gösterim yöneticilerinden biri ile başlatılırsa, X Window kapatıldığında sistem tekrar gösterim yöneticisini kullanarak login penceresine dönecektir.
Bir gösterim yöneticisi kullanılarak login olunduğunda X Window ,startx kullanılarak başlatılan oturuma göre biraz daha farklı şekilde açılacaktır. startx çalıştırıldığında X Window oturumu, text tabanlı login kabuğunun alt süreci (child process) olarak çalışacaktır. Bu durumu runlevel komutunu çalıştırarak test etmek ve doğrulamak mümkündür. X Window’un çalıştığı zamanlarda bile Linux hala runlevel 3’ de çalışıyor olacaktır. X Window sonlandırıldığında oturum kapanmış olmayacağından, gerçek oturumu kapatmak için kabukta gerekli komutlar çalıştırılmalıdır.
Eğer bir GY (gösterim yöneticisi) kullanılarak logon olunuyorsa, Linux etkileşimli bir kabuk (shell) başlatmayacaktır. Onun yerine GY ,X Window login sürecini kontrol eden oturum yöneticisi (session manager) adında bir programı çalıştıracaktır. GNOME’ da bu programın adı /usr/bin/gnome-session, KDE’ de ise /usr/bin/kwin ‘dir.
Açılan X Windows oturumunda çalıştırılan tüm X istemcileri OY (oturum yöneticisi)’ nin alt süreçleridir. OY kapandığında tüm süreçlerde otomatik olarak sonlandırılırlar. Bir GY üzerinden login olunduğunda OY, ~/.xinitrc ayar dosyasını kullanmayacaktır.
X Uygulamalarının Uzaktan Görüntülenmesi
X Window sisteminin en güçlü yanlarından biri X uygulamalarını uzak sistemlerden çalıştırmaya izin vermesidir. Bu sayede birçok RHL sunucu sistemini uzaktan kendi bilgisayarımızdan yönetmemiz mümkün olabilmektedir.
Güvenlik
Güvenlik kontrolünü sağlamanın en kolay yolu xhost komutunu kullanmaktır. xhost komutu yerel sistemdeki X sunucusuna erişimi bir listeye bakarak teker teker kontrol eder.
Komut Tanımı
xhost Mevcut güvenlik ayarlarını gösterir
xhost + Güvenliği kaldırır. Tüm sistemlerin erişimine izin verir.
xhost - Güvenliği aktive eder.
xhost +host.xyz.com host.xyz.com’ dan erişime izin verir.
xhost - host.xyz.com host.xyz.com’ dan erişimi engeller.
BİLGİ !
Bu komuta daha gelişmiş bir alternatif ise xauth komutudur. Bu komut sadece hostların değil, kullanıcıların da erişimlerini kontrol edebilmekte ve kimlik doğrulama sırasında trafiği şifreleyebilmektedir. Tüm ayarları ~/.Xauthority dosyasında tutmaktadır.
DISPLAY değişkeni yazılı olmadığı sürece xhost çalışmakta sorun çıkartacaktır. Bu durumda basit bir değişken tanımlaması yazarak (DISPLAY=localhost:0.0) ve bunu ihraç ederek (export DISPLAY) xhost çalıştırılabilir.
Uzak X İstemcileri
Bir X istemcisini uzak bir sistemde çalıştırmak ve ekran çıktısını kendi yerel sistemimizde görüntüleyebilmek için bazı şartların yerine gelmiş olması ve bazı adımların takip edilmesi gereklidir.
İlk olarak uzak sisteme ,kendi yerel sistemimizde yetki vererek başlarız :
xhost +host.xyz.com
Sonraki adımda uzak sisteme logon olmamız gereklidir. Bunu telnet, rsh, rlogin vb. programlarla yapabiliriz.
telnet host.xyz.com
X Window uygulaması çalıştırılacağı için path tanımlarında X Window dizininin kayıtlı olup olmadığını kontrol etmek faydalı bir davranıştır. Yoksa , echo $PATH komutu ile görüntüler, eğer yoksa aşağıdaki komut ile ekleriz :
[client@host] $ PATH=$PATH:/usr/X11R6/bin
Çalıştırılması istenen X istemcisi aşağıdaki komutla çalıştırılır :
[client@host]xclock –display benimbilgs.xyz.com:0.0 &
Diğer bir yöntem de yukarıdaki komuttaki display parametresini bir değişkene atamak yoluyla istemcinin çalıştırılmasıdır :
[client@host]export DISPLAY=benimbilgs.xyz.com:0.0
[client@host]xclock
Hata giderme
OY ler kullanıcının ev dizininde ~/.xsession-errors adında log dosyaları oluştururlar. /var/log/messages ve /var/log/XFree86.0.log dosyaları ile birlikte bu log dosyasının da kontrol edilmesi gereklidir.
.xinitrc veya .Xclients kabuk scriptleri sorunlara yol açabilirler. Bunların silinmesi ya da adının değiştirilmesi denenebilir.
Uzak X İstemcileri
Bir X istemcisini uzak bir sistemde çalıştırmak ve ekran çıktısını kendi yerel sistemimizde görüntüleyebilmek için bazı şartların yerine gelmiş olması ve bazı adımların takip edilmesi gereklidir.
İlk olarak uzak sisteme ,kendi yerel sistemimizde yetki vererek başlarız :
xhost +host.xyz.com
Sonraki adımda uzak sisteme logon olmamız gereklidir. Bunu telnet, rsh, rlogin vb. programlarla yapabiliriz.
telnet host.xyz.com
X Window uygulaması çalıştırılacağı için path tanımlarında X Window dizininin kayıtlı olup olmadığını kontrol etmek faydalı bir davranıştır. Yoksa , echo $PATH komutu ile görüntüler, eğer yoksa aşağıdaki komut ile ekleriz :
[client@host] $ PATH=$PATH:/usr/X11R6/bin
Çalıştırılması istenen X istemcisi aşağıdaki komutla çalıştırılır :
[client@host]xclock –display benimbilgs.xyz.com:0.0 &
Diğer bir yöntem de yukarıdaki komuttaki display parametresini bir değişkene atamak yoluyla istemcinin çalıştırılmasıdır :
[client@host]export DISPLAY=benimbilgs.xyz.com:0.0
[client@host]xclock
Hata giderme
OY ler kullanıcının ev dizininde ~/.xsession-errors adında log dosyaları oluştururlar. /var/log/messages ve /var/log/XFree86.0.log dosyaları ile birlikte bu log dosyasının da kontrol edilmesi gereklidir.
.xinitrc veya .Xclients kabuk scriptleri sorunlara yol açabilirler. Bunların silinmesi ya da adının değiştirilmesi denenebilir.
DISPLAY çevre değişkeni kontrol edilmelidir.
/usr/X11R6/bin dizininin $PATH değişkeninde kayıtlı olduğu kontrol edilmelidir.
X Window sisteminin uzak bağlantı yapmasını engelleyebilecek ağ ve sistem problemleri giderilmelidir.
X Font Sunucusu ,daha önceki bölümlerde anlatıldığı gibi kontrol edilmelidir.
X sunucusu kilitlenmiş olsa bile farklı bir text konsol ekranı açmak mümkündür.