|
door Guido Socher (homepage) Over de auteur: Guido houdt van Linux en niet alleen omdat het interessant is te leren hoe een besturingssysteem werkt, maar ook vanwege de mensen die betrokken zijn bij het ontwerp ervan. Vertaald naar het Nederlands door: Hendrik-Jan Heins <hjh/at/passys.nl> |
Applicaties op afstand draaien met X11Kort:
Veel mensen die Linux voor het eerst gebruiken denken dat
het grafische bureaublad onder Linux weer zo'n "Windows" systeem
is waarin je applicaties kan starten die in gescheiden vensters
verschijnen. Sommigen merken op dat je ook verschillende bureaubladen
kan hebben, maar verder dan dat gaat het niet. Het Linux X Window
Systeem (X11) kan nog veel meer! Het is een window systeem voor op het
netwerk. We zullen zien welke nieuwe en krachtige oplossingen dit
biedt.
|
Iedere grafische X Window applicatie leest bij het opstarten de
omgevingsvariabele DISPLAY om uit te vinden naar welke computer monitor
het z'n beelden moet sturen. Dit tezamen met de netwerkmogelijkheden van
het X Window System maakt het mogelijk om grafische applicaties op afstand
te draaien. Dit houdt in dat je de CPU van de ene machine gebruikt terwijl
je de applicatie aanstuurt vanaf een ander. De volledige GUI (graphical user
interface ofwel grafische gebruiksinterface) verschijnt op de machine waar
vanaf je hem aanstuurt. Je merk niet dat je eigenlijk op 2 computers
tegelijk werkt.
De snelheid van het netwerk is hierbij natuurlijk van belang, maar een gewoon
10Mbit/s LAN netwerk is meer dan snel genoeg.
Waarom zou je dit willen doen?
Er zijn veel mogelijke toepassingen voor deze "network graphics".
Bedrijven gebruiken ze om op afstand apparatuur aan te sturen die
misschien wel duizenden kilometers verderop staat en jij kan de
toepassingen van al je computers gebruiken alsof je er zelf
achter zit.
Je zou 2 computers kunnen hebben, een snelle 1Ghz machine en een oude
Pentium 133MHz. Je kan gebruik maken van de snelheid van je nieuwe machine
zonder dat je erachter zit. Misschien zit je zus nu achter de
snelle computer en is ze ingelogd en aan het werk. Het maakt niet uit,
je kan er nog steeds gebruik van maken.
Hoe werkt het?
Alle X Window applicaties, of ze nu gimp, xterm, konqueror of netscape
heten ... zijn in feite netwerk clients die verbonden worden met een server,
de X-server. Het is de taak van de X-server om te communiceren met de
grafische hardware, de plaatjes op je scherm te tekenen en de muis- en
toetsenbord-invoer te lezen. De clients (de cliëneten, programma's
zoals gimp, netscape...) sturen de server instructies over hoe de frames en
de knoppen getekend moeten worden.
In ruil krijgen zij van de server de gegevens van de muis en het
toetsenbord. Je hebt natuurlijk één of andere authenticatie
nodig anders zou iedereen op ieders scherm kunnen komen.
Er bestaan 2 programma's die de toegang beheren:
- xhost: Dit programma laat je toe gebruikers toestemming
te geven om op een bepaalde machine grafische gegevens op het scherm
te zetten. Bijvoorbeeld: Je zit achter een machine die philosophus heet.
Om toegang te verlenen voor ieder programma vanaf de machine movietux
op jou scherm (op philosophus) zou je het volgende commando moeten typen:
xhost +movietux
Dit moet op een commandoregel op philosophus worden getypt
xauth extract - philosophus:0.0 | ssh movietux
/usr/X11R6/bin/xauth merge
of
scp ~/.Xauthority movietux:
bash:export
DISPLAY=hostnaam:displaynummer.schermnummer
tcsh:setenv DISPLAY hostnaam:displaynummer.schermnummer
export DISPLAY=philosophus:0.0
# neem je display mee bij een login op afstand:
# Zet het in je ~/.login bestand
set whoami=`who -ml`
set remhost=`expr "$whoami" : '.*(\(.*\))'`
if ( "$remhost" != "" ) then
setenv DISPLAY "$remhost":0.0
endif
>who -ml
movietux!guido pts/3 Oct 26 21:55 (philosophus.tux.org)
# neem je display met je mee naar een login op
afstand:
# PLaats dit in je ~/.bash_profile bestand
whoami=`who -ml`
remhost=`expr "$whoami" : '.*(\(.*\))'`
if [ -n "$remhost" ]; then
DISPLAY="$remhost":0.0
export DISPLAY
fi
Site onderhouden door het LinuxFocus editors team
© Guido Socher "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org |
Vertaling info:
|
2005-01-14, generated by lfparser_pdf version 2.51