[LinuxFocus Image]

HomeIndexSearchLinksAbout Us [Navegation Bar]

  News   Archives   Companies   Tips  

The X G�r�nt� ��letmeni

Yazar: Joel McCarty

�eviri: Batuhan K�se


Giri�

Ayarlar

xdm'i kullanmak

Giri�

Bu makalenin konusu X Display Manager 'i kurulmasi ve kullanilmasidir. X Display Manager ana bir makinada �alisarak parelel X g�r�nt�lerini basit olaylari denetleyerek y�netir.Bu i�lemi  kulanici i�lemlerini  init(8), getty(1) ve login(1) harf terminalerine bagliyarak yapar.Ayrica xdm, X server �ali�madigi zaman g�r�nt� temizleme konusunda yardimcidir. xdm'nin en yararli �zeliklerinden biri de g�r�nt� sunucu (server) ya olan kontrollerin izinlerini kullanicilarin izinleri ile ili�kili olarak ayarlamasidir.xdm  bu yeteneginden dolayi X oturumlarinin giri� iznini standart olarak ayarlar.Bu sebeble bir makine birden fazla kulanici tarafindan kulaniliyorsa X oturumlarini ayarlanmasi i�in uygundur.

Konu ��eri�i

Bu s�tun xdm altindaki adresleme izni ile ili�kili.X sunucudaki program g�venligi gelecek ay ayrintili olarak ayri bir s�tunda ele alinacaktir.Tek kullanicili bir masaust� bilgisayarda �alisan xdm ile ilgileniyorsaniz XDMCP 'yi atlayabilirsiniz.Eger XDMCP ile ilgilenmiyorsaniz bu konu anlatim sirasina uymadan diger bolumlere ge�ebilirsiniz ��nk� b�ndan sonraki b�l�mler a� �zelikleri ve X terminaliyle olan etkile�imi anlatmaktadir.Eger X terminalinin �zeliklerinin ayarlanmasi ile ilgileniyorsaniz size O' Reilly & Associates " The X Window System Administrators Guide" kitabini �nerebilirim.Bu kitapta bu makaledekinden �ok daha fazla ve ayrintili bilgi bulunmaktadir.

X Terminalinde ��lem Y�r�t�lmesi ve Denetlenmesi

Bir kullanicinin bilgisayari genelde tty aray�z�n� (shell) kullanir .xdm i kullanirken kullanici i�lemlerini denetleyen sisteme "arbitrary session manager" (istege g�re i�lem y�neticisi) denir.Bu sistem tty aray�zlerinden farklidir.Nedeni ise X terminallerini kullanirken kulanilan aray�z�n�n yapilan i�lemlerle bir alakasi kalmami� olup artik X terminalini denetlemek gerekmemektedir ;bu i�i de arbitrary session manager yapmaktadir. 

xdm 'nin Genel Yapisi

xdm; bir Xclient y�neticisi olarak alinabilir , g�revi kullan�c�n�n ba�lantilarini ve �ali�tirdigi programlari ba�tan sona denetlemektedir.
xdm'nin bir diger i�i de hangi X sunucu (server) larin �ali�ir,baglanti kurulabilir durumada oldugunu kaydetmektir.Bu i�i diger XDMCP sunucularinin  (XDMCP requesting management) portlarini dinleyerek ve X sunucusunun dosyalarini g�zden ge�irerek yapar.xdm bir X sunucusunu y�netmeye ba�ladigi zaman (X sunucusu �ali�tigi zaman) xdm sunucusuna bir mesaj bildirir ve kulanicinin adini �ifresini ve kulandigi makina adini  ( g�venlik gerekcesiyle)  g�nderir.Ardindan kulanicinin daha �nceden kendi istegi dogrultusunda yapmis oldugu ayarlar kulandigi makineye aktarilir ve o makine X sunucusunu g�nderilen(kulanicinin daha �nceden yapmi� oldugu ayarlari) dikkate alarak �ali�ir.X sunucu kapandigi zaman benzer bir bi�imde xdm sunucusuna programin kapandigini bildirir ve program birdaha ki kulanima hazir bir �ekilde kapanir.

Neden xdm ?

