Running UltraVNC viewer under wine

I talked in the last entry about using UltraVNC and UltraVNC Single Click (ultravnc sc) as a means of doing remote desktop support. The idea is that you (the technical support person), setup vncviewer to listen for connections, then the end user with pc problems can download your customized ultravnc server that will connect to your viewer through firewalls/etc. This has a lot of things going for it. 1) ease of use by the end user 2) only one network to make firewall configuration changes on, 3) small quick download. The biggest downside I see is that the ultravnc viewer doesn’t run on linux.

Why? you might ask, there are several vncviewers that are equally good under linux and VNC is a standard? Yes that SHOULD be true. Unfortunately, the coders of ULTRAVNC have made a decision that the lean SC (Single Click) version is not going to support ALL of the encodings that you’re likely to find. Let me illustrate.

My first test with the ultravnc sc custom-built for me went like this…

vncviewer -listen

on my machine and then I launched the sc server on the system to be viewed…. on the server, the application flashed up for a moment and vanished (no tray icon left) on the listening machine, the remote window popped up for a split second and then vanished. Here is what I was left with from the vncviewer in the console window…

vncviewer -listen: Listening on port 5500 (flash port 5400)
vncviewer -listen: Command line errors are not reported until a connection comes in.
VNC server supports protocol version 3.16 (viewer 3.3)
No authentication needed
Desktop name “WinVNC”
Connected to VNC server, using protocol version 3.3
VNC server default format:
32 bits per pixel.
Least significant byte first in each pixel.
True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using default colormap which is TrueColor. Pixel format:
32 bits per pixel.
Least significant byte first in each pixel.
True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using shared memory PutImage
Unknown rect encoding 16
ShmCleanup called

Unkown rect encoding 16… so I played around and specified a different encoding…

vncviewer -listen -encodings copyrect

Success… but dog slow… so I tried several, tight was one of the unknown rect encodings, zlib also failed, hextile I think worked, but was also too slow. So, in researching I found that Ultravnc Single Click slims down by excluding some of the common “slow bandwidth” encodings in favor of their own, the Ultra encoding. So…. I had to see if I could run UltraVNC on linux…

I started out with Crossover Office Wine, it was slow, but sure. I just downloaded the vncviewer.exe to a folder, then typed…

/home/myuserfolder/cxoffice/bin/wine vncviewer.exe -listen

(Crossover Office 5) and it ran, in a few moments I got a tray icon (that was slow and inconsistent), it did consistenly work though with remote connections. Slow launch feedback was my biggest complaint.

Next I thought I’d try the stock/vanilla wine. (Currently I’ve got wine-0.9.1-mdk installed). So, once again from a console window…

wine vncviewer.exe -listen

I was impressed with a very quick and responsive startup, tray icon in about 8 seconds (which was blazing fast compared to crossover office wine (Maybe I’ve got too big a registry to load there with oodles of programs installed?)). It worked fantastically well and this is the setup I’ve used to “listen” for incoming connections for a few support calls so far.

I did initially run into some errors with my wine config, which I think I’ve already discussed in another entry. That was essentially solved by clearing my wine configuration directory (renamed actually, just in case).

There are disadvantages to running UltraVNC this way. The biggest is that there does have to be someone on the other end to launch the server download. I did in one instance give consideration to downloading it and then using scheduled tasks and a batch script to run it at X time after hours, but ultimately it wasn’t necessary. One other note, the single click server, if it doesn’t find the “listening client” after a few minutes will unload and go away leaving no security risks from being constantly on.

   Send article as PDF   

Similar Posts