Giri�
�zelle�tirilmi� X oturumlar� olu�turarak, kendileri ve kullan�c�lar�
i�in en iyi esnekli�i yaratman�n nas�l oldu�unu merak eden yeni sistem
y�neticileri ve ayr�k kullan�c�lar i�in bu yaz�da bazi bilgiler
bulunmaktad�r.
�lk olarak, bu yaz�da X Windows sisteminin y�kl� oldu�u ve startx
komutuyla ba�lat�laca�� varsay�ld���n� belirtelim ( �ok kullan�c�l� XDM
i�in X bi�imlendiriminin daha sonraki bir yaz�n�n konusu olaca��n� umuyorum).
�imdi, �zerinde �al��aca��m�z dosyalar�n yap�lar�na ve islevlerine
bakal�m.
xinitrc
xinitrc, startx komutuyla xinit'e aktar�lan bir kabuk program�d�r
(script). Bu yaz�m genellikle baz� b�t�neyayg�n kaynaklar� bi�imler
(ekran koruyucu ayarlamalar, klavye tan�mlar� vb.). Bu dosya X a��l��
i�lemiyle beraber y�r�r.
Xclients
Bu dosya, xinitrc taraf�ndan �a�r�lan istemcilerin aksine
kullan�c�ya �zg� istemcileri ba�latan users home dizini alt�ndaki bir
noktal� dosyad�r.
Xresources
Program benimsenmi� de�erleri �zerine bindirme yapan widget
tan�mlamalar�n�n bulundu�u dosyad�r. Bu dosya genellikle font
b�y�kl�klerinin, renklerinin ve genel g�r�n�m�n belirlenmesinde ve
ayr�ca baz� ho� grafiksel efektlerin olu�turulmas�nda kullan�l�r
Bu ana kadar ilgili temel dosyalar� g�rd�k, �imdi bu dosyalar�n
bi�imlendiriminin nas�l olaca��na girelim...
.xinitrc
startx komutunu verdikten sonra, xinit (ki bu komut X'in ba�lat�lmas�
i�leminden sorumludur) ya /etc/X11/xinit/xinitrc (b�t�neyayg�n) ya da
varsa ~/.xinitrc (yerel) dosyalar�ndan birini devreye sokar. E�er bu
dosyalardan hi�biri yoksa bi�imlemdirim se�imi xinit i�lemine
b�rak�l�r (ama bu iyi bir yol de�ildir). xinitrc dosyas� (yerel olan�
b�t�neyayg�n olan�ndan �nceliklidir), belirlenen �ekilde �esitli X
istemcilerini ba�latan ve daha sonra exec kullanarak belirlenen pencere
i�letmenini ba�latan bir kabuk program�d�r.
xinitrc dosyas� en basit yap�s�yla a�a��daki gibidir...
# /etc/X11/xinit/xinitrc
#!/bin/sh
exec /usr/X11R6/bin/fvwm2
Bu haliyle dosya F(eeble) Virtual Window Menager 2 (Zay�f Sanal Pencere
��letmeni 2) �al��t�rmaktan ba�ka hi� bir�ey yapmamaktad�r. �ok yararl�
olmamakla beraber, yeni bir pencere i�letmeni kurulumuna el atmak istiyorsan�z
k�t� say�lmaz. Baz� kurulumlar ekledi�imizde ve her X ba�lat�ld���nda baz�
ek istemcilerini devreye sokmak istedi�imizde i�ler biraz daha ilgin�le�meye
ba�l�yor...
#/etc/X11/xinit/xinitrc
#!/bin/sh
# backspace sorununun ��z�mlenmesi
xmodmap -e "keycode 22=BackSpace"
# arka fonun ayarlanmas�
xsetroot -solid LightSlateGrey
# be� dakika sonra ekran koruyucunun ba�lat�lmas�
xset s 300
# Genel bir dizili�le X istemcilerinin ba�lat�lmas�
xterm -g 80x20+150+8 & # bir terminal penceresi ba�lat�r
xterm -g 80x20+150+325 & # ilkinin alt�nda bir ikincisini baslat�r
xload -g +4+0 & # bir cpu y�kleme �l��m� ba�lat�r
xclock -g +815+0 -digital & # parmaksay�sal bir saati ba�lat�r
# Pencere Y�neticisinin Ba�lat�lmas�
exec fvwm2
Bu bi�imlendirimi kullanan X oturumundan bir anl�k g�r�nt�
�imdi her X a��ld���nda, backspace sorununu gideren (bir�ok durumda),
numlock'u kuran, insan� sinir eden arka fonu defeden ve birka� program�
ba�latan bir dosyam�z var.
Burada an�msanacak birka� �ey, e�er varsa users home dizini alt�ndaki
yerel bir dosyan�n �ncelikli olarak kullan�laca��d�r (b�t�n�yle sistem
geneli bir kurulum gozard� edilerek). Ayrica bir�ok komutla beraber
kullan�lan -g se�ene�ine dikkat edin, bu bir �ok X program�nda
kullan�labilen geometri se�ene�idir. Geometri se�ene�i, kullan�ld�g�nda
program�n boyutunu ve yerle�imi ��yle belirler...
Length x Width+ X coordinate+ Y coordinate
Burada izlenmesi gereken xterm'in (ve di�er bir�ok terminal program�n�n)
karakter geni�likleri ve boylar� �er�evesinde uzunlu�u ve geni�li�inin
belirlenmesidir, di�er bir�ok program bu de�erlerin belirlenmesinde piksel
�l��s�n� kullan�r (bundan dolay� e�er pek dikkatli de�ilseniz ho� minik
pencereleriniz olur!). Son olarak, pencere i�letmeninin kendisinden
ba�ka her komutun sonuna bir ampersand atand���na dikkat edin. Bu ampersand
programa arka planda �al��mas�n� s�yler (aksi takdirde bir sonraki komut,
�al��an komut sona ertelenmeden ba�lamaz, bu da pek ho� olmaz). Bundan
dolay� sadece Pencere i�letmeni �n planda �al���r ve xinitrc ile ba�lat�lan
t�m i�lemleri X'den ��k�ld���nda devir al�r.
Art�k elimizde b�t�neyayg�n olarak kullan�labilecek veya users home alt�na
konularak belirlenen kullan�c�lara g�re istemcileri �zelle�tirebilecek
olduk�a i�levsel bir program�m�z bulunmaktad�r (�rnegin her b�l�me �zel
bir program yazabiliriz, b�ylece m�hendislik b�l�m�ndeki bir kullan�c�n�n,
muhasebe b�l�m�ndeki bir kullan�c�dan farkl� X a��l��� olur). Burada
uygulayabildi�imiz yetenekler olas� bir �ok ilgin� se�ene�in k���k bir
kesimidir. Bunun bir kabuk program� oldu�una dikkat edilirse kulland���m�z
bir �ok komutu burada da kullanabilece�imiz anla��labilir. Son olarak, sistem
geneli bir xinitrc dosyas� ile kullan�c�lar�n ki�isel kurulumlar�n�
birle�tirmek i�in xmodmap ve xrdb dosyalar�n� kullanarak bizi
�zelle�tirilmi� se�eneklere gereksinimleri olan bu kullan�c�lar�n
home dizinlerindeki bir xinitrc dosyas�n� kar��t�rmak zahmetinden
kurtaran bir �rnege bir g�z atal�m (a�a��daki b�l�mde ele al�nan
Xclients ve Xresources kullan�mlar�na dikkat edilmelidir):
#/etc/X11/xinit/xinitrc
#!/bin/sh
# b�t�neyayg�n ve yerel kaynaklar i�in yer tan�mlan�yor
userclients=$HOME/.Xclients
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# sistem ve kullan�c� Xdefaults ve klavye tan�mlamalar� birle�tiriliyor
if [ -f $sysresources ]; then xrdb -merge $sysresources; fi
if [ -f $sysmodmap ]; then xmodmap $sysmodmap; fi
if [ -f $userresources ]; then xrdb -merge $userresources; fi
if [ -f $usermodmap ]; then xmodmap $usermodmap; fi
# backspace sorununun ��z�mlenmesi
xmodmap -e "keycode 22=BackSpace"
# arka fonun ayarlanmas�
xsetroot -solid LightSlateGrey
# be� dakika sonra ekran koruyucunun ba�lat�lmas�
xset s 300
# ~/.Xclients kontrolu ve di�er �al��t�r�labilir sistemlerin �al��t�r�lmas�
# benimsenmi� istemciler (yerel ve b�t�neyayg�n birle�tirilmiyor)
if [ -f $userclients ]; then
exec $userclients
else
# baz� benimsenmi� istemcilerin ba�lat�lmas�
xterm -g 80x20+150+8 &
xterm -g 80x20+150+325 &
xload -g +4+0 &
xclock -g +815+0 -digital &
# pencere i�letmeninin ba�lat�lmas�
fvwm2
fi
Bu bi�imlendirimi kullanan X oturumunun bir anl�k g�r�nt�s�
�imdi, burada, tu�m sistem klavye haritalar�n� ve program benimsenmi�
de�erlerini (.Xmodmap ve .Xresources i�inde tan�mlanan) ilk kez y�klemi�
olduk ve daha sonra da t�m kullan�c�ya �zel kurulumlar� (home dizinlerinde
yer alan) y�kledik. Sonra home ayarlamalar�nda veya sistemde yer almasalar da
baz� ek kurulumlar� ekliyoruz (�rnegin backspace d�zeltimi ve numlock durumu
gibi). �imdi kullan�c�lar�n kendi home dizinlerinde tan�mlanm�� XClients olup
olmad���n� kontrol ediyoruz (ve e�er varsa y�kl�yoruz) daha ba�ka baz�
sistem geneli kurulumlar� ba�lat�yoruz (dikkat edilmelidir ki, bu iki
sat�rdan �nceki benimsenmi� de�erler ve kaynaklarda oldu�u gibi
birlestirilmiyorlar). Burada belirtilmesi gereken bir nokta, e�er
kullan�c�n�n tan�mlanm�� herhangi bir Xclients dosyas� yoksa X ba�lang�c�
yukar�dakinin
tersine orijinal ekran
g�r�nt�s�nde olacak olmas�d�r; bundan dolay� ayn� xinitrc
dosyas�ndan hem sistem geneli g�r�n�� hem de olduk�a �zelle�tirilmi�
ortamlar olu�turabiliriz. Son olarak ye�ledi�imiz pencere i�letmeninin
veya i�letmenlerinin olup olmad���na bak�yoruz, aksi takdirde yedekleme
i�in fvwm2'ye g�venmek durumunday�z (e�er bu y�klenemiyorsa sistem son
�are olarak twm'i y�kler). Art�k tekrar tekrar script dosyam�zla oynamam�za
gerek b�rakmayan baz� yerel dosyalar� kurarak veya sistem geneli dosyalar�
bicimlendirerek kullan�c�lar�m�za geni� �l��de �zelle�tirme sa�layan bir
kuruluma sahibiz.
Daha �nceki �rneklerde kulland�g�m�z baz� dosyalara bir bakal�m...
.Xclients
~/.Xclients dosyas� bir X oturumunun ba�lang�c�nda baz� okunacak
ve �al��t�r�lacak kullan�c�ya ozg� istemcileri bulundurur. Bu dosyan�n
s�zdizimi (syntax) xinitrc dosyas�ndaki deyimlere uyar. A�a��da �nceki
ekran g�r�nt�s�nde
kullan�lan xinitrc taraf�ndan y�klenen ~/.Xclients dosyas� vard�r.
xv -rmode -noresetroot -quit /usr/local/backgrounds/slate.xpm &
kfm &
kcontrol -init &
kbgndwm &
krootwm &
kpanel &
kvt &
kwm
�nceki ekran g�r�nt�s�nde g�rebilece�iniz gibi, Xclients, merkezi bir
xinitrc dosyas� tutularak, �zelle�tirilmi� ortamlar geli�tirmek i�in
kullan�l�r. Burada belirtilmesi gereken bir �ey de, yukar�daki .xinitrc
i�inde, eger ~/.Xclients yoksa, hi�bir istemcinin bu dosyadan elde
edilememesidir. Bu kurulumu her kullan�c�n�n kendi be�endi�i pencere
i�letmeninin Xclients arac�l���yla ba�latabilmesi i�in kulland�m. E�er
sisteme ozg�, sistem geneli istemciye gereksinim duyarsan�z, onlar� bir
kullan�c�lar Xclients dosyas� �al��t�rmadan y�kleyin (e�er ~/.Xclients
bir pencere y�neticisi �a��r�m�na sahipse). Son �rnekte kullan�lan
benzer masa�st� bi�imlendirimi i�in
KDE's konut sayfas�'e bir g�z at�n.
3.0 Beta s�r�m� yeni ��kt� ve de ho� bir �ok GUI bi�imlendirim elayg�t�
i�ermekte.
.Xresources
X'teki kaynaklar yerel (~/.Xresources) veya b�t�neyayg�n (/usr/X11R6/lib/X11/xinit/.Xresources)
program ayarlar� tan�mlar. X programlar� widget yap�lar�ndan olu�turulmu�lard�r.
Widget yap�lar� kontrol �geleridir bundan dolay� font t�rleri, kayma �ubuklari
(scroll bars) ve arkafon ayarlar� i�in widget bulunmaktad�r. Bir X
program�ndaki hemen hemen hersey bir widget yap�s�d�r (bu nedenle
�zelle�tirilebilir).
Widget yap�lar� genellikle silsilesel (hierarchic) bir yap�
i�ersindedirler, �rne�in bir men� �er�evesi (frame) i�indeki widget i�inde
birka� d��me widget yap�s� olabilir. �stenilen bir widget yap�s�ndaki
de�i�iklikleri b�t�n�yle �zelle�tirmek amac�yla her bir bile�en i�in
eri�imyolu (path) olarak ifade edilmelidir, bu eri�imyolu silsilesel yap�daki
widget adlar�d�r. �rnek olarak, a�a��da t�m terminal pencerelerimi
standartla�t�ran ~/.Xdefaults dosyamdan al�nm�� sat�rlar verilmektedir.
XTerm*Font: -misc-fixed-bold-r-normal-15-140-75-75-c-90-iso8859-1
XTerm*Background: black
XTerm*Foreground: cyan
XTerm*scrollBar: true
XTerm*saveLines: 500
Xterm*VT100.geometry: 80x24
Bu dosyada yaban kartlar�n�n kullan�m�na izin verildi�ine dikkat edin
b�ylece...
*Foreground: cyan
*Background: black
deyimleri kesin Xdefaults ayarlar� olamayan programlar i�in standart
bir g��n�m tan�mlar. E�er siz de benim gibi yaban kartlar�n izin verdi�inden
daha fazla esneklik istiyorsan�z ama ya�am�n�z� kurtaracak widget
silsilesini an�msayam�yorsan�z... editres'i deneyin! editres bir .Xdefaults
dosyas� yazmaya zorunlu k�lmaks�z�n inan�lmaz �zel kurulumlar �retmeye
olanak tan�yan GUI tabanl� bir bi�imlendirme elayg�t�d�r.
editres'in genel bir g�r�n�m�ne
g�z at�n! Zannediyorum ki Xdefaults dosyas�n�n genel bir g�r�n�m
ve �zelle�tirilmi� istemcilerin olu�turulmas�nda size b�y�k f�rsatlar
sa�lad���n� farketmeye ba�lad�n�z. xcalc'a
bir g�z at�n. editres'in �zelliklerini ad�m ad�m t�m�yle anlatan kaynak
i�in Isolation'�n
X ���tler sanal y�resini ziyaret edin.
Bu ayl�k da bu kadar. �mit ediyorum ki her yeni kullan�c�ya bir script
yazarak saatlerinizi t�ketmeksizin X 'in nas�l standartla�t�r�laca��n�
ve �zelle�tirilebilece�ini g�rm�s oldunuz. Gelecek yaz�da (
Miguel A. Sepulveda)
X g�r�nt�leme i�letmeni (X Display Manager) kullanarak ayn� i� istasyonu
�zerinde nas�l �oklu X ba�lant�s� yap�labilece�ine g�z ataca��z. E�er bana
herhangi bir sorunuz veya yorumunuz varsa bana
yazmaktan �ekinmeyin. Gelecek yaz�ya kadar...
|