Daha �nce g�venlik ileti�im prensipleri ve X sunucularinin ali�ilmi� �zellikleri xdm de bulunmakla birlikte �zerinde uzun s�re d���n�lm�� ve yogun emek harcanarak yapilmi� yeni �zelikleride barindirmaktadir.Xdm sistem yoneticilerinin sistem elemanlarini �ok geni� bir �ekilde ayarlamasini sa�lar.X sunucunun kapatilmadigi �ok kullanicili  (her kullanici degistiginde X sunucu kapatilmadan kullanici adi ve �ifresini X sunucu kapanmadan girilen sistemlerde) sistemlerde xdm en iyi �ozum yoludur.Her yeni kulanici degi�diginde masa �st� ayarlari kulanicinin daha �nce istegine g�re ayarlanmi� �ekli ile yeniden ba�lar.

Ayarlar 

Xdm ayarlarini standart ASCII metin dosyalarinda tutar.Xdm ayarlari i�in gerekli genel dosyalar  /usr/lib/X11/xdm veya   /etc/xdm altinda yeralirken kullanici ayarlari i�in gerekli �zel dosyalar kulanicinin home dizini altindas tutulur.Herhangi bir ayar dosyasi yada dosyalari yerdegi�tirdiginde sisteme -config paremetresi ile kolayca yeni yeri tanimlanabilir.A�agida herbir dosya ve komut i�in tanimlama ve �rnekleri verilmi�tir.

Genel Dosyalar

xdm-config

Bu dosyada diger t�m ayar dosyalarinin yerleri belirtilmektedir.Eger dosyalar ba�langictaki tanimlanan yerlerinde bulunmaktaysa dosya a�agidaki �ekilde olur.Örnegimizde /etc/X11/xdm altindaki t�m ek dosyalarin tanimlamasi a�agidadir.B�ylece X sunucu daki kulanici cikarken /usr/lib/X11/xdm altindaki tanimli dosyalar degi�meden korunmu� olur. 

DisplayManager.errorLogFile: /var/log/xdm-error.log
DisplayManager.pidFile: /var/run/xdm.pid
DisplayManager.keyFile: /etc/X11/xdm/xdm-keys
DisplayManager.servers: /etc/X11/xdm/Xservers
DisplayManager.accessFile: /etc/X11/xdm/Xaccess
DisplayManager._0.authorize: true
DisplayManager._1.authorize: true
DisplayManager._0.setup: /etc/X11/xdm/Xsetup_0
DisplayManager._0.startup: /etc/X11/xdm/GiveConsole
DisplayManager._0.reset: /etc/X11/xdm/TakeConsole
DisplayManager*resources: /etc/X11/xdm/Xresources
DisplayManager*session: /etc/X11/xdm/Xsession
DisplayManager*authComplain: false

 

Xservers

A�agida listesi verilen sunuculara xdm tarafindan y�netilebilir.Bu dosyada en azindan yerel g�runtu sunucu bulunmalidir.Bu dosyanin sistem �alisirken birdaha okunmasi sadece SIGHUP sinyalinin alinmasina baglidir.
 

# ps -a | grep xdm

2639 ? R 0:09 /usr/bin/X11/xdm

# kill -9 2639

Bu �rnek tek ba�ina �ali�an bir makine i�indir.

# first line should be the local display 
:0 local /usr/X11R6/bin/X
# :0 specifies console 
# local denotes the X server is running on the locally 
# /usr/X11R6/bin/X executable run at startup
# the syntax for X terminals is slightly different
# since they run their X server from another machine
# ONLY enter X terminals if they DO NOT support XDMCP
eng1:0 foreign NCD xterminal
# eng1 is the name of the terminal 
# :0 is the display to use on the terminal
# foreign signifies the X server is running on a different machine
# NCD xterminal are display class resources specific to this terminal
# and aren't absolutely neccesary
eng2:0 foreign NCD xterminal
eng3:0 foreign Visual xterminal

 

Xsession

Her bir X oturumu a�ildigi zaman a�agidaki kod par�asi (script)�alistirilir.
 

