  X aplikacije na daljinu mini-KAKO
  Vincent Zweije, zweije@xs4all.nl
  19. studenog 1999.

  Ovaj mini-KAKO opisuje kako pokretati udaljene X aplikacije. To jest,
  kako prikazati X program na drugom raunalu, a ne onom na kojem radi.
  Ili obratno: kako natjerati X program da radi na drugom raunalu, a ne
  onom pred kojim sjedite. Ovaj mini-KAKO usredotoen je na sigurnost.
  Takoer sadri informacije o lokalnom pokretanju X aplikacija, ali kao
  drugi korisnik.

  ______________________________________________________________________

  Sadraj


  1. Uvod

  2. Povezani dokumenti

  3. Prizor

  4. Malo teorije

  5. Objanjavanje klijentu

  6. Objanjavanje serveru

     6.1 xhost
     6.2 xauth
        6.2.1 Pripremanje kolaia
        6.2.2 Prenoenje kolaia
        6.2.3 Koritenje kolaia
     6.3 ssh

  7. X aplikacije pod drugom korisnikom oznakom

     7.1 Razliiti korisnici na istom raunalu
     7.2 Korisnik klijenta je root

  8. Pokretanje window managera na daljinu

  9. Problemi

  10. Hrvatski prijevod

  ______________________________________________________________________



  11..  UUvvoodd

  Ovo je (ili bi trebao biti) vodi u pokretanju X aplikacija preko
  mree.  Usredotoen 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 koritenje xhost +raunalo ili ak
     xhost + kako bi se omoguile X veze. NNjjiihhoovvaa ssiigguurrnnoosstt jjee ssmmiijjeennaa,
     a ima boljih naina.

  3. Ne znam za jednostavan dokument koji opisuje ttee naine. Ako vi
     znate, obavijestite me na zweije@xs4all.nl.
  Ovaj dokument napisan je za Unix-olike sustave. I ako je va lokalni
  ili udaljeni operacijski sustav neto drugo, ovdje ete shvatiti kako
  stvari rade. Meutim, primjere ete morati prevesti tako da odgovaraju
  vaem operacijskom sustavu.

  Najnovija verzija ovog dokumenta uvijek se moe dobiti WWW-om na
  <http://www.xs4all.nl/~zweije/xauth.html>. Takoer 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 pokazivae, (pravopisne) ispravke,
  itd.... elim da ovaj dokument ostane jednostavan i itljiv, u
  najboljem KAKO stilu. Flejmovi u /dev/null.

  Sadraj zadnji put osvjeio Vincent Zweije
  <http://www.xs4all.nl/~zweije/index.html> 19. studenog 1999.


  22..  PPoovveezzaannii ddookkuummeennttii

  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 uiniti kad Tk kae da je va prikaz
  nesiguran).  Nalazi se na  <http://ce-toolkit.crd.ge.com/tkxauth/>.
  Predlae slino rjeenje X autorizaciji (xauth). No Kevin se vie
  usmjerio na olakavanje uporabe xautha preko xdma.

  Takoer sam obavjeten 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. Naalost, nisam uspio provjeriti.

  I jo jedan dokument vrlo slian onom kojeg itate, naslova _S_e_c_u_r_i_n_g _X
  _W_i_n_d_o_w_s, moe se nai na
  <http://ciac.llnl.gov/ciac/documents/ciac2316.html>.

  Takoer pogledajte usenet grupe kao to je comp.windows.x,
  comp.os.linux.x i comp.os.linux.networking.


  33..  PPrriizzoorr

  Koristite dva raunala. Na prvom gledate i tipkate u X Window System.
  Na drugom obavljate neke vane grafike poslove. Hoete da drugo
  rezultate pokae na prvom. X Window System to ini moguim.

  Naravno, prvo vam treba veza izmeu njih. I to to bra; X protokol
  uasno je zahtjevan. Ali, uz malo strpljenja i odgovarajue saimanje
  prokola, aplikacije moete 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> (takoer 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. Rei lokalnom prikazu (serveru) da prihvaa veze s udaljenog
     raunala.

  2. Rei udaljenoj aplikaciji (klijentu) da se pokae na vaem prikazu.


  44..  MMaalloo tteeoorriijjee

  arobna je rije DISPLAY (prikaz). Na X Window Systemu zaslon se
  (pojednostavljeno) sastoji od tipkovnice, mia 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 raunala (kao to je svemir.svjet.la ili
  localhost), dvotoke (:) i nastavka (kao to je 0 ili 4). Ime raunala
  oznaava raunalo na kojem X server radi. Ako nije navedeno, misli se
  na lokalni stroj. Nastavak je obino 0 --- on se mijenja ako je na
  jednom raunalu vie prikaza.

  Ako ikad naletite na ime prikaza koje zavrava na .b, to je broj
  zaslona. Prikaz zapravo moe imati i vie zaslona. No obino postoji
  samo jedan, s brojem 0.

  Ima i drugih oblika DISPLAY-a, ali ovo je dovoljno za nae potrebe.

  Za tehniki radoznale:


    imeraunala:P.Z znai zaslon Z na prikazu P raunala imeraunala; X
     server za taj prikaz slua na TCP portu 6000+P.

    raunalo/unix:P.Z znai zaslon Z na prikazu P raunala raunalo; X
     server za taj prikaz slua na UNIX domain socketu /tmp/.X11-unix/XP
     (pa je dostupan samo s raunala raunalo).

    :P.Z je isto to i raunalo/unix:P.Z, gdje je raunalo ime lokalnog
     raunala.


  55..  OObbjjaannjjaavvaannjjee kklliijjeennttuu

  Program klijent (vaa grafika aplikacija, na primjer) saznaje na koji
  e se prikaz spojiti preko DISPLAY varijable okruja. Nju moete
  nadjaati davanjem argumenta -display raunalo:0 pri pokretanju
  programa. Malo primjera razjasnit e stvari.

  Jedno raunalo 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 raunalu, koje
  se zove crna.ru.pa, i prikazati ga ovdje, na svemir-u.

  Ako na udaljenom raunalu radite u cshu:


  crna% setenv DISPLAY svemir.svjet.la:0
  crna% xfig &


  Ili:


  crna% xfig -display svemir.svjet.la:0 &



  Ako na udaljenom raunalu 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 raunalo. Ako imate jedan od njih, imate sree i ne morate
  nita raditi. Ako nemate, veina verzija telneta prenose TERM
  varijablu okruja; uz malo petljanja mogue je priljepiti DISPLAY na
  varijablu TERM.

  Zamisao priljepljivanja je da pomou neke skripte postignete
  slijedee: prije telneta verijabli TERM dodajte vrijednost varijable
  DISPLAY. Zatim pokrenite telnet. Na drugom kraju veze, u odgovarajuoj
  .*shrc datoteci proitajte vrijednost DISPLAY iz TERM.


  66..  OObbjjaannjjaavvaannjjee sseerrvveerruu

  Server ne prihvaa veze od bilo kamo. Ne elite da svi prikazuju
  prozore na vaem zaslonu. Ili itaju ono to tipkate --- nemojte
  zaboraviti da je tipkovnica dio prikaza!

  ini se da premalo ljudi shvaa da je doputanje pristupa prikazu
  sigurnosni rizik. Netko tko moe pristupiti vaem prikazu moe itati
  i mijenjati vae ekrane, itati vae tipke i pratiti kretanje mia.

  Veina servera poznaje dva naina autorizacije veza: mehanizam popisa
  raunala (xhost) i mehanizam arobnih rijei (xauth). Tu je i ssh,
  sigurna ljuska, koji moe prenositi X veze.


  66..11..  xxhhoosstt

  xhost doputa pristup na osnovu imena raunala. Server ima popis
  raunala koja se na njega smiju spojiti. Provjeru raunala moe i
  potpuno iskljuiti. Panja: to znai da provjera nema, pa se moe
  spojiti bbiilloo kkoojjee raunalo!

  Serverov popis raunala kontrolirate programom xhost. U prethodnom
  primjeru uinite ovo:


  svemir$ xhost +crna.ru.pa



  Ovo doputa sve veze s raunala crna.ru.pa. im se va X klijent spoji
  i prikae prozor, radi sigurnosti onemoguite daljnja povezivanja
  pomou:


  svemir$ xhost -crna.ru.pa
  Provjeru raunala moete ugasiti s:


  svemir$ xhost +



  Tako se iskljuuje provjera pristupa to omoguuje ssvviimmaa da se spoje.
  Ovo nniikkaadd nemojte napraviti na mrei na kojoj ne vjerujete ssvviimm
  korisnicima (kao to je Internet). Ponovo ukljuite provjeru raunala
  pomou:


  svemir$ xhost -



  xhost - sam po sebi nneeee izbrisati sva raunala iz popisa pristupa (to
  bi bilo prilino beskorisno --- ne biste se mogli spojiti od bilo
  gdje, ak ni sa svog lokalnog raunala).

  xxhhoosstt jjee vvrrlloo nneessiigguurraann mmeehhaanniizzaamm.. Ne razlikuje pojedine korisnike na
  udaljenom raunalu. Takoer, imena raunala (zapravo adrese) mogu se
  krivotvoriti. To je loe ako ste na neprovjerenoj mrei (na primjer
  ve i PPP pristupom na Internet).


  66..22..  xxaauutthh

  xauth omoguava pristup svakome tko zna pravu tajnu. Takva tajna zove
  se autorizacijski zapis, odnosno arobni kolai. Taj nain
  autorizacije formalno se zove MIT-MAGIC-COOKIE-1.

  Kolaii za razne prikaze spremljeni su zajedno u  /.Xauthority/.
  Kolaiima se bavi program xauth, odakle dolazi i nadimak ove sheme.
  Vaem  /.Xauthority ne smiju moi pristupiti drugi korisnici.

  Na poetku rada server e proitati kolai iz datoteke navedene uz
  argument -auth. Nakon toga, server doputa veze samo onim klijentima
  koji znaju isti kolai. Kada se kolai u  /.Xauthority promijeni,
  sseerrvveerr nneeee pprriihhvvaattiittii pprroommjjeennuu.

  Noviji serveri kolaie mogu generirati u hodu za klijente koji to
  zatrae.  No kolaii su jo uvijek pohranjeni u serveru; ne
  zavravaju u  /.Xauthority, osim ako ih klijent tamo stavi. Prema
  Davidu Wigginsu:

       U X11R6.3 dodana je jo jedna mogunost koja bi vas mogla
       zanimati. Preko novog proirenja SECURITY sam X server moe
       generirati i vraati kolaie u hodu. Takoer, kolaii se
       mogu odrediti ``nepovjerljivima'' tako da su aplikacije koje
       se spajaju s takvim kolaiima ograniene u svom djelovanju.
       Na primjer, nee moi krasti ulaz s tipkovnice/mia ili
       sadraj prozora od drugih, povjerljivih klijenata. xauthu je
       dodana nova podnaredba generate kako bi ta mogunost bila
       barem iskoristiva, ako ne jednostavna.


  xauth ima jasnu sigurnosnu prednost nad xhostom. Moete ograniiti
  pristup na odreene korisnike na odreenim raunalima. Nije ranjiv na
  krivotvorene adrese kao xhost. A ako elite, moete ga koristiti
  zajedno s xhostom za doputanje veza.




  66..22..11..  PPrriipprreemmaannjjee kkoollaaiiaa

  Ako elite koristiti xauth, X server morate pokrenuti s argumentom
  -auth datoteka. Ako X server pokreete 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 programi iz paketa util-linux koji se distribuira s
  <ftp://ftp.math.uio.no/pub/linux/>. Moete koristiti i md5sum za
  pretvaranje nekih sluajnih podataka (na primjer, iz /dev/urandom ili
  ps -axl) u format kolaia:

  dd if=/dev/urandom count=1|md5sum|sed -e 's/^/add :0 . /'|xauth -q
  xinit -- -auth "$HOME/.Xauthority"



  Ako ne moete promijeniti startx skriptu (jer niste root), neka to
  uini va administrator, ili neka postavi xdm. Ako nee ili ne eli,
  moete napraviti  /.xserverrc skriptu. Ako ona postoji, umjesto pravog
  X servera pokree ju xinit. Tako iz te skripte moete pokretati pravi
  X server s potrebnim argumentima. Da bi to radilo, stavite gornji
  primjer u svoj  /.xserverrc za stvaranje kolaia, a zatim izvrite
  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 moete 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 kolai stavlja u va  /.Xauthority. Za
  vie informacija pogledajte man stranicu _x_d_m(1). Na primjer, moj
  /etc/X11/xdm/xdm-config sadri ovaj red:

  DisplayManager.authDir: /var/lib/xdm




  66..22..22..  PPrreennooeennjjee kkoollaaiiaa

  Sad, kad ste poeli rad u X-u na posluitelju svemir.svjet.la i svoj
  kolai imate u  /.Xauthority, trebate prenijeti kolai klijentu
  crna.ru.pa.

  To je najjednostavnije ako se va home direktorij dijeli izmeu crna i
  svemir.  /.Xauthority datoteke su jednake, pa se kolai prenosi
  automatski. Meutim, tu je zamka: kada u  /.Xauthority stavite kolai
  za :0, crna e misliti da je to kolai za njega, a ne za svemir. Kod
  stvaranja kolaia morate koristiti eksplicitno ime raunala; ne
  moete ga izostaviti. Isti kolai za :0 i svemir:0 moete instalirati
  pomou:


  #!/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, kolai moete prenijeti pomou
  rsha, udaljene ljuske:

  svemir$ xauth nlist "${HOST}:0" | rsh crna.ru.pa xauth nmerge -



  to e rei:

  1. Izvuci kolai iz lokalnog  /.Xauthority (xauth nlist :0).

  2. Prenesi ga na crna.ru.pa (| rsh crna.ru.pa).

  3. Stavi ga u tamonji ~/.Xauthority (xauth nmerge -).

  Primijetite kako se koristi ${HOST}. Morate prenijeti kolai izriito
  povezan s lokalnim raunalom. Udaljena X aplikacija bi mislila da se
  ime prikaza :0 odnosi na udaljeno raunalo, a to nije ono to elite!

  Mogue je da rsh nee raditi. Osim toga, rsh ima i sigurnosnih mana
  (opet lana imena raunala, ako se dobro sjeam). Ako ne moete ili ne
  elite koristiti rsh, kolai moete prenijeti i runo, 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 vie informacija takoer pogledajte man stranice za _r_s_h(1) i
  _x_a_u_t_h(1x).

  Prijedlog: moda bi bilo mogue priljepiti kolai TERM ili DISPLAY
  varijabli prilikom telneta na udaljeno raunalo. To bi ilo na isti
  nain kao i priljepljivanje DISPLAY varijable na TERM varijablu.
  Pogledajte poglavlje ``Objanjavanje klijentu''. Tu ete se morati
  sami snai, ali me zanima moe li netko ovo potvrditi ili porei.


  66..22..33..  KKoorriitteennjjee kkoollaaiiaa

  X aplikacija na crna.ru.pa, u primjeru xfig, automatski e u
   /.Xauthority potraiti kolai i njime se autentificirati.

  Postoji mala komplikacija kod koritenja localhost:P. X klijent
  aplikacije mogu kod traenja kolaia prevesti localhost:P u
  raunalo/unix:P. Konkretno, to znai da kolai za localhost:P u vaem
   /.Xauthority nema nniikkaakkvvoogg uinka.

  66..33..  sssshh

  Zapisi o autoritetu prenose se bez enkripcije. Ako ste zabrinuti da bi
  netko mogao prislukivati vae veze, koristite ssh, sigurnu ljusku.
  Proslijeivat e X preko enkriptiranih veza. Osim toga, odlina je i
  za druge stvari.  Dobra je strukturalna nadogradnja vaeg sustava.
  Samo posjetite <http://www.cs.hut.fi/ssh/>, ssh-ovu WWW stranicu.

  Tko jo zna neto o autorizacijskim metodama ili enkriptiranju X veza?
  Moda Kerberos?


  77..  XX aapplliikkaacciijjee ppoodd ddrruuggoomm kkoorriissnniikkoomm oozznnaakkoomm

  Recimo da elite pokrenuti grafiki konfiguracijski alat koji
  zahtijeva root privilegije. Meutim, vaa X sesija radi pod vaim
  obinim raunom. Moda e vam se isprva initi udno, ali X server
  nneeee alatu dozvoliti da pristupa vaem prikazu. Kako je to mogue kada
  root obino moe uiniti sve?  I kako moete zaobii ovaj problem?

  Poopimo situaciju: elite pokrenuti X aplikaciju pod korisnikom
  oznakom korisnikklijenta, a X sesiju je pokrenuo korisnikservera. Ako
  ste proitali poglavlje o kolaiima, jasno vam je zato
  korisnikklijenta ne moe pristupiti vaem prikazu:
   korisnikklijenta/.Xauthority ne sadri pravi arobni kolai za
  pristupanje prikazu. Pravi kolai se nalazi u
   korisnikservera/.Xauthority.


  77..11..  RRaazzlliiiittii kkoorriissnniiccii nnaa iissttoomm rraauunnaalluu

  Naravno, sve to radi za X na daljinu takoer radi i za razliite
  korisnike (pogotovo slogin localhost -l korisnikklijenta). Jedina je
  razlika u tome to su raunalo klijenta i raunalo servera jedno te
  isto. I budui da se radi o istom raunalu, postoje neke preice u
  prenoenju arobnog kolaia.

  Pretpostavit emo da za prebacivanje izmeu korisnika koristite su. U
  biti, ono to morate uiniti je napisati skriptu koja e zvati su,
  okruujui naredbu koju su izvrava s kodom koji obavlja stvari
  potrebne za X na daljinu. Te potrebne stvari su postavljanje varijable
  DISPLAY i prenoenje arobnog kolaia.

  Postavljanje varijable DISPLAY je relativno jednostavno; dovoljno je
  navesti DISPLAY="$DISPLAY" prije pokretanja naredbe. Dakle, mogli
  biste jednostavno uiniti ovo:

  su - korisnikklijenta -c "env DISPLAY=$DISPLAY programklijent &"



  To jo uvijek ne radi jer nismo prenijeli i kolai. Kolai moemo
  saznati pomou xauth list "$DISPLAY". Ta naredba kolai ispisuje u
  formatu koji xauth prihvaa kao argument; tono ono to nam treba!
  Tako emo dobiveni kolai 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 moete napisati skriptu koja e korisnikklijenta i
  programklijent prihvaati kao parametre. Kad smo ve kod toga, skriptu
  emo malo poboljati, inei je manje itljivom, ali robusnijom. Ona
  izgleda ovako:
  #!/bin/sh
  if [ $# -lt 2 ]
  then echo "Koritenje: `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 veini sluajeva. Jedini
  nedostatak kojeg se sada mogu sjetiti je da e zbog koritenja '$*'
  jednostruki navodnici u argumentu naredba zeznuti navoenje u
  argumentima naredbe. Ako je neto ozbiljno krivo, javite mi.

  Tu skriptu nazovite /usr/local/bin/xsu, pa moete raditi ovo:

  xsu korisnikklijenta 'naredba &'



  Lako, zar ne?


  77..22..  KKoorriissnniikk kklliijjeennttaa jjee rroooott

  Oito, sve to radi za ne-root korisnike radit e i za roota. Meutim,
  za roota su stvari jo jednostavnije jer root moe itati bilo iji
   /.Xauthority. Nema potrebe za prenoenjem kolaia. 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 "Koritenje: `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 moete raditi ovo:

  xroot 'control-panel &'



  Jo lake, zar ne?





  88..  PPookkrreettaannjjee wwiinnddooww mmaannaaggeerraa nnaa ddaalljjiinnuu

  Window manager (kao to je twm, wmaker, ili fvwm95) je aplikacija ba
  kao i svaka druga. Trebao bi raditi uobiajeni postupak.

  Pa, skoro. U bilo koje vrijeme na jednom prikazu moe raditi najvie
  jedan window manager. Ako ve radite u lokalnom window manageru, ne
  moete pokrenuti udaljeni (poalit e se i zavriti). Najprije morate
  ubiti (ili jednostavno ugasiti) lokalni window manager.

  Naalost, mnoge skripte za X sesiju zavravaju s

  exec izabrani-window-manager


  to znai da vaa sesija zavrava im (lokalni) window manager zavri,
  nakon ega ju X sustav smatra gotovom i odlogira vas.

  Morate prijei nekoliko dodatnih zapreka, ali to nije nemogue i nije
  preteko. Jednostavno se igrajte svojom skriptom sesije (obino
   /.xsession ili  /.xinitrc) kako biste ju natjerali da radi ono to
  elite.

  Budite svjesni da window manager esto nudi naine 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 moda nije ono
  to elite. Naravno, one e se i dalje prikazivati na vaem lokalnom
  prikazu.


  99..  PPrroobblleemmii

  Kada prvi put pokrenete udaljenu X aplikaciju, obino ne radi. Evo
  nekoliko estih greaka, njihovih vjerojatnih uzroka, te rjeenja koja
  bi vam mogla pomoi.


  xterm Xt error: Can't open display:



  U okruju nema DISPLAY varijable, a niste ga naveli aplikaciji ni
  preko argumenta -display. Aplikacija pretpostavlja prazan niz, ali to
  je sintaktiki nepravilno. Da bi ovo rjeili, provjerite da je
  varijabla DISPLAY tono postavljena (pomou setenv ili export, ovisno
  o vaoj ljusci).


  _X11TransSocketINETConnect: Can't connect: errno = 101
  xterm Xt error: Can't open display: crna.ru.pa:0



  Broj greke 101 znai ``Mrea je nedostupna''. Aplikacija nije mogla
  uspostaviti mrenu vezu sa serverom. Provjerite da li je DISPLAY toan
  i da se do raunala servera moe doi s klijenta (trebalo bi se moi,
  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 greke 111 znai ``Veza odbijena''. Spajanje na raunalo 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 doputa koritenje
  (nije autoriziran). Provjerite da li ste klijentu prenijeli pravi
  arobni kolai i da on nije istekao (server uzima novi kolai kod
  svakog pokretanja).


  1100..  HHrrvvaattsskkii pprriijjeevvoodd

  Najnovija verzija ovog prijevoda moe se nai na
  <http://dokumentacija.linux.hr/X-na-daljinu.html>.  Odrava ga Matej
  Vela, mvela@public.srce.hr.  Svi su prilozi, primjedbe i prijedlozi
  dobrodoli.











































