Liten Datorhandbok För Målmedvetna

Academic Computer Club, Umeå Universitet, 2000


UNIX


X Window System - koncepten

Vad är X Window System?

X Window System (förkortas X Windows eller, som här, bara X) är ett fönstersystem, främst utvecklat för UNIX-datorer men finns till de flesta datortyper. Det skiljer sig från andra fönstersystem på flera vis, men främst genom att du kan köra applikationerna på en dator och visa dem på en helt annan dator. X är alltså gjort för att kommunicera över nätverk. Fönstersystemet använder sig av TCP/IP för dataöverföring.

X bygger på klient/server-modellen. Servern i fönstersystemet är en samling applikationer som körs på datorn där allt visas. De applikationer som visas kallas således klienter.

En annan skillnad i X mot andra fönstersystem är att utseendet inte likteras, utan det är helt upp till användaren att definiera själv, dock finns det "standarder" så man inte behöver göra sitt eget. Nu är det så att många olika X-applikationer, trots allt, använder sitt eget utseende så du får inte bli förvånad om de ser ut på olika sätt.

X-servern sköter all hantering av inmatning från tangentbord och mus och utritning av objekt på skärmen. Klientapplikationerna sköter resten.

Miljövariabeln DISPLAY bestämmer vilken X-server ett program skall ansluta sig till (dvs vilken skärm det ska visas på). DISPLAY-variablen ska ha formatet host:displaynumber.screennumber. host är datorn och displaynumber vilken grupp av skärm (normalt 0). screennumber är skärmnumret (även det 0 normalt, om man inte har flera skärmar).

Så för att t.ex. sätta DISPLAY att peka på jagulars skärm skriver man setenv DISPLAY jagular:0 (om man kör tcsh) (screennumber behöver inte anges om den är 0).

Vem om helst får inte ansluta till vilken skärm som helst, jag får t.ex. inte slänga upp en xterm på någon annans X-server. Om man vill ge någon annan tillåtelse till detta på sin egen X-server (t.ex. om man just har su:at till ett gruppkonto) använder man sig av xauth.

xauth läser en "magisk kaka" och när ett program anslutar sig till en X-server måste det kunna visa upp en giltig kaka. Man måste alltså ta en sådan hemlig kaka från den X-server man vill kunna ansluta sig till och ge den till xauth.

Först måste man få ut kakan, detta görs på den X-server du vill kunna ansluta till (måste alltså göras innan du su:at till gruppkontot).

~> echo $DISPLAY
something:42
~> xauth list $DISPLAY
something.acc.umu.se:42  MIT-MAGIC-COOKIE-17f1c80decf906e850b682defe3b6e92f

Nu vet du alltså att DISPLAY är something:42 och att nyckeln för att visa på den display:en är ovanstående rad.

Nu måste vi ge den till den som vill ansluta sig till X-servern (t.ex. efter du su:at till gruppkontot).

~> setenv DISPLAY something:42
~> xauth add something.acc.umu.se:42  MIT-MAGIC-COOKIE-17f1c80decf906e850b682defe3b6e92f

Nu får den som körde det där xauth ansluta sig till display something:42.

Författat av Tomas Byström, DISPLAY-delen av magnus janlert


Bakåt , Framåt , Upp, Huvudsida
Denna sida ändrades sist av handbok den 17/10 2001 11:02:47.
Last modified [an error occurred while processing this directive]