#!/bin/sh
# following section enables failsafe logon when neccesary 
# using <CTRL><RETURN> after password activates failsafe mode
case $# in
1)
case $1 in
failsafe)
exec xterm -geometry 80x24-0-0
;;
esac
esac
# redirect errors to a file in user's home directory 
for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
do
if ( cp /dev/null "$errfile" 2> /dev/null )
then
chmod 600 "$errfile"
exec > "$errfile" 2>&1
break
fi
done
# use users local .xsession and .Xresources files if they exist
startup=$HOME/.xsession
resources=$HOME/.Xresources
if [ -x "$startup" ]; then
exec "$startup"
elif [ -x "$HOME/.Xclients" ]; then
exec "$HOME/.Xclients"
elif [ -x /etc/X11/xinit/Xclients ]; then
exec /etc/X11/xinit/Xclients
else
if [ -f "$resources" ]; then
xrdb -load "$resources"
fi
exec xsm
fi

 
Xresources

Xdm i�in gerekli kaynaklari y�kleyen dosyanin bir �rnegi a�agidadir.

# key settings to be used by Xlogin widget 
xlogin*login.translations: #override\
# Ctrl R stops xdm from managing display 
Ctrl<Key>R: abort-display()\n\
# F1 or Ctrl Return run a failsafe session
# consisting of a single xterm window
<Key>F1: set-session-argument(failsafe) finish-field()\n\
Ctrl<Key>Return: set-session-argument(failsafe) finish-field()\n\
<Key>Return: set-session-argument() finish-field()
# display setings for Xlogin widget to be displayed by xdm
xlogin*borderWidth: 3
xlogin*greeting: CLIENTHOST
xlogin*namePrompt: login:\040
xlogin*fail: Sorry Try Again
#ifdef COLOR
xlogin*greetColor: CadetBlue
xlogin*failColor: red
*Foreground: black
*Background: #fffff0
#else
xlogin*Foreground: black
xlogin*Background: white
#endif
# settings for xconsole client which is used when xdm connection on
# local server is initialized. This keeps console messages sent between
# logins from going everywhere across the screen
XConsole.text.geometry: 480x130
XConsole.verbose: true
XConsole*iconic: true
XConsole*font: fixed
Chooser*geometry: 700x500+300+200
Chooser*allowShellResize: false
Chooser*viewport.forceBars: true
Chooser*label.font: *-new century schoolbook-bold-i-normal-*-240-*
Chooser*label.label: XDMCP Host Menu from CLIENTHOST
Chooser*list.font: -*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1
Chooser*Command.font: *-new century schoolbook-bold-r-normal-*-180-*

 
xdm-pid

xdm i�in gerekli i�lemler (oynanamamasi gereken bir dosya).

xdm-errors

Adindanda anla�ilacagi gibi xdm hatalarinin tutuldugu bir dosya.

Xacsess 

XDMCP(X11R5 ve yukarisi) i�in giris izni konturol dosyasi.Bu dosya sadece XDMCP �zer�nde �alisan sorgulamalari denetler.Bu dosya ayrica size ilgili makine �zerindeki gurublara genel bazi imtiyazlar yada kisiltlamalar saglamanizi saglar.Ana sunucuya erisim iznini Display manager xdm-config  dosyasi ile ayarlar.Daha fazla bilgiyi se�ici konusunda bulabilirsiniz

Give Console (konsol vermek)

Bu bir kulanici konsolunun kulanicisinin degismasi i�in gereken programdir.Yanliz sizin bu dosyayi degistirmeniz i�in iyi bir neden olmasi gerekiyor. 
#!/bin/sh
# Assign ownership of the console to the invoking user
# $XConsortium: GiveConsole,v 1.2 93/09/28 14:29:20 gildea Exp $
#
# By convention, both xconsole and xterm -C check that the
# console is owned by the invoking user and is readable before attaching
# the console output. This way a random user can invoke xterm -C without
# causing serious grief.
#
chown $USER /dev/console

 
Take Console(konsol almak)
Bu dosya konsolu eski sahibi olan root'a vermeki�in basit bir programdir.Bu dosyayi degistirmeyin.
bin/sh
# Reassign ownership of the console to root, this should disallow
# assignment of console output to any random users's xterm
# $XConsortium: TakeConsole,v 1.2 93/09/28 14:30:29 
#
chmod 622 /dev/console
chown root /dev/console

 
Xsetup_0
Bu bir g�r�nt� ayar dosyasidir.Xconsole ayarlarinini yapildigi dosyasidir.Girirslerin bilgisini sisteme bildirir
#!/bin/sh
# $XConsortium: Xsetup_0,v 1.3 93/09/28 14:30:31 
/usr/X11R6/bin/xconsole -geometry 480x130-0-0 -daemon -notify -verbose -fn fixed -exitOnFail 


