Remmina -- A VNC Viewer That Doesn't Suck

Recently I had a need to connect to a remote machine using the Remote Framebuffer (RFB) protocol popularized by "Virtual Network Computing" (VNC). The system I was trying to connect from used GNOME so I installed Vinagre. It was then that I discovered that it sucked. It seemed fine at first -- I didn't need much, but it failed to deliver. So I tried another VNC client, and it also failed to measure up. Then another, and another and they all sucked until I came across Remmina.

The only problem I have had with Remmina is the lack of documentation, but for the most part I've been able to do everything that I have needed to with it without fuss.

I even installed it on my normal workstation in case I ever need to connect to a system using the RFB protocol. It compiled easily and worked (with plugins) out-of-the-box.

Remmina, you rock.

Vinagre, you fail.

The remote machine I was connecting to sleeps most of the time, so a "Wake-on-LAN" packet is required to wake it up. In order to simplify connecting I decided to script generating the "Wake-on-LAN" packet and starting the VNC Viewer and this is where my problems with Vinagre began. The machine I was trying to connect to required particular settings in order to connect to it. I was able to specify these interactively within Vinagre, but not using the undocumented file format that it supports reading connection information from (".vnc"). Additionally, the build I was using would ALWAYS prompt me for the username and password despite checking the "Remember these credentials" checkbox. It also eventually stopped working, randomly. I was able to connect once, then I closed the application and tried to launch it using a ".vnc" file and I was never able to connect to the VNC server again using the interactive configuration.

vncviewer, tightvncviewer, etc fail too

These applications were far less troublesome than Vinagre, but they still had some problems:

TightVNC Java Viewer just failed to connect

TightVNC Java Viewer was the most useless, it didn't support any options that I could find and it wasn't even able to connect stating that it didn't support the RFB protocol version.