taraf�ndan Guido Socher (homepage)
Yazar hakk�nda:
Guido, L�nux'u sadece i�letim sistemlerinin nas�l �al��t���n�
��renmenin ilgin� oldu�u i�in de�il, ayn� zamanda onu tasarlayan ki�iler
y�z�nden sevmektedir.
T�rk�e'ye �eviri:
Erdal MUTLU <erdal(at)linuxfocus.org>
��erik:
|
X11 ile uzaktan uygulama �al��t�rmak
�zet:
Bir�ok yeni Linux kullan�c�s�, Linux alt�ndaki masa�st� ortam�n�n,
ba�ka bir "Windows" sistemi oldu�unu ve sadece uygulamalar� �al��t�rmaya ve ayr� pencerelerde g�r�nt�lemeye yarad���n� d���nmektedir.
Baz�lar� da, birden fazla masa�st�n�n kullanabileceklerini fark etmi�lerdir,
ama hepsi bu kadarm�� gibi g�z�kmektedir. Linux alt�ndaki X Pencere
Sistemi (X11) bundan �ok daha fazla �zelliklere sahiptir!
Bu bir a� pencere sistemidir. Bunun ne kadar yeni ve g��l� �zellikler
sundu�unu, hep beraber g�rece�iz.
Display (Ekran) kavram?
X Pencere sistemindeki her grafik uygulamas�, �al��t�r�ld��� zaman ilk �nce,
grafik ��kt�s�n� g�nderece�i DISPLAY adl� �evre de�i�keninin i�eri�ini denetlemektedir.
Bu ve X Pencere Sisteminin a� �zellikleri ile birlikte
grafik ortamdaki uygulamalar� uzaktan �al��t�rma �zelli�ini olu�turmaktad�r.
B�ylece, uygulaman�n �al��t��� bilgisayardaki Merkezi i�lem Biriminin (M�B=CPU) g�c�nden faydalanarak, uygulamay� ba�ka
bir bilgisayardan y�netme imkan�n� elde etmi� oluruz. T�m KGA (Kullan�c� Grafik Arabirimi = GUI)
sizin bulundu�unuz ve uygulamay� y�netti�iniz bilgisayarda g�z�kmektedir.
�ki bilgisayar� ayn� anda kulland���n�z� fark etmiyorsunuz bile.
A� h�z�n�z burada sorun olabilir, ancak 10Mit/sn h�z�na sahip bir yerel a�,
gere�inden fazlas�n� sunmaktad�r.
Bunu neden yapmak isteyebilirsiniz?
Bir�ok "A� grafik" uygulamalas� vard�r. �e�itli �irketler, bu t�r uygulamalar�, binlerce kilimetre uzakta bulunan donan�mlar�
kullanmak ve denetlemek i�in kullanmaktad�r. Bunu yaparken de, sanki oradaki
bilgisayar�n ba��nda oturuyormu�sunuz gibi bir izlenim olu�maktad�r.
Birisi 1GHz, di�eri Pentium 133MHz olan iki bilgisayara sahip iseniz,
h�zl� olan bilgisayar�n h�z�ndan yararlanabilirsiniz. Belkide o anda kerde�iniz, h�zl� olan bilgisayar� kullanmaktad�r. Hi� sorun de�il, ��nk� sizde ondan yararlanabilirsiniz.
Bu nas�l �al��maktad�r?
T�m X Pencere sisteminde �al��an uygulamalar,
gimp, xterm, konquerer, netscape, ... gibi, ger�ekte X-sunucusuna ba�lant� yapan birer a� istemci uygulamalar�d�r. X-sunucusunun i�levi, grafik don�mla
haberle�mek, resimleri ekran�n�za �izmek, fareden ve tu�lardan gelen giri�leri
okumakt�r. �stemciler (gimp, netscape ... gibi uygulamalar), sunucuya
�er�eveleri ve tu�lar� nas�l boyamas� gerekti�ne dair komutlar g�ndermektedir.
Kar��l���nda, sunucudan fare ve tu�lardan gelen olaylar� almaktad�r. Do�al olarak, bir kimliklendirmeye gereksinim vard�r, yoksa herkesin ekran� kar��abilirdi. Eri�imi denetleyen iki program vard�r:
- xhost: bu program� kullanarak, ba�ka bir bilgisayardan sizin ekran�n�za
grafik ��kt�lar�n� yazma hakk� verebilirsiniz. �rnek : philosophus adl� bilgisayar�n ba��nda oturdu�unuzu varsayal�m. movietux adl� bilgisayarda �al��an herhangibir programa, sizin bilgisayar ekran�za grafik g�r�nt�lerini g�r�nt�leme hakk� vermek i�in,
a�a��daki komutu kullananabilirsiniz:
xhost +movietux
Bu komut philosophus'daki bir kabuk ortam�ndan �al��t�r�lmas� gerekmektedir.
- xauth: Bu cookie (�erez) tabanl� bir kimlik denetimi y�ntemidir ve �ok daha kar���kt�r.
Burada ki�i baz�nda eri�im hakk� verebilirsiniz. xhost'tan �ok daha g�venlidir.
Kimlik denetimi, kullan�c�lar�n .Xauthority dosyalar�na cookie (�erez)
yerle�tirerek yap�lmaktad�r. E�er, uzaktan eri�im yapan bilgisayar, bu dosyada
uygun bir cookie (�erez) sahip ise, eri�ime izin verilmektedir. Oturdu�unuz,
yani eri�imin yap�laca�� bilgisayaradaki (philosophus) cookie (�erez), uzaktan eri�im
yapmak istedi�iniz bilgisayara (movietux) kopyalamak i�in a�a��daki y�ntemleri
kullanabilirsiniz:
xauth extract - philosophus:0.0 | ssh movietux
/usr/X11R6/bin/xauth merge
veya
scp ~/.Xauthority movietux:
Program (istemci) ba�lang�c�nda olan olaylar ��yledir:
- Hangi sunucuya ba�lanaca��n� istemci DISPLAY �evre de�i�kenini denetleyerek ��renmektedir.
E�er, bu de�i�ken tan�ml� de�il ise, bulundu�u bilgisayardaki sunucuya
ba�lanmaya �al���r.
- Sunucu ise, istemcinin g�ndermekte oldu�u resimleri g�ndermeye hakk�
olup olmad���n� denetleyerek, e�er izni varsa, g�nderilen resimleri ekrana
�izmektedir.
DISPLAY �evre de�i�keninin yap�s� a�a��daki gibidir:
bash:export
DISPLAY=hostname:displaynumber.screennumber
tcsh:setenv DISPLAY hostname:displaynumber.screennumber
Ben burada displaynumber ve screennumber hakk�nda konu�mayaca��m. Genelde
bunlar�n de�erleri 0:0 d�r. S�zgelimi bash i�in :
export DISPLAY=philosophus:0.0
Uzaktaki herhangibir uygulamay� ba�latmak
T�m bu teorik bilgiden sonra pratik bir �rnek verelim.
Denemeniz yeter. Biz yine philosophus adl� bilgisayar�n ba��nda oturmaktay�z ve
movietux adl� bilgisayarda bir program� uzaktan �al��t�rmak istiyoruz.
- X sunucunuza, movietux bilgisayar�ndaki programlar�n sizin ekran�n�za
resim �izebilmeleri i�in, izin vermesini s�yleyin:
xhost +movietux
- movietux bilgisayar�na giri� yap�n.:
slogin -l username movietux
- �imdi movietux adl� bilgisayara giri� yapm�� oldunuz ve dolay�s�yla
�al��t�raca��n�z her program movietux'da �al���yor olacakt�r.
- export DISPLAY=philosophus:0.0
- Herhangibir program �al��t�r�n. S�zgelimi:
netscape &
E�er, movietux sizin bilgisayardan daha g��l� ise, netscpae html sayfalar�n�,
sizin bilgisayardaki netscape'ten �ok daha h�zl� olarak
g�r�nt�ledi�ini (d�zenledi�ini) fark edeceksiniz. Ayn� zamanda, netscape
program�n�n yerel makinan�zda �al��t�r�lmam�� oldu�unu fark edemeyeceksiniz,
��nk� �al��ma �eklinde (fare ve klavye) hi�bir fark olmayacakt�r.
Nas�l, harika de�il mi?
Ekran� (display) yan�n�zda g�t�rmek
Uzaktaki bir bilgisayar �zerinde program �al��t�rmak i�in izledi�iniz ad�mlar
olduk�a basit olmas�na kar��n, yine de DISPLAY de�i�kenini ayarlamak i�in
bir�eyler yazman�z gerekmektedir. Bu i�lemi otomatikle�tirmek m�mk�nd�r:
- Uzaktaki bilgisayara ssh ile giri� yap�yorsan�z, DISPLAY
de�i�keni otomatik olarak ayarlanmaktad�r. ssh haricinde DISPLAY de�i�kenini
destekleyen ba�ka programlar da var tabii, ancak ssh bunlar�n aras�nda en �ok
kullan�lan�d�r.
- E�er, slogin veya ba�ka program kullan�yorsan�z, a�a��daki
kabuk programlar�n� uzaktaki bilgisayara y�klemeniz gerekecektir.
tcsh i�in:
# Uzaktaki bilgisayara giri� s�ras�nda ekran� yan�n�zda g�t�r�n:
# ~/.login dosyan�z�n i�ine a�a��dakileri yerle�tirin:
set whoami=`who -ml`
set remhost=`expr "$whoami" :
'.*(\(.*\))'`
if ( "$remhost" != "" ) then
setenv DISPLAY
"$remhost":0.0
endif
Kabuk program�, uzaktaki bilgisayar ismini "who -ml" komutu
yard�m�yla elde etmektedir. Komut a�a��daki gibi bir ��kt� vermektedir:
>who -ml
movietux!guido pts/3 Oct 26 21:55 (philosophus.tux.org)
E�er, bash kullan�yorsan�z, a�a��daki kabuk program�n� kullanabilirsiniz:
# Uzaktaki bilgisayara giri� s�ras�nda ekran� yan�n�zda g�t�r�n:
# ~/.bash_profile dosyan�z�n i�ine a�a��dakileri yerle�tirin:
whoami=`who -ml`
remhost=`expr "$whoami" :
'.*(\(.*\))'`
if [ -n "$remhost" ];
then
DISPLAY="$remhost":0.0
export DISPLAY
fi
OpenGL
X Pencere sisteminin a� �zelikleri olduk�a iyi olmas�na kar��n,
a� �zerinden a� protokol� yard�m�yla g�nderilen resimler biraz yava� gelmektedir.
Normalde �ok fazla bir fark hissetmeyeceksiniz.
Grafik a��rl�kl� oyunlar gibi, grafik a��rl�kl� programlar, genellikle OpenGL
(Open Graphics Library) ve GLX (OpenGL Extension to the X Window System, X
Pencere sisteminin OpenGL geni�lemesi) kullanmaktad�r. Bu grafik k�t�phaneleri,
ekran kart�n�z�n 3B (3D, �� boyutlu) �zelliklerini do�rudan ve donan�ma ba�l�
kalmaks�z�n kullanman�za olanak veren, uygulama geli�tirme aray�z�
sa�lamaktad�r. Yani, uygulama �izmek istedi�i nesnenin �zelliklerini ekran
kart�na, noktalar, �izgiler ve alanlar olarak g�ndermekte ve resmin
olu�turulmas� ekran kart�n�z�n donan�m� taraf�ndan yap�lmaktad�r. Bu �ok h�zl�
�izim olana�� vermektedir.
�u an i�in Linux alt�ndaki bir�ok grafik s�r�c�s� (X sunucusu) ekran kart�
uzaktaki uygulamalar i�in, ekran kart� don�m�n� taraf�ndan h�zland�r�lm�� GLX/OpenGL
deste�i i�ermemektedir. Bunun ektisi, uzaktan �al��t�rd���n�z OpenGL
uygulamalar�n�n �ok yava� �al��malar� veya hi� �al��mamalar�d�r. NVidia'n�n
en son s�r�c�leri istisna olu�turmaktad�r. Bunlar, kendi i�inde do�rudan
ugulamalar i�in, do�rudan resim olu�turma aray�z� desteklemektedir.
Sonu�
X11 kullanarak a��n�z�n g�c�nden �ok kolay bir �ekilde yararlanabilirsiniz.
Uzaktaki uygulamalar ile, sanki yerel bilgisayar�n�zdakiler gibi
�al��abilirsiniz. G�zleyece�iniz tek fark, dosya ve ev dizinizin uzaktaki
bilgisayarda yer alanlar olmas�d�r. Ancak, NIS ve NFS sayesinde bu ufak fark�
bile gizlemek ve a��n�zda yer alan en g��l� bilgisayar�n g�c�nden yararlanman�z
m�mk�nd�r.
Ba�lant�lar
X11 system, x.org
xfree86.org Linux ile kullan�lan X11 sistemi.
Linux
Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz
Her yaz� kendi g�r�� bildirim sayfas�na sahiptir. Bu sayfaya yorumlar�n�z� yazabilir ve di�er okuyucular�n yorumlar�na bakabilirsiniz.
2002-01-11, generated by lfparser version 2.21