Pak de controle met VNC Tijdens ons recentelijke SOACamp kwam ik er achter dat niet iedereen bekend is met het gemak van het overnemen van desktops en dan vooral hoe makkelijk het is. Vooral als je veel gebruik maakt van Virtual Machines is het erg handig, en dan met name als de VM op een andere fysieke machine draait. Wat is VNC? VNC staat voor Virtual Network Computing en is een super-kleine suite dat uit twee tooltjes bestaat: een servertje en een viewer. Het servertje draait op de machine die je wilt beheren, waar je de desktop van wilt overnemen. De viewer gebruik je dan om die server te benaderen. Het servertje stuurt video-wijzigingen naar de viewer en de viewer stuurt toetsenbord-aanslagen en muisbewegingen door naar de server. Zo kun je dus op afstand een andere computer beheren. Maar dat kun je toch ook met Remote Desktop? Tsja, dat kan. Maar de grap is: Remote Desktop heb je pas vanaf Windows 2000. En pas vanaf Windows XP zit het er standaard in (dat is in de professional versie), dus je moet nog wel wat voor elkaar boksen omdat actief te krijgen. En er zijn nou eenmaal collega's die geen Windows gebruiken. Of je hebt nog een PC'tje met Windows 98 staan. Of je wilt een desktop toepassing voor Unix voor het installeren van Oracle Software. VNC is er voor Windows (9x, 200x, XP), Unix-platformen (Linux, Solaris, HP-UX) en Mac-OS. Installatie Installatie is heel gemakkelijk. Je kunt kiezen uit 3 versies: RealVNC (http://www.realvnc.com): dit is het oorspronkelijke project welke ik zelf al veel gebruikt heb. TightVNC (http://www.tightvnc.com): dit heb ik zelf eigenlijk nog maar weinig geprobeerd, is vergelijkbaar met RealVNC maar heeft wel veel belovende extra features, zie hieronder. UltraVNC (http://ultravnc.sourceforge.net/): deze moet ik ook nog eens uitproberen, want UltraVNC biedt onder andere de mogelijkheid om via een Java-enabled webbrowser de controle van een desktop over te nemen. Dat is dus handig in situaties waar je te maken hebt met servers in een datacenter met een firewall er tussen. Ik ga even uit van RealVNC, de standaard oplossing voor Windows welke voor de meeste toepassingen volstaat. Daarmee ben je echt binnen 5 minuten aan de slag. Je downloadt VNC voor de omgeving waar je het op wilt installeren. Vervolgens start je de executable en na een welkoms en een licentiescherm (die je natuurlijk accepteert) kom je in het volgende scherm:
Figuur 1: RealVNC Installatie opties Een beetje afhankelijk van wat je wilt, installeer je de server, de viewer of allebei. Via een paar klikken op Next, waarbij je de gelegenheid krijgt om startmenu folder op te geven en of je desktop en/of quicklaunch shortcuts wilt, kom je in het uiteindelijke samenvattingscherm waar je op install kunt klikken. Na de installatie komt het volgende scherm op:
Figuur 2: VNC Server Opties Het belangrijkste wat je hier moet doen is een wachtwoord opgeven. Klik daarvoor op de configure knop. Zoals gezegd is dit een windows installer, maar de installatie van andere producten platformen zal niet veel moeilijker zijn. Gebruik Het gebruik van de standaard VNC oplossing RealVNC is uiterst eenvoudig. Je start de Viewer, waar je vervolgens een ip-adres kunt opgeven (of zoals in de afbeelding een DNS-naam): Figuur 3: VNC Viewer Wanneer er een connectie kan worden opgezet, kun je het wachtwoord opgeven. Daarna wordt de desktop getoond en kun je aan de slag. Als je met de rechtermuistoets op de titelbalk klikt, krijg je de mogelijkheid om de toetscombinatie Ctrl-Alt-Delete naar server te sturen. Dat is wel handig voor als je een windows-machine wilt kunnen unlocken of er op wilt kunnen inloggen. Verder biedt het pop-up menu de mogelijkheid om de desktop volledig (Full-Screen) te tonen. In Windows wordt de server als Windows Service gestart. Je kunt het daar ook op manual zetten. Maar wanneer je een fatsoenlijk wachtwoord opgeeft is er eigenlijk niets op tegen om hem op automatisch te laten staan. De service wordt dan gestart bij opstarten van Windows en dat biedt je
dan ook de mogelijkheid om op afstand in te loggen. Toepassingen Er zijn legio toepassingen te verzinnen. Zelf vind ik het wel handig om mijn laptop op mijn werkplek te docken en op te starten. Vervolgens loop ik naar beneden, start de vnc-viewer op en ik kan inloggen. Wanneer VNC automatisch start (als Windows Service), kan ik aan de slag tegen de tijd dat ik beneden ben. Voor het eerder genoemde SOACamp was het erg handig om via de presentatie pc de desktop van de VMWare images op de workshop-laptops over te nemen om de uitgewerkte oplossingen te presenteren. Zoals eerder beschreven, is het installeren zo eenvoudig dat het echt in een paar minuten voor elkaar is. Vooral in VMWare omgevingen is het erg handig. Als je namelijk met VNC een host-os over neemt en je probeert dan een gast OS in VMWare Workstation te bedienen, dan wordt de cursor verfomfaaid. Dan is het prettig als je direct de VMWare kunt bedienen. In VMWare workstation 6.0 moet ook VNC ondersteuning komen. Dan hoef je VNC niet in een Gast-OS te installeren, maar verzorgt VMWare de bediening over VNC. Merk overigens op dat je wel het ip-adres van de VNC-Server moet kunnen benaderen over poort 5900. Als de machine achter een firewall zit, kijk dan eens naar Ultra-VNC. Als de machine achter een router zit, dan zul je wat met Network Adress Translation moeten doen. Maar wellicht dat je in die situaties beter naar Oracle Webconference of andere video conference toepassingen zult moeten grijpen. Verder is het belangrijk te beseffen dat Cisco VPN al het locale netwerkverkeer afsluit. Dus ook VNC verbindingen zijn dan niet meer mogelijk. Extra features van TightVNC Volgens de website van TightVNC zijn dit de belangrijkste extra's ten opzichte van RealVNC: File transfers in Win32 versie. Je kunt met een machine met TightVNC server bestanden uitwisselen. Helaas alleen in Windows omgevingen. Local cursor handling. Cursor bewegingen genereren geen schermupdates maar bewegingen op afstand worden verwerkt door de viewer, zodat je geen langzame cursorbewegingen van de locale cursor achter de remote-cursor aan ziet. Efficiente compression algorithmes. Allerlei compressie optimalisaties voor de verwerking van de scherm uitwisselingen/updates. Web browser toegang. Ook TightVNC bevat een Java viewer. Deze Java viewer applet kan worden benaderd via built-in HTTP server. Ondersteuning voor twee wachtwoorden (full-control and read-only). De server staat dan toetsenbord en muishandelingen wel of niet toe afhankelijk van het wachtwoord dat wordt gebruikt. Je kunt dan bijvoorbeeld alleen mee-kijk-toegang toestaan. Automatische SSH tunneling op Unix. De Unix versie van de TightVNC viewer kan connecties automatisch via een SSH tunnel laten lopen, gebruik makend van een locale SSH/OpenSSH client installatie (onder voorwaarde dat er op de server een SSH/OpenSSH server draait). Conclusie Op het genoemde SOACamp werd er geopperd om screendumpjes te maken om de uitgewerkte oplossingen te presenteren. Toen ik VNC opperde werd daar toch wel wat huiverig over gedaan: het mocht niet te veel tijd kosten. Maar het is zo simpel en snel op te zetten dat we het in een paar minuten voor elkaar hadden. En juist een hoop tijd bespaarden.
Veel plezier er mee. Martien van den Akker Technisch Specialist