Remote X Apps mini-HOWTO
v, 19 November 1999IntroductieDeze mini-HOWTO is een handleiding over hoe te doen met remote X applicaties. Hij is geschreven om verschillende redenen. Er zij al veel vragen gesteld over het draaien van remote X applicaties in de newsgroepen. Ik zie heel veel hints als ``gebruik xhost + hostname''of zelfs ``xhost +'' om X connecties toe te staan. Dit is belachelijk onveilig, want er zijn betere methodes. Ik ken geen eenvoudig document dat de opties beschrijft die je hebt. Mail mij als jij iets beters weet.Dit document is geschreven met unix achtige systemen in mijn gedachten. Maar ook al is je lokaal of remote besturings systeem van een ander merk, dan kun je hier toch vinden hoe sommige dingen werken, je zal wel enige dingen moeten aanpassen voor gebruik met je eigen systeem(en). De meest recente versie van dit document is altijd aanwezig op WWW . Het is ook altijd aanwezig op de Remote X Apps mini-HOWTO op . Linux (mini-)HOWTOs zijn aanwezig op http of ftp van .Dit is versie 0.6.1. Geen waarborg, enkel goede bedoelingen. Ik ben open voor suggesties, ideeën, nuttige toevoegingen, (fout) correcties, Etc .. Ik wil dat dit een simpel document blijft, alhoewel met de beste bedoeling In HOWTO stijl. De laatste update dateert van 19 November 1999 door Aanverwante documentatieEen vergelijkbaar document op WWW is ``What to do when Tk says that your display is insecure'', . Dit is geschreven door . het is een vergelijkbare oplossing voor X authentificatie zoals (xauth) in dit document. Alhoewel Kevin zich meer spitst op het gebruik van xdm met xauth. Het X Windows systeem Vol 8 X ``Window System Administrator's Guide'' van is ook een goede bron van informatie. Enkel ben ik niet in staat geweest om dit te checken.Een ander document dat veel lijkt op dat wat je nu leest met als titel ``Securing X Windows'' is aanwezig op .Kijk ook eens in de newsgroepen, zoals comp.windows.x, comp.os.linux.x, en comp.os.linux.networking. Een voorbeeldJe gebruikt twee computers, en je gebruikt het X windows systeem van de eerste om te typen en om naar te kijken. Je gebruikt de tweede om wat belangrijk grafisch werk op te doen. Je wilt de tweede gebruiken om naar de uitvoer op het scherm te kijken van de eerste. Dit maakt het X windows systeem mogelijk.Je hebt hier natuurlijk een netwerk-connectie voor nodig. Het liefst een snelle; Het X protocol is een netwerk slak. Maar met een beetje geduld en een geschikt compressie protocol, kun je zelfs X applicaties runnen via een modem. Voor het X compressie protocol moet je even kijken op dxpc of LBX (ook bekent als ).Je moet twee dingen doen om dit te volbrengen: Vertel het lokale display (server) dat hij connecties moet accepteren van een remote computer Vertel de remote applicatie (client) dat hij zijn output naar het lokale display moet sturen Een beetje theorieHet magische woord is DISPLAY. In het X window systeem bestaat het display (simpel gezegd) uit een keyboard, muis en een scherm. Een display wordt aangestuurd door een server programma beter bekend als de X server. De server bediend de display mogelijkheden van programma's die ermee connecten.Een display wordt aangegeven met een naam bv: DISPLAY=light.uni.verse:0 DISPLAY=localhost:4 DISPLAY=:0Een display bestaat uit een host naam ( zoals light.uni.verse en localhost), een dubbele punt (:), een volgorde nummer (zoals 0 en 4). De host-naam van de display is de naam van de computer waar de X server draait. Als je de host-naam weg laat betekent dit de lokale host. Het volgorde nummer is normaal 0 - maar het kan varieer-en als er meerdere Displays zijn aangesloten op een computer.Als je ooit een display tegenkomt met een extra .n indicatie erachter, dan is dat het scherm nummer. Een display kan eigenlijk meer schermen aan. Een display kan eigenlijk meerdere schermen aan. Normaal is er maar een scherm, met het nummer n=0, dus dat is standaard.Andere formaten van DISPLAY zijn er, maar die hierboven doet het goed voor onze plannen.Voor technische nieuwsgierigheid: hostname:D.S Betekend S op display D van host hostname; de X server voor dit display luistert op de TCP poort 6000+D. host/unix:D.S betekend scherm S op display D van host host; de X server voor dit display luistert op de UNIX domein socket /tmp/.X11-unix/XD listening (dus hij is alleen berijkbaar vanaf host) :D.S is hetzelfde als host/unix:D.S, waar host de locale hostname is. De client vertellenHet client programma (Bijvoorbeeld je grafische applicatie) weet naar welk display hij moet connecten door te kijken naar het DISPLAY variabel. Deze instelling kan veranderd worden, door de client als optie -display hostname:0 te geven als je hem opstart. Sommige van deze voorbeelden zullen dit duidelijker maken.Onze computer, is bekend voor de andere computers als light, en we zitten in het domein uni.verse. Als we een normale X server draaien, de display is bekend als light.uni.verse:0. We willen het tekenprogramma xfig runnen op een remote computer, die als naam heeft dark.matt.er, en hij moet zijn output laten zien op light.Ik ga er van uit dat je op de remote computer (dark.matt.er) bent in gelogd.Als je csh draait op de remote computer:dark% setenv DISPLAY light.uni.verse:0 dark% xfig &of:dark% xfig -display light.uni.verse:0 &Als je sh of bash draait op de remote computer:dark$ DISPLAY=light.uni.verse:0 dark$ export DISPLAY dark$ xfig &of:dark$ DISPLAY=light.uni.verse:0 xfig &of:dark$ xfig -display light.uni.verse:0 &Het ziet er naar uit dat sommige versies van telnet automatisch het DISPLAY variabel gelijk goed zetten op de remote host. Als je er zo een hebt dan heb veel geluk en moet je het niet allemaal met de hand doen. Zo niet, de meeste versies van telnet trans porteren het TERM variabel; met een beetje hacken is het mogelijk om het DISPLAY variabele met het TERM variabel mee te laten komen. Het idee van het transporteren is een beetje scripting om het volgende te bereiken: voordat je telnet, bevestigen we het variabel DISPLAY aan TERM. Dan telnet op de remote host, in de .*shrc file, lees het variabel DISPLAY van TERM. De server vertellenDe server zal niet zomaar een connectie van iedereen accepteren. Je wilt toch niet dat iedereen zo maar een window op je scherm kan zetten. Of lezen wat je schrijft -- onthoud je keyboard is onderdeel van het display!Veel mensen schijnen zich niet te realiseren dat het toestaan van toegang tot je display een groot security risico is. Iemand met toegang to je display kan lezen van en schrijven naar je scherm, alles lezen wat je typt, en je muis acties registreren.De meeste servers kennen twee manieren voor het legaliseren van connecties naar de server: het host lijst mechanisme (xhost) en het magic cookie mechanisme (xauth). Dan is er ook nog ssh, de secure shell, die kan X connecties ook doorsturen.Deze mini-HOWTO beschrijft hoe je remote X applicaties kan draaien. Dit betekent dat je een X programma van de ene computer op een andere computer kunt draaien. Simpel gezegd: hoe kan ik een X programma draaien op een andere computer dan de computer waar ik achter zit. Het kenmerk van deze mini-HOWTO is veiligheid. Deze mini-HOWTO bevat ook informatie over het runnen van X applicaties lokaal met verschillende ussers.