TightVnc for EPOC v 0.02 * About TightVnc Konstantin Kaplinsky (cf www.tightvnc.com) has extended the original Rfb protocol, used by AT&T's Vnc (the mother of all current Vnc implementations) with a new encoding scheme. This "tight" encoding happens to work very well on Psion's NetBook, but Konstantin's java client has some problems under Epoc's java virtual machine (JVM), most of them due to the quirks of psions JVM I adapted Konstantins java client, making it more usable on the Netbook, destroying some of its cross-platform usability in the process (but YMMV) I also took Guiseppe Lo Presti's (glopresti@lineone.net) OPL launcher and extended it a bit (it now remembers hostname, port and password between invocations) * Installation Just install the .sis file as usual; everything will go into \System\apps\TightVnc2. The Java sources are installed into \System\apps\TightVnc\JavaSrc, you may delete this directory to save some disk space. TightVnc can be installed together with any other VNC client, there won't be any conflict. * Running it Get Konstantin's TightVNC server from www.tightvnc.com. Other VNC servers will work, but *much* slower! After installing and starting it, make sure that you know the name (or IP address) of the server machine and the port or screen number where the server listens. Then click the TightVnc2 icon on your netbook, a small pop-up dialog will ask you some questions, after which the viewer will start. If it doesn't, have alook at the problem section below. There are no buttons like in other VNC clients: just press Menu if you want to quit or to change some options The Java client uses a lot of memory, if it runs out of memory on your psion it may die, but sometimes it will just become unresponsive. The maximum frame buffer size without the scrollbars appearing is 640x480. 8-bit colour depth on the server side is noticeably faster than true colour. This mainly matters when using linux to run the server, as the windows server doesn't allow you to specify screen size and colour depth independently from the server machine's desktop (or does it?). You can however change the Windows screen "resolution" and colour depth from the configuration menu or by right-clicking on the desktop background. 640x480 at 8 bit (256 colours) would be optimal but many Windows installations don't offer such a measly screen configuration anymore. Please have a look at www.tightvnc.com for more documentation. If you find this VNC implementation as useful as I do, please donate some money to Konstantin (his web site will tell you how) * If it doesn't work: TightVnc's error reporting is a bit rudimentary. Please follow the instructions below to get some more information about why it doen't work: If a directory \Logs\Java exists on the C: or D: drive, java programs will create a file java.txt there and write all their console output to it. TightVnc writes debugging info to this file which may help to track down problems (even if you don't know java). So, if you don't have \Logs\Java, create it! (it doesn't matter whether you create it on C: or on D:) Then start TightVnc, and fill out the initial screen. After this, there are a couple of possible problem scenarios: If a very small (a few pixels wide) window apears in the upper-left corner of the screen, and nothing seems to happen, press menu and quit. In this case, the host you specified could not be found. (or it may pretend not to exist: winXP boxen may need to be told that they may accept incoming connections from other machines) If nothing at all happens, or if the small window appears and then disappears, have a look in Logs\Java\java.txt (either on C: or D:) If it doesn't exist, check your Java installation. If it exists, read it. Amid the gobbledegook, you will be able to discern some meaningful information. The very first line containing the word "Exception" is the important one. It may say something about: out of memory exception: you need more memory! close a few programs and try again (a fullcolor desktop at full resolution may easily take more memory than you have on your Netbook. Try running your server machine at a smaller screen size (800x600 or even better: 640x480) before you start the client connection refused by host.my.domain: the host exists, but there is no VNC server listening on the port or screen you specified Make sure the server listens on the port you specified (usually 0 on windows hosts and 1 on linux hosts). Also, make sure that the server machine is configured to accept connections from other machines (many WinXP installations don't, out of the box) * Changes from the original TightVnc to EpocTightVnc: - Replaced button bar by menu bar (to gain some useful screen estate) - Top frame is made larger than screen and then moved upwards and to the left in order to get rid of title bar (again gaining some screen space) (NB: Java application windows on EPOC can be moved by entering "move mode" (press Ctrl-space) and using the arrow keys. Esc exits move mode) - Now you can disconnect your WLAN card (or switch off your machine) without the client dying. Next time you press a key or click the screen, the client will re-login using the same password as the first time - shift-pen emulates a middle-mouse-click (or a right-click if you reversed mouse-2 and mouse-3) in the Options menu - Scroll bars appear correctly when the server buffer is larger than the available space on your screen. - Fn-key combinations are sent as Meta-key (except predefined combinations like Fn-8 which gives "}", and some other ones defined by the Java client: * Fn-arrows now send PgUP, PgDn, Home, End * Fn-\ sends the pipe symbol | * Fn 1,2,3 send F1, F2, F3 (but Fn 4 sends the Euro (or does it?)) * Fn-z,x,c,v are "dead" keys under EPOC - used to send é (Fn-c e) This makes it impossible to send Meta-z Todo: Better error reporting pop-up dialog to choose all the keys and key combinations that now are impossible to send (like ctrl-space, alt-left, alt-c) Bugs: Sometimes the keyboard and the mouse seem to have stopped working. In this case, the JVM thinks you still have Ctrl, Fn or Shift pressed. Pressing and releasing them will bring the JVM to its senses. Resizing the desktop so a smaller size may leave remnants of the old desktop visible. Unsolved: T here is something wrong with java.util.zip in the Psion 5MX (it is OK on the netbook), so that zlib and tight encoding mis-places some rectangles on the screen. Untested: whether logging still works * Contact: Hans Lub hlub@knoware.nl