X aplikacije na daljinu mini-KAKO
Vincent Zweije,
[email protected]
19. studenog 1999.
Ovaj mini-KAKO opisuje kako pokretati udaljene X aplikacije. To jest,
kako prikazati X program na drugom ra�unalu, a ne onom na kojem radi.
Ili obratno: kako natjerati X program da radi na drugom ra�unalu, a ne
onom pred kojim sjedite. Ovaj mini-KAKO usredoto�en je na sigurnost.
Tako�er sadr�i informacije o lokalnom pokretanju X aplikacija, ali kao
drugi korisnik.
______________________________________________________________________
Sadr�aj
1. Uvod
2. Povezani dokumenti
3. Prizor
4. Malo teorije
5. Obja�njavanje klijentu
6. Obja�njavanje serveru
6.1 xhost
6.2 xauth
6.2.1 Pripremanje kola�i�a
6.2.2 Preno�enje kola�i�a
6.2.3 Kori�tenje kola�i�a
6.3 ssh
7. X aplikacije pod drugom korisni�kom oznakom
7.1 Razli�iti korisnici na istom ra�unalu
7.2 Korisnik klijenta je root
8. Pokretanje window managera na daljinu
9. Problemi
10. Hrvatski prijevod
______________________________________________________________________
11.. UUvvoodd
Ovo je (ili bi trebao biti) vodi� u pokretanju X aplikacija preko
mre�e. Usredoto�en je na sigurnost. Napisao sam ga iz nekoliko
razloga.
1. Na USENET-u se stalno pojavljuju pitanja o pokretanju udaljenih X
aplikacija.
2. Vidim mnogo, mnogo preporuka za kori�tenje xhost +ra�unalo ili �ak
xhost + kako bi se omogu�ile X veze. NNjjiihhoovvaa ssiigguurrnnoosstt jjee ssmmiijjee��nnaa,
a ima boljih na�ina.
3. Ne znam za jednostavan dokument koji opisuje ttee na�ine. Ako vi
znate, obavijestite me na
[email protected].
Ovaj dokument napisan je za Unix-olike sustave. I ako je va� lokalni
ili udaljeni operacijski sustav ne�to drugo, ovdje �ete shvatiti kako
stvari rade. Me�utim, primjere �ete morati prevesti tako da odgovaraju
va�em operacijskom sustavu.
Najnovija verzija ovog dokumenta uvijek se mo�e dobiti WWW-om na
<
http://www.xs4all.nl/~zweije/xauth.html>. Tako�er je dostupna kao
_L_i_n_u_x _R_e_m_o_t_e _X _A_p_p_s _m_i_n_i_-_H_O_W_T_O na
<
http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps>. Linux
(mini-)HOWTO-i dostupni su HTTP-om ili FTP-om sa sunsite.unc.edu.
Ovo je verzija 0.6.1. Nema jamstava, samo dobre namjere. Rado primam
prijedloge, ideje, dodatke, korisne pokaziva�e, (pravopisne) ispravke,
itd.... �elim da ovaj dokument ostane jednostavan i �itljiv, u
najboljem KAKO stilu. Flejmovi u /dev/null.
Sadr�aj zadnji put osvje�io Vincent Zweije
<
http://www.xs4all.nl/~zweije/index.html> 19. studenog 1999.
22.. PPoovveezzaannii ddookkuummeennttii
Kevin Kenny je napisao srodan dokument, _W_h_a_t _t_o _d_o _w_h_e_n _T_k _s_a_y_s _t_h_a_t
_y_o_u_r _d_i_s_p_l_a_y _i_s _i_n_s_e_c_u_r_e (�to u�initi kad Tk ka�e da je va� prikaz
nesiguran). Nalazi se na <
http://ce-toolkit.crd.ge.com/tkxauth/>.
Predla�e sli�no rje�enje X autorizaciji (xauth). No Kevin se vi�e
usmjerio na olak�avanje uporabe xautha preko xdma.
Tako�er sam obavje�ten da je dobar izvor informacija _T_h_e _X _S_y_s_t_e_m
_W_i_n_d_o_w _S_y_s_t_e_m _V_o_l_. _8 _X _W_i_n_d_o_w _S_y_s_t_e_m _A_d_m_i_n_i_s_t_r_a_t_o_r_'_s _G_u_i_d_e kojeg je
izdao O'Reilly and Associates. Na�alost, nisam uspio provjeriti.
I jo� jedan dokument vrlo sli�an onom kojeg �itate, naslova _S_e_c_u_r_i_n_g _X
_W_i_n_d_o_w_s, mo�e se na�i na
<
http://ciac.llnl.gov/ciac/documents/ciac2316.html>.
Tako�er pogledajte usenet grupe kao �to je comp.windows.x,
comp.os.linux.x i comp.os.linux.networking.
33.. PPrriizzoorr
Koristite dva ra�unala. Na prvom gledate i tipkate u X Window System.
Na drugom obavljate neke va�ne grafi�ke poslove. Ho�ete da drugo
rezultate poka�e na prvom. X Window System to �ini mogu�im.
Naravno, prvo vam treba veza izme�u njih. I to �to br�a; X protokol
u�asno je zahtjevan. Ali, uz malo strpljenja i odgovaraju�e sa�imanje
prokola, aplikacije mo�ete pokretati i preko modema. Ako vas zanima
kompresija X protokola, pogledajte dxpc,
<
http://ccwf.cc.utexas.edu/~zvonler/dxpc/> ili LBX,
<
http://www.ultranet.com/~pauld/faqs/LBX-HOWTO.html> (tako�er poznat
kao _L_B_X _m_i_n_i_-_H_O_W_T_O <
http://sunsite.unc.edu/LDP/HOWTO/mini/LBX>).
Za sve to trebate napraviti dvije stvari:
1. Re�i lokalnom prikazu (serveru) da prihva�a veze s udaljenog
ra�unala.
2. Re�i udaljenoj aplikaciji (klijentu) da se poka�e na va�em prikazu.
44.. MMaalloo tteeoorriijjee
�arobna je rije� DISPLAY (prikaz). Na X Window Systemu zaslon se
(pojednostavljeno) sastoji od tipkovnice, mi�a i zaslona. O prikazu se
brine program poznat kao X server. Server sposobnost prikaza daje
drugim programima koji su na njega spojeni.
Prikaz ima svoje ime, kao �to je:
� DISPLAY=svemir.svjet.la:0
� DISPLAY=localhost:4
� DISPLAY=:0
Ono se sastoji od imena ra�unala (kao �to je svemir.svjet.la ili
localhost), dvoto�ke (:) i nastavka (kao �to je 0 ili 4). Ime ra�unala
ozna�ava ra�unalo na kojem X server radi. Ako nije navedeno, misli se
na lokalni stroj. Nastavak je obi�no 0 --- on se mijenja ako je na
jednom ra�unalu vi�e prikaza.
Ako ikad naletite na ime prikaza koje zavr�ava na .b, to je broj
zaslona. Prikaz zapravo mo�e imati i vi�e zaslona. No obi�no postoji
samo jedan, s brojem 0.
Ima i drugih oblika DISPLAY-a, ali ovo je dovoljno za na�e potrebe.
Za tehni�ki radoznale:
� imera�unala:P.Z zna�i zaslon Z na prikazu P ra�unala imera�unala; X
server za taj prikaz slu�a na TCP portu 6000+P.
� ra�unalo/unix:P.Z zna�i zaslon Z na prikazu P ra�unala ra�unalo; X
server za taj prikaz slu�a na UNIX domain socketu /tmp/.X11-unix/XP
(pa je dostupan samo s ra�unala ra�unalo).
� :P.Z je isto �to i ra�unalo/unix:P.Z, gdje je ra�unalo ime lokalnog
ra�unala.
55.. OObbjjaa��nnjjaavvaannjjee kklliijjeennttuu
Program klijent (va�a grafi�ka aplikacija, na primjer) saznaje na koji
�e se prikaz spojiti preko DISPLAY varijable okru�ja. Nju mo�ete
nadja�ati davanjem argumenta -display ra�unalo:0 pri pokretanju
programa. Malo primjera razjasnit �e stvari.
Jedno ra�unalo poznato je kao svemir, a mi smo u domeni svjet.la. Ako
radimo na normalnom X serveru, prikaz se zove svemir.svjet.la:0.
�elimo pokrenuti xfig, program za crtanje, na udaljenom ra�unalu, koje
se zove crna.ru.pa, i prikazati ga ovdje, na svemir-u.
Ako na udaljenom ra�unalu radite u cshu:
crna% setenv DISPLAY svemir.svjet.la:0
crna% xfig &
Ili:
crna% xfig -display svemir.svjet.la:0 &
Ako na udaljenom ra�unalu radite u shu:
crna$ DISPLAY=svemir.svjet.la:0
crna$ export DISPLAY
crna$ xfig &
Ili:
dark$ DISPLAY=svemir.svjet.la:0 xfig &
Ili, naravno:
dark$ xfig -display svemir.svjet.la:0 &
Izgleda da neke verzije telneta varijablu DISPLAY automatski prenose
na udaljeno ra�unalo. Ako imate jedan od njih, imate sre�e i ne morate
ni�ta raditi. Ako nemate, ve�ina verzija telneta prenose TERM
varijablu okru�ja; uz malo petljanja mogu�e je priljepiti DISPLAY na
varijablu TERM.
Zamisao priljepljivanja je da pomo�u neke skripte postignete
slijede�e: prije telneta verijabli TERM dodajte vrijednost varijable
DISPLAY. Zatim pokrenite telnet. Na drugom kraju veze, u odgovaraju�oj
.*shrc datoteci pro�itajte vrijednost DISPLAY iz TERM.
66.. OObbjjaa��nnjjaavvaannjjee sseerrvveerruu
Server ne prihva�a veze od bilo kamo. Ne �elite da svi prikazuju
prozore na va�em zaslonu. Ili �itaju ono �to tipkate --- nemojte
zaboraviti da je tipkovnica dio prikaza!
�ini se da premalo ljudi shva�a da je dopu�tanje pristupa prikazu
sigurnosni rizik. Netko tko mo�e pristupiti va�em prikazu mo�e �itati
i mijenjati va�e ekrane, �itati va�e tipke i pratiti kretanje mi�a.
Ve�ina servera poznaje dva na�ina autorizacije veza: mehanizam popisa
ra�unala (xhost) i mehanizam �arobnih rije�i (xauth). Tu je i ssh,
sigurna ljuska, koji mo�e prenositi X veze.
66..11.. xxhhoosstt
xhost dopu�ta pristup na osnovu imena ra�unala. Server ima popis
ra�unala koja se na njega smiju spojiti. Provjeru ra�unala mo�e i
potpuno isklju�iti. Pa�nja: to zna�i da provjera nema, pa se mo�e
spojiti bbiilloo kkoojjee ra�unalo!
Serverov popis ra�unala kontrolirate programom xhost. U prethodnom
primjeru u�inite ovo:
svemir$ xhost +crna.ru.pa
Ovo dopu�ta sve veze s ra�unala crna.ru.pa. �im se va� X klijent spoji
i prika�e prozor, radi sigurnosti onemogu�ite daljnja povezivanja
pomo�u:
svemir$ xhost -crna.ru.pa
Provjeru ra�unala mo�ete ugasiti s:
svemir$ xhost +
Tako se isklju�uje provjera pristupa �to omogu�uje ssvviimmaa da se spoje.
Ovo nniikkaadd nemojte napraviti na mre�i na kojoj ne vjerujete ssvviimm
korisnicima (kao �to je Internet). Ponovo uklju�ite provjeru ra�unala
pomo�u:
svemir$ xhost -
xhost - sam po sebi nnee��ee izbrisati sva ra�unala iz popisa pristupa (to
bi bilo prili�no beskorisno --- ne biste se mogli spojiti od bilo
gdje, �ak ni sa svog lokalnog ra�unala).
xxhhoosstt jjee vvrrlloo nneessiigguurraann mmeehhaanniizzaamm.. Ne razlikuje pojedine korisnike na
udaljenom ra�unalu. Tako�er, imena ra�unala (zapravo adrese) mogu se
krivotvoriti. To je lo�e ako ste na neprovjerenoj mre�i (na primjer
ve� i PPP pristupom na Internet).
66..22.. xxaauutthh
xauth omogu�ava pristup svakome tko zna pravu tajnu. Takva tajna zove
se autorizacijski zapis, odnosno �arobni kola�i�. Taj na�in
autorizacije formalno se zove MIT-MAGIC-COOKIE-1.
Kola�i�i za razne prikaze spremljeni su zajedno u /.Xauthority/.
Kola�i�ima se bavi program xauth, odakle dolazi i nadimak ove sheme.
Va�em /.Xauthority ne smiju mo�i pristupiti drugi korisnici.
Na po�etku rada server �e pro�itati kola�i� iz datoteke navedene uz
argument -auth. Nakon toga, server dopu�ta veze samo onim klijentima
koji znaju isti kola�i�. Kada se kola�i� u /.Xauthority promijeni,
sseerrvveerr nnee��ee pprriihhvvaattiittii pprroommjjeennuu.
Noviji serveri kola�i�e mogu generirati u hodu za klijente koji to
zatra�e. No kola�i�i su jo� uvijek pohranjeni u serveru; ne
zavr�avaju u /.Xauthority, osim ako ih klijent tamo stavi. Prema
Davidu Wigginsu:
U X11R6.3 dodana je jo� jedna mogu�nost koja bi vas mogla
zanimati. Preko novog pro�irenja SECURITY sam X server mo�e
generirati i vra�ati kola�i�e u hodu. Tako�er, kola�i�i se
mogu odrediti ``nepovjerljivima'' tako da su aplikacije koje
se spajaju s takvim kola�i�ima ograni�ene u svom djelovanju.
Na primjer, ne�e mo�i krasti ulaz s tipkovnice/mi�a ili
sadr�aj prozora od drugih, povjerljivih klijenata. xauthu je
dodana nova podnaredba generate kako bi ta mogu�nost bila
barem iskoristiva, ako ne jednostavna.
xauth ima jasnu sigurnosnu prednost nad xhostom. Mo�ete ograni�iti
pristup na odre�ene korisnike na odre�enim ra�unalima. Nije ranjiv na
krivotvorene adrese kao xhost. A ako �elite, mo�ete ga koristiti
zajedno s xhostom za dopu�tanje veza.
66..22..11.. PPrriipprreemmaannjjee kkoollaa��ii��aa
Ako �elite koristiti xauth, X server morate pokrenuti s argumentom
-auth datoteka. Ako X server pokre�ete skriptom startx, tamo je pravo
mjesto za to. Ovako pripremite svoj autorizacijski zapis u svojoj
startx skripti.
Izvadak iz /usr/X11R6/bin/startx:
mcookie|sed -e 's/^/add :0 . /'|xauth -q
xinit -- -auth "$HOME/.Xauthority"
mcookie je program�i� iz paketa util-linux koji se distribuira s
<
ftp://ftp.math.uio.no/pub/linux/>. Mo�ete koristiti i md5sum za
pretvaranje nekih slu�ajnih podataka (na primjer, iz /dev/urandom ili
ps -axl) u format kola�i�a:
dd if=/dev/urandom count=1|md5sum|sed -e 's/^/add :0 . /'|xauth -q
xinit -- -auth "$HOME/.Xauthority"
Ako ne mo�ete promijeniti startx skriptu (jer niste root), neka to
u�ini va� administrator, ili neka postavi xdm. Ako ne�e ili ne �eli,
mo�ete napraviti /.xserverrc skriptu. Ako ona postoji, umjesto pravog
X servera pokre�e ju xinit. Tako iz te skripte mo�ete pokretati pravi
X server s potrebnim argumentima. Da bi to radilo, stavite gornji
primjer u svoj /.xserverrc za stvaranje kola�i�a, a zatim izvr�ite
pravi X server:
#!/bin/sh
mcookie|sed -e 's/^/add :0 . /'|xauth -q
exec /usr/X11R6/bin/X "$@" -auth "$HOME/.Xauthority"
Ako za rad sa X-om koristite xdm, xauth mo�ete lako koristiti.
Definirajte DisplayManager.authDir u /etc/X11/xdm/xdm-config. xdm �e
argument -auth prenijeti X serveru kada ga bude pokretao. Kada se
logirate preko xdma, on za vas kola�i� stavlja u va� /.Xauthority. Za
vi�e informacija pogledajte man stranicu _x_d_m(1). Na primjer, moj
/etc/X11/xdm/xdm-config sadr�i ovaj red:
DisplayManager.authDir: /var/lib/xdm
66..22..22.. PPrreennoo��eennjjee kkoollaa��ii��aa
Sad, kad ste po�eli rad u X-u na poslu�itelju svemir.svjet.la i svoj
kola�i� imate u /.Xauthority, trebate prenijeti kola�i� klijentu
crna.ru.pa.
To je najjednostavnije ako se va� home direktorij dijeli izme�u crna i
svemir. /.Xauthority datoteke su jednake, pa se kola�i� prenosi
automatski. Me�utim, tu je zamka: kada u /.Xauthority stavite kola�i�
za :0, crna �e misliti da je to kola�i� za njega, a ne za svemir. Kod
stvaranja kola�i�a morate koristiti eksplicitno ime ra�unala; ne
mo�ete ga izostaviti. Isti kola�i� za :0 i svemir:0 mo�ete instalirati
pomo�u:
#!/bin/sh
cookie=`mcookie`
xauth add :0 . $cookie
xauth add "$HOST:0" . $cookie
exec /usr/X11R6/bin/X "$@" -auth "$HOME/.Xauthority"
Ako se home direktoriji ne dijele, kola�i� mo�ete prenijeti pomo�u
rsha, udaljene ljuske:
svemir$ xauth nlist "${HOST}:0" | rsh crna.ru.pa xauth nmerge -
�to �e re�i:
1. Izvuci kola�i� iz lokalnog /.Xauthority (xauth nlist :0).
2. Prenesi ga na crna.ru.pa (| rsh crna.ru.pa).
3. Stavi ga u tamo�nji ~/.Xauthority (xauth nmerge -).
Primijetite kako se koristi ${HOST}. Morate prenijeti kola�i� izri�ito
povezan s lokalnim ra�unalom. Udaljena X aplikacija bi mislila da se
ime prikaza :0 odnosi na udaljeno ra�unalo, a to nije ono �to �elite!
Mogu�e je da rsh ne�e raditi. Osim toga, rsh ima i sigurnosnih mana
(opet la�na imena ra�unala, ako se dobro sje�am). Ako ne mo�ete ili ne
�elite koristiti rsh, kola�i� mo�ete prenijeti i ru�no, na primjer
ovako:
svemir$ echo $DISPLAY
:0
svemir$ xauth list $DISPLAY
svemir/unix:0 MIT-MAGIC-COOKIE-1 076aaecfd370fd2af6bb9f5550b26926
svemir$ rlogin crna.ru.pa
Password:
crna% setenv DISPLAY svemir.svjet.la:0
crna% xauth add $DISPLAY . 076aaecfd370fd2af6bb9f5550b26926
crna% xfig &
[15332]
crna% logout
svemir$
Za vi�e informacija tako�er pogledajte man stranice za _r_s_h(1) i
_x_a_u_t_h(1x).
Prijedlog: mo�da bi bilo mogu�e priljepiti kola�i� TERM ili DISPLAY
varijabli prilikom telneta na udaljeno ra�unalo. To bi i�lo na isti
na�in kao i priljepljivanje DISPLAY varijable na TERM varijablu.
Pogledajte poglavlje ``Obja�njavanje klijentu''. Tu �ete se morati
sami sna�i, ali me zanima mo�e li netko ovo potvrditi ili pore�i.
66..22..33.. KKoorrii��tteennjjee kkoollaa��ii��aa
X aplikacija na crna.ru.pa, u primjeru xfig, automatski �e u
/.Xauthority potra�iti kola�i� i njime se autentificirati.
Postoji mala komplikacija kod kori�tenja localhost:P. X klijent
aplikacije mogu kod tra�enja kola�i�a prevesti localhost:P u
ra�unalo/unix:P. Konkretno, to zna�i da kola�i� za localhost:P u va�em
/.Xauthority nema nniikkaakkvvoogg u�inka.
66..33.. sssshh
Zapisi o autoritetu prenose se bez enkripcije. Ako ste zabrinuti da bi
netko mogao prislu�kivati va�e veze, koristite ssh, sigurnu ljusku.
Proslije�ivat �e X preko enkriptiranih veza. Osim toga, odli�na je i
za druge stvari. Dobra je strukturalna nadogradnja va�eg sustava.
Samo posjetite <
http://www.cs.hut.fi/ssh/>, ssh-ovu WWW stranicu.
Tko jo� zna ne�to o autorizacijskim metodama ili enkriptiranju X veza?
Mo�da Kerberos?
77.. XX aapplliikkaacciijjee ppoodd ddrruuggoomm kkoorriissnnii��kkoomm oozznnaakkoomm
Recimo da �elite pokrenuti grafi�ki konfiguracijski alat koji
zahtijeva root privilegije. Me�utim, va�a X sesija radi pod va�im
obi�nim ra�unom. Mo�da �e vam se isprva �initi �udno, ali X server
nnee��ee alatu dozvoliti da pristupa va�em prikazu. Kako je to mogu�e kada
root obi�no mo�e u�initi sve? I kako mo�ete zaobi�i ovaj problem?
Poop�imo situaciju: �elite pokrenuti X aplikaciju pod korisni�kom
oznakom korisnikklijenta, a X sesiju je pokrenuo korisnikservera. Ako
ste pro�itali poglavlje o kola�i�ima, jasno vam je za�to
korisnikklijenta ne mo�e pristupiti va�em prikazu:
korisnikklijenta/.Xauthority ne sadr�i pravi �arobni kola�i� za
pristupanje prikazu. Pravi kola�i� se nalazi u
korisnikservera/.Xauthority.
77..11.. RRaazzllii��iittii kkoorriissnniiccii nnaa iissttoomm rraa��uunnaalluu
Naravno, sve �to radi za X na daljinu tako�er radi i za razli�ite
korisnike (pogotovo slogin localhost -l korisnikklijenta). Jedina je
razlika u tome �to su ra�unalo klijenta i ra�unalo servera jedno te
isto. I budu�i da se radi o istom ra�unalu, postoje neke pre�ice u
preno�enju �arobnog kola�i�a.
Pretpostavit �emo da za prebacivanje izme�u korisnika koristite su. U
biti, ono �to morate u�initi je napisati skriptu koja �e zvati su,
okru�uju�i naredbu koju su izvr�ava s kodom koji obavlja stvari
potrebne za X na daljinu. Te potrebne stvari su postavljanje varijable
DISPLAY i preno�enje �arobnog kola�i�a.
Postavljanje varijable DISPLAY je relativno jednostavno; dovoljno je
navesti DISPLAY="$DISPLAY" prije pokretanja naredbe. Dakle, mogli
biste jednostavno u�initi ovo:
su - korisnikklijenta -c "env DISPLAY=$DISPLAY programklijent &"
To jo� uvijek ne radi jer nismo prenijeli i kola�i�. Kola�i� mo�emo
saznati pomo�u xauth list "$DISPLAY". Ta naredba kola�i� ispisuje u
formatu koji xauth prihva�a kao argument; to�no ono �to nam treba!
Tako �emo dobiveni kola�i� zadati naredbi xauth unutar su naredbe,
tamo postaviti DISPLAY i pokrenuti naredbu koja nam je potrebna.
su - korisnikklijenta -c "xauth add `xauth list $DISPLAY`; \
exec env DISPLAY=$DISPLAY programklijent"
Oko ovoga mo�ete napisati skriptu koja �e korisnikklijenta i
programklijent prihva�ati kao parametre. Kad smo ve� kod toga, skriptu
�emo malo pobolj�ati, �ine�i je manje �itljivom, ali robusnijom. Ona
izgleda ovako:
#!/bin/sh
if [ $# -lt 2 ]
then echo "Kori�tenje: `basename $0` korisnikklijenta naredba" >&2
exit 2
fi
KORISNIKKLIJENTA="$1"; shift
exec su - "$KORISNIKKLIJENTA" \
-c "xauth add `xauth list \"$DISPLAY\"`; \
exec env DISPLAY='$DISPLAY' "'"$SHELL"'" -c '$*'"
Mislim da je to portabilno i da radi dobro u ve�ini slu�ajeva. Jedini
nedostatak kojeg se sada mogu sjetiti je da �e zbog kori�tenja '$*'
jednostruki navodnici u argumentu naredba zeznuti navo�enje u
argumentima naredbe. Ako je ne�to ozbiljno krivo, javite mi.
Tu skriptu nazovite /usr/local/bin/xsu, pa mo�ete raditi ovo:
xsu korisnikklijenta 'naredba &'
Lako, zar ne?
77..22.. KKoorriissnniikk kklliijjeennttaa jjee rroooott
O�ito, sve �to radi za ne-root korisnike radit �e i za roota. Me�utim,
za roota su stvari jo� jednostavnije jer root mo�e �itati bilo �iji
/.Xauthority. Nema potrebe za preno�enjem kola�i�a. Sve �to trebate
je postaviti DISPLAY, te postaviti XAUTHORITY na
korisnikservera/.Xauthority. Dakle:
su - -c "exec env DISPLAY='$DISPLAY' \
XAUTHORITY='${XAUTHORITY-$HOME/.Xauthority}' \
naredba"
Skripta koja to radi izgledala bi otprilike ovako:
#!/bin/sh
if [ $# -lt 1 ]
then echo "Kori�tenje: `basename $0` naredba" >&2
exit 2
fi
su - -c "exec env DISPLAY='$DISPLAY' \
XAUTHORITY='${XAUTHORITY-$HOME/.Xauthority}' \
"'"$SHELL"'" -c '$*'"
Tu skriptu nazovite /usr/local/bin/xroot, pa mo�ete raditi ovo:
xroot 'control-panel &'
Jo� lak�e, zar ne?
88.. PPookkrreettaannjjee wwiinnddooww mmaannaaggeerraa nnaa ddaalljjiinnuu
Window manager (kao �to je twm, wmaker, ili fvwm95) je aplikacija ba�
kao i svaka druga. Trebao bi raditi uobi�ajeni postupak.
Pa, skoro. U bilo koje vrijeme na jednom prikazu mo�e raditi najvi�e
jedan window manager. Ako ve� radite u lokalnom window manageru, ne
mo�ete pokrenuti udaljeni (po�alit �e se i zavr�iti). Najprije morate
ubiti (ili jednostavno ugasiti) lokalni window manager.
Na�alost, mnoge skripte za X sesiju zavr�avaju s
exec izabrani-window-manager
�to zna�i da va�a sesija zavr�ava �im (lokalni) window manager zavr�i,
nakon �ega ju X sustav smatra gotovom i odlogira vas.
Morate prije�i nekoliko dodatnih zapreka, ali to nije nemogu�e i nije
prete�ko. Jednostavno se igrajte svojom skriptom sesije (obi�no
/.xsession ili /.xinitrc) kako biste ju natjerali da radi ono �to
�elite.
Budite svjesni da window manager �esto nudi na�ine pokretanja novih
programa i da �e oni biti pokrenuti na lokalnom stroju. To jest, na
onom stroju na kojem radi window manager. Ako radite na udaljenom
window manageru, pokretat �e udaljene aplikacije, a to mo�da nije ono
�to �elite. Naravno, one �e se i dalje prikazivati na va�em lokalnom
prikazu.
99.. PPrroobblleemmii
Kada prvi put pokrenete udaljenu X aplikaciju, obi�no ne radi. Evo
nekoliko �estih gre�aka, njihovih vjerojatnih uzroka, te rje�enja koja
bi vam mogla pomo�i.
xterm Xt error: Can't open display:
U okru�ju nema DISPLAY varijable, a niste ga naveli aplikaciji ni
preko argumenta -display. Aplikacija pretpostavlja prazan niz, ali to
je sintakti�ki nepravilno. Da bi ovo rje�ili, provjerite da je
varijabla DISPLAY to�no postavljena (pomo�u setenv ili export, ovisno
o va�oj ljusci).
_X11TransSocketINETConnect: Can't connect: errno = 101
xterm Xt error: Can't open display: crna.ru.pa:0
Broj gre�ke 101 zna�i ``Mre�a je nedostupna''. Aplikacija nije mogla
uspostaviti mre�nu vezu sa serverom. Provjerite da li je DISPLAY to�an
i da se do ra�unala servera mo�e do�i s klijenta (trebalo bi se mo�i,
ipak ste vjerojatno logirani na server i telnetom pristupate
klijentu).
_X11TransSocketINETConnect: Can't connect: errno = 111
xterm Xt error: Can't open display: crna.ru.pa:0
Broj gre�ke 111 zna�i ``Veza odbijena''. Spajanje na ra�unalo server
je uspjelo, ali tamo navedeni server ne postoji. Provjerite da li
koristite pravo ime i broj prikaza.
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
xterm Xt error: Can't open display: crna.ru.pa:0.0
Klijent se povezao sa serverom, ali server mu ne dopu�ta kori�tenje
(nije autoriziran). Provjerite da li ste klijentu prenijeli pravi
�arobni kola�i� i da on nije istekao (server uzima novi kola�i� kod
svakog pokretanja).
1100.. HHrrvvaattsskkii pprriijjeevvoodd
Najnovija verzija ovog prijevoda mo�e se na�i na
<
http://dokumentacija.linux.hr/X-na-daljinu.html>. Odr�ava ga Matej
Vela,
[email protected]. Svi su prilozi, primjedbe i prijedlozi
dobrodo�li.