Yerel Dosyalar

~/.xsession

Kulanicinin kendi istedigi olaylarin baslatan programc�kt�r.Herhangi bir shell ile yazilabilir(~/.xinit sadece Bash ve Bourne shell ile yazilmali).

~/.Xresources
 

Bu dosya okunarak hangi kaynak (source) kulanildigini �grenebilir.

~/.xsession-errors

X session (X sunucu baslangici )hatalarini tutuar.

~/.Xauthority

Kulanicinin sunusu ile ilgili bilgileri tutar.

XDMCP

X  Dispaly Manager Control Protocol'� kisaltarak olusturulan XDMCP ilk defa X11 le berirdi ve xdm ile x terminaleri arasinda ki sorunlari haletmekte baya yol katedi.XDMCP X sunucularinin dosyalarina bakrak hangi sunucularin �alisir oldugunu bilir.Yanliz X sunucusunun dosyalarini xdm ba�langi�ta problem oldugu zaman okur.Bunun di�inda SIGNUP sinyali geldigi zaman tekrar okumaya zorlanir.XDMCP sunucularin xdm ile irtibat kurmalarina sunucunun �nceligine bakmadan  izin verir. XDMCP kullanici makinesinde s�rekli olarak makineye gelebilecek mesajlari dinlemekdedir.Y�netici mesajlari geldiginde gelen mesajin aynisini ve kullanici ekran g�runt�s�n� g�nderir.Tabi bu iletisim kendi ayarlarinda olan �� ileti�im protokolunden( DIRECT, INDIRECT, ve BROADCAST). birinde ve �zel portlardan olur.

�leti�im Kurallar�

Yukar�da belirtilen iletisim �e�itleri  DIRECT, INDIRECT, ve BROADCAST �zerinde durulacaktir

DIRECT ileti�im �e�idinde sunucu belli olmayan bir bi�imde a�da g�nderdigi mesajlar ile a�da sistem y�neticiligi yapmaktadir.DIRECT ilei�im ile kurulan ilk baglandigi makinanin sunucusunu belirler.INDIRECT ileti�im de kurulan baglantida X terminal kulan�c�n�n sunucular� se�ebilmesi i�in bir se�enek kutusu ��kart�yor.Çok sunuculu sistemlerde INDIRECT ileti�im daha avantajlidir. 
INDIRECT ileti�im kulanilmasi i�in Xaccess dosyasi derlenirken CHOOSER keyword se�enegi i�aretlenmesi gerekir.Bir diger yol da BROADCAST sisteminin kullanilmasidir.Bu sistemde a� daki sunuculara mesaj g�nderip kulanicinin hangi sunucuyu se�ebilecegi ayarlaniyor. 

Chooser 

X terminaleri kulanirken ba�langicda sunucularin se�ilmesi i�in gelen se�enek listesi (menu) pek kulani�li degildir.Bu nedenle ilk giri�te sunucu listesi geldigi zaman bu listede CHOOSER se�enegi se�ilmesi gerekir. 

eng*.odhs.dsd.com CHOOSER BROADCAST

bu komut t�m eng ile basliyan terminaleri(odhs.dsd.com de bulunan)chooser box(se�me kutusu) kulanarak sunucu se�mesini saglar.INDIRACT mode kulan�larak se�ilebilecek sunucularin listesi g�sterilir,tabiki bu daha iyidir. 

eng*.odhs.dsd.com CHOOSER dsdapps.odhs.dsd.com dbsrv.odhs.dsd.com test.odhs.dsd.com

