UTILIZARE XWINDOW

X Window este un sistem de interactiune cu utilizatorul orientat spre
ferestre, care poate fi facut operational pe o mare varietate de
calculatoare care lucreaza sub diverse sisteme de operare. A fost conceput
la MIT (Massachusetts Institute of Technology), proiectul fiind puternic
sustinut de IBM Si de DEC. A aparut pe piata aproximativ in 1987, iar in
prezent este acceptat ca standard "de facto" de fabricantii statiilor de
lucru grafice. Scopul sistemului X este de a furniza programelor de
aplicatii un mediu de lucru independent de particularitatile statiei de
lucru, a SO sub care se lucreaza, a retelei in care este integrat etc.
Pentru un utilizator oarecare este transparent faptul ca aplicatia lui se
executa in retea, deci ca se executa pe un calculator iar rezultatele ii
sunt afisate pe ecranul altuia. De asemenea, o statie X poate fi conectata
in acelasi timp la mai multe aplicatii executate pe calculatoare diferite.

Programul care controleaza fiecare display este programul X Server (XS). El
actioneaza ca si intermediar intre display si programele utilizator, numite
clienti sau aplicatii. Acestea din urma pot rula fie pe sistemul local, fie
pe un sistem aflat la distanta si care foloseste resursele grafice ale
sistemului local. Conexiunea la un XS se face implicit pe portul 6000.

Intreaga interfata a clientilor cu XS este realizata cu ajutorul bibliotecii
Xlib (XL).

Performantele unui sistem X intr-o retea depind in mare masura de
performantele masinilor, in special de calitatile si performantele lor
grafice. Intotdeauna XS se ruleaza pe statia locala. Pentru a se asigura
eficienta mare, de multe ori se lanseaza si clientul WM (Windows Manager) tot
pe masina locala. De exemplu, statiile de tip X Terminal dispun de memoria
RAM proprie si pe langa un XS propriu, mai au si un WM propriu. Daca utilizatorul
doreste, el poate sa-si lanseze un WM de oriunde din retea: de pe masina
client, de pe o alta masina etc. Evident, apare astfel posibilitatea ca o
anumita masina din retea sa fie supraaglomerata deoarece pe ea sunt rulate
WM-uri pentru multi utilizatori din retea.

Numarul de programe care folosesc specificatiile X a ajuns de ordinul miilor
la aceasta ora. Vom aminti cateva care sunt de larg interes si sunt
disponibile, printre altele sub UNIX System V 4.0:
      xterm emulator de terminale;

Utilizare xterm:

      - se presupune ca pe masina locala este pornit un XS (sau un
emulator de XS) la care se vor conecta clientii de pe masina UNIX
      - in cadrul unei conexiuni obisnuite (telnet sau (recomandat) ssh)
la o una din masinile (disco.scs.ubbcluj.ro sau rave.scs.ubbcluj.ro in cazul
nostru) ce au instalate XWindow respectiv programe client XWindow se
lanseaza comanda:

      xterm -display nume_masina_local:0.0 & sau

      xterm -display ip_masina_locala:0.0 &

      Aceasta din urma varianta este preferata pentru reteaua locala din
laboratoarele SCS datorita modului de atribuire dinamic al adreselor
calculatorelor client de catre serverul Windows NT. Pentru aflarea acestei
adrese se foloseste comanda ipconfig lansata dintr-o fereastra DOS; la fel
de bine insa se poate afla si din mediul Unix acest lucru; de exemplu,
folosind comanda w in pipe cu comanda grep avand ca si parametru numele
utilizatorului care doreste sa isi lanseze un xterm se poate afla numele statiei
sau ip-ul masinii windows NT de pe care utilizatorul respectiv este conectat.

      Aceasta comanda este esentiala si de ea depinde in continuare lucrul
cu aplicatiile X; daca aceasta comanda esueaza acest lucru se poate intampla
datorita, de exemplu, faptului ca aplicatia xterm (care este un clienty) nu
se poate conecta la serverul Xwindow.
     
      In acest din urma caz se poate verifica faptul ca de pe masina de pe
care se lanseaza comanda xterm este accesibila masina pe care ruleaza XS. Se
poate verifica usor acest lucru folosind comanda traceroute. In cazul
retelei local SCS bazata in mod exclusiv pe adrese false (nerutabile in
exterior), au trebuit specificate in mod explicit de catre administratori
rute inverse spre aceste adrese false (invers erau rute implicite). Daca
prin comanda traceroute serverul X este accesibil, atunci poate fi problema
conexiunii pe portul 6000, interzisa de firewall.

      In momentul in care aceasta comanda este executata se deschide o noua
fereastra din care se pot lansa comenzi X dintre care enumeram:
      twm gestionar de ferestre (window manager);
      xdm gestionar de statii de afisare (display manager);
      xman program care gestioneaza si afiseaza manuale UNIX;
      xmeditor, xedit editoare de texte;
      xedit prezinta o fereastra cu 4 sectiuni:
            - o sectiune de comenzi care permit iesire din xedit,
salvarea fisierului, sau incarcarea unui nou fisier in fereastra de editare
            - o fereastra de mesaje care afiseaza mesajele pe care le
genereaz xedit
            - portiunea de afisare a numelui fisierului editat, precum
si a informatiei daca acest fisier este deschis si in citire si in scriere,
sau este deschis numai in citire
            - in fine, este sectiune de editare propriu-zisa
      bitmap, xpaint editoare grafice;
      xmh, xbiff utilitare destinate postei electronice;
      xclock, oclock afisari de ceasuri;
      xfd program care gestioneaza fonturi;
      xlsfonts, xfontsel, xlswins, xwininfo, xlsclients, xdpyinfo, xprop:
utilitare care dau informatii despre fonturi, ferestre, clienti si statii;
      xauth, xhost utilitare de control al accesului;
      xrdb, xset, xsetroot, xmodmap pentru fixarea de catre utilizatori a
unor parametri ai sistemului X;
      xwd, xwud, xpr, xmag utilitare de manipulare a imaginilor de pe
ecran;
      xeyes, ico, muncher, puzzle, xgc etc. sunt cateva programe cu jocuri
demonstrative sub sistemul X.
      xcpustate, xsysinfo: furnizeaza informatii grafice referitoare la
starea sistemului Unix
      De asemenea, exista o multitudine de alte programe si utilitare
XWindow: ee (Electric Eyes: pentru afisarea de imagini), etc.

      In general orice comanda care incepe cu litera x este o comanda
specfica sistemului XWindow. Asa cum se poate vedea insa mai sus (exemplu:
utilitarul ee), aceasta nu este o regula generala.

      Facem precizarea ca toate aceste programe se executa direct pe
masinile Unix (folosind deci toate resursele respectivelor masini: procesor,
memorie, disk etc.) iar rezultatul lor este afisat prin intermediul xterm pe
masina locala.