Vrije X-server voor MsWin
Er bestaan vrije X servers voor MsWin! Dit stelt je in staat programma's
op een Linux computer te draaien met de weergave op een MsWin PC.
Inhoud:
Introductie
Het idee is om een X server op een MsWin 9x of NT machine starten, zodat we
het kunnen gebruiken als een lokale machine.
Er zijn enkele commerciële X servers voor MsWin, de goedkoopste lijkt
MicroImage te zijn met een prijs van $25, maar die werkt alleen met twm
(Tom's Window Manager); deze software kon ons niet echt imponeren.
Met een beetje zoeken kun je een oude en volledig vrije versie van de
MicroImage X server vinden. Deze is uitgekomen in 1997, maar we konden er
geen serieuze problemen mee vinden, op wat kleine probleempjes met de
grafische display na.
Benodigdheden
Je hebt de volgende dingen nodig:
Een Linux computer met een goed geconfigureerde netwerkkaart.
De window manager fvwm2 moet geïnstalleerd zijn maar hoeft niet de default manager te zijn.
De Linux computer moet RSH connecties accepteren.
MsWin moet geïnstalleerd zijn en stabiel werken (een uitdaging op zich!). De netwerkkaart moet ook zonder problemen werken.
Het programma dat je nodig hebt is xserver.zip. Deze kun je hier vinden en is vrij distribueerbaar.
Configuratie
Pak het bestand xserver.zip uit naar C:\mix_95. Volgens de documentatie
moet de directory zo heten, maar je kunt het iedere naam geven die je
wilt. Een ding moet je wel weten: de DOS naam van de directory. Dat
betekend dat als je directorynaam meer dan 8 karakters lang is, de DOS
naam de korte vorm met de tilde (~) is. We zullen de configuratie hier
baseren op de directory c:\mix_95.
Vervolgens heb je een minimaal fvwm2 of twm configuratie bestand nodig.
Deze heb je nodig voor je windowmanager. Default configuratie bestanden
voor fvwm kun je (voor SuSE) vinden in
/usr/X11R6/lib/X11/fvwm2/.fvwm2rc en voor twm in
/usr/X11R6/lib/X11/twm/system.twmrc .
FVWM
Zoeken met www.google.nl/linux naar .fvwm2rc of .twmrc
zou hetzelfde moeten opleveren.
Het configuratie-bestand voor de window manager wordt opgeslagen onder
respectievelijk $HOME/.fvwm2rc or $HOME/.twmrc. $HOME staat voor de home
directory van de user die toegang tot de Linux PC via de X server wil.
We wijzen er nog eens op dat het niet is aan te raden om te werken
met het root account. De configuratie werkt overigens hetzelfde voor het
root account (de $HOME is dan /root).
We willen er ook op wijzen dat rsh minder veilig is dan ssh. Deze
oplossing is dan ook niet bruikbaar via het Internet, maar alleen in een
veilig LAN.
De basisconfiguratie werkt vrij eenvoudig met twm. Wij waren niet erg dol
op deze window manager en gingen de diepte van de configuratie van fvwm2
in. Wellicht kun je het aanpassen voor je favoriete wm, het werkt niet met
KDE.
Vervolgens schrijven we het script om de X server op de Linux PC te
initialiseren.
De vrije MicroImage X server heeft een beperkt aantal fonts. In het zip
bestand staan ook andere lettertypen, maar deze moeten handmatig worden
geïnstalleerd, dit gaat met het programma "xset".
De parameter -fp geeft het FONT-PATH. Alle andere opties zijn
beschreven in de man xset, maar zijn niet nodig voor de eerste
keer.
De volgende stap is belangrijk: zet het PATH (dit is een andere dat het
FONT-PATH). Standaard zijn alleen /bin/ en /usr/bin/ opgenomen. Om X
clients uit te voeren zou je dan altijd het volledige pad moeten opgeven
(/usr/X11R6/bin/...).
Het vele typewerk gaat je al snel op de zenuwen werken, dus waarom neem
je het niet op in de PATH declaratie in het INIT script van de X server?
Na het voor de eerste keer starten van de X server, realiseerden we ons
dat bepaalde toetsen als de backslash, scheidingstekens enzovoorts niet
werkten met ons Duitse toetsenbord, dus veranderden wij de toetsenbord
instellingen en plaatsten de symbolen op ons toetsenbord op de juiste
plek. Hiervoor gebruikten we het programma xmodmap. Wellicht moet
je dit aanpassen voor je eigen toetsenbord.
Dat is het, ons volledige script volgt hieronder. Plaats deze in
/home/user/initxscript en gebruik het commando
| File initxscript |
PATH="/bin:/usr/bin:/opt/bin:/usr/X11R6/bin:/usr/TeX/bin:/usr/local/bin" |
Opmerking: de user in het script moet je vervangen door de
gebruikte gebruikersnaam.
De parameters van xset (derde regel), moeten alle in een commando!
Op ons Linux systeem vonden we nog wat fonts en hebben die erbij
opgenomen. Standaard worden alleen de eerste 3(!) font-directories
gebruikt. Geef geen niet-bestaande directories op, xset zal dan niet
werken!
Het is ook handig de variabele MAIL=/var/spool/mail te exporteren. Neem
deze regel op onder de PATH regel (1.regel) en verander het export
commando in export PATH MAIL. Uiteraard kun je op deze manier meer
opnemen.
Nu moet je de permissies zo zetten dat het Mswin toegestaan is dit script
uit te voeren. Hiervoor maak je het bestand .rhosts in de directory
/home/user/.
Dit bestand heeft de volgende structuur:
| Bestand .rhosts |
computer-naam.domein.de user |
computer-naam staat voor de naam van de MsWin computer (of de naam die je
opgaf in het /etc/hosts bestand op je Linux computer). Als je MsWin
computer het IP adres 192.168.0.11 is, zou je /etc/hosts er zo uit kunnen
zien:
| Bestadn /etc/hosts |
192.168.0.11 alex.technix.de alex |
dan vul je (dus) het volgende in in /home/user/.rhosts
| Bestand .rhosts |
alex.technix.de user |
Het .rhosts bestand staat een computer, mits opgenomen in dit bestand, toe
om commando's zonder wachtwoord uit te voeren. Wees voorzichtig met deze
mogelijkheid. Nu zie je waarom je dit niet als root moet doen!
Het bestand /home/users/.rhosts zou alleen voor de gebruiker
leesbaar moeten zijn, dus gebruik je het commando:
>> chmod 600 .rhostsVoor het moment zijn we klaar met het configureren van de Linux computer.
Over naar de MsWin computer.
We schrijven een klein BATCH script dat eerst het initialisatie-script op de Linux PC start en daarna de window manager (FVWM2).
Het batch bestand kun je in c:\mix_95\ plaatsen en ziet er uit als:
| bestand launch.bat |
REM Door Matthias Kranz (matthias.kranz@technix.de) REM Je kunt de REM in de volgende regel weghalen voor minder berichten REM ECHO OFF XS REM mijn Linux server heeft het IP 192.168.0.1 en de MsWin client REM het IP 192.168.0.11 REM pas de volgende regel aan aan jouw opstelling rsh -l user 192.168.0.1 "xterm -display 192.168.0.11:0.0 -title \ Initializing -e nohup /home/user/initxscript > /home/user/start.log &" EXIT EXIT EXIT |
Nu kun je een snelkoppeling op je bureaublad maken. Je kunt de opties
"Start geminimaliseerd" en "sluiten na afsluiten" zodat je geen last meer
hebt van de de DOS pop-up box.
Dat zou het moeten doen. Een dubbelklik op de snelkoppeling en het zou
moeten werken.
Belangrijke opmerkingen, probleem oplossingen en niet-opgeloste
problemen:
- Start de MsWin X server, een wit scherm verschijnt en verdwijnt
onmiddelijk. Dit is een probleem met het initxscript.
- Het X server venster gebruikt dezelfde resolutie als de MsWin computer.
Het venster kan ook geen andere grootte krijgen.
- De X server wil de kleurdiepte van de Linux computer gebruiken,
onafhankelijk van hoe de MsWin instellingen. Dit geeft geen conflicten of
problemen.
- Enkele programma's willen niet werken, met name KDE programma's of
programma's die andere fonts nodig hebben, maar die niet door de X server
worden geleverd. Deze fonts kun je toevoegen aan je /home/user/.fvwm2rc of
/home/user/.twmrc respectievelijk -> man fvwm2 of man twm .
- Op de MsWin PC kun je automatisch andere programma's starten via
>> rsh -l LINUX-COMPUTER-IP "/path-to-program/program -display WINDOWS-COMPUTER-IP:0.0 &"
Voeg dit commando toe aan je launch.bat bestand. Of plaats het in je .fvwm2rc of twmrc respectievelijk.
- Starten van launch.bat eindigt in een crash van de MsWin X server, vooral als de MsWin langere tijd gebruikt is. Je moet dan MsWin rebooten.
- Tijdens het uitvoeren van het initxscript, wil de window manager niet correct starten. Hiervoor voeg je een herstart knop voor de window manager toe in de menus (de window manager kan onafhankelijk van de X server herstarten, zie man fvwm2 of man twm). Na de herstart zou alles weer OK moeten zijn.
Als je andere problemen (en eventueel ook de oplossing), is het wellicht aardig om ons hierover te schrijven.
Documentatie
Meer documentatie is te vinden in:
- man X(1)
- man fvwm2
- man xset
- man rhosts
- Thuis van FVWM 2
Links
| http://www.uk.research.att.com/vnc/ | Een andere vrije X server voor MsWin en andere OS'en. Deze X server is trager dan MicroImage (alle graphics zijn bitmaps) maar werkt met veel veel verschillende window managers. Er zijn snellere versies die compressie toepassen. |
| http://download.sourceforge.net/WeirdX/ | Een andere X server, deze is volledig in Java geschreven (JDK 1.2.* + Swing). Werkt ook als een applet in een webbrowser met Java ondersteuning. |
Dit artikel is een vertaling en herdruk van een artikel dat geschreven is door Matthias Kranz( (EN), (DE) Meer artikelen van M. Kranz en Jan Thiele zijn te vinden op hun homepage op http://www.price-of-freedom.de