Bu g�rd�g�n�z ayar eng* b�lumundeki terminalerin programlarina bilgi bankalarina eri�ebilme izinlerini ayarlar ve menudeki sunuculari test eder
Ayrica Xaccess dosyasi a�daki diger sunucular i�in ufak programlar yazilmasini saglar.A�agidaki �rnekte enginering(eng*) i�in ayarlama yapilmasini g�steriyor.

%ENGHOSTS dsdapps.odhs.dsd.com dbsrv.odhs.dsd.com test.odhs.dsd.com

eng*.odhs.dsd.com CHOOSER %ENGHOSTS

Kulanicilarin g�rsel ayarlari Xresources dosyasinda degi�iklik yapilarak d�zenlenir 
 

xdm'i �ali�tirmak

xdm ayarlarini test etmek i�in makineyi kapatmadan console(shell �alisma ortami) 
$ init 5   yazarak sisteme level(seviye) 5 den yeniden girilir.
Eger level 5 den sistem yeniden a�ilmaz ise  /etc/inittab dosyasina bakmak gerekir burada xdm hangi ba�langi� leveldan ba�layacagi burada belirtilmektedir(Slackware'in bazi s�r�mleri 4 �zerinden �ali�ir) .Ardindan xlogin giri� b�lumlerini g�rebilirsiniz ve adinizi parolanizi yazarak xdm'i test edebilirsiniz.Eger kulanici adinizi ,�ifrenizi dogru yazip ve dogru ba�langi� seviyesinde olupda hale xdm �ali�miyorsa biti�ikteki hata d�zeltme b�l�m�ne bakmanizi �neririm.
Bundan sonra artik bireysel ayarlarin yapimina geldik.bunu /etc/initab dosyasindan yapabilirsiniz.Benim makinemdeki degi�iklikler a�agidaki gibidir. 

#/etc/inittab

id:3:initdefault:

to

id:5:initdefault: 

Bu ayarla Linux her a�ildiginda level(seviye) 5 den baslar.

xdm'de hata giderme 

Eger xdm tam istendigi gibi �ali�miyorsa yada hata olu�tugu d���n�l�yorsa ~/.xsession-errors dosyasina bakilabilir.Eger sizin kullanicinizdan olu�an hatalar varsa sizin kullanici alaniniza ~/.xsession-errors dosyasi yada benzer bir dosya konulur.Bazi sik hatalar i�in a�agida gerekli a�iklamalar yapilmi�tir. 

Giri� kutusu ba�lang�da g�z�km�yor

Bu sizin ayar dosyalarinizdan olu�an bir hatadir.Sistem dosyalarini degi�tirmeden deneyin.Ayrica ba�langi� �ali�ma seviyesi dogrumu?

Ba�arili bir ib�imde girildi ve giri�kutusu belirdi

Sizin .xsession dosyaniz �ali�tirilabilir degildir.Girmayi deneyin ve ardindan  CTRL-RETURN tu� takimlarina birarada basarak .xsession ba�langi� bol�m�n� atliyabilirsiniz.Ardindan shell'e a�agidaiki komutlar ile .xsession dosyasina �ali�ma haki verebilirsiniz.

# chmod +x .xsession
 
 

Giri� yaptiktan sonra ekran titremeye ba�larsa ve giri� kutusu belirirse

Az�nce yaptigimiz gibi shell ortamina d���p .xsession dosyanizdaki en son komutun foreground dan ba�lamadigina bakin. 
 

Son

Ümarim bu makale size X Display Manager'in (X g�r�nt� y�neticisi) g�c�n� etkilerini ve kulanim kolayligi g�sterebilmi�tir.Eger daha fazla bilgi istiyorsaniz biti�ikteki baglantidan bilgi elde edebilirsiniz.Birdahaki makalede X Windows'un g�venli hakinda olacaktir.Herhangi bir soru veya �neriniz  i�in biti�ikteki adresse mesj atabilirsiniz. [email protected]

 


Yaz�n�n asl� dergiye �ngilizce olarak sunulmu�tur.
Daha �ok Bilgi ��in :

© 1998 Joel McCarty
Bu sanaly�renin bak�m� Miguel A Sepulveda taraf�ndan yap�lmaktad�r.