Today's KDE4 application love session is all about remote access via VNC and RDP via the somewhat cryptically named krdc (which stands for "KDE Remote Desktop Client", in case you're wondering).
I remember back in the day when it only did VNC, and did it fairly slowly at that. At least it had a GUI, and it did get faster over time. A real watershed moment was when it gained RDP support: the rdesktop project accepted a patch to make it easy to XEmbed the rdesktop window in another window. This allowed krdc to provide some user friendly window dressing to the otherwise bare rdesktop window.
In fact, I remember applying the rdesktop patch manually to rdesktop and building it from sources before it the patch was available in their repository. I did this so I could keep using KDE on Linux where I was working. I would logg into a Windows terminal server box and using that one pesky Windows-only, doesn't run in WINE, but required app from there. Thank you, Tim Jansen for krdc and the rdesktop team for that wonderful little RDP tool!
Sounds like I was already deeply appreciative of krdc, no? Well, I was. However while functional, the krdc user interface wasn't the most gorgeous thing in the world. It looked like this:
If you are wondering what to put in the text box there, if you clicked on the "Examples" line edit you'd get some instructions. So it wasn't all that bad, and it had a history of the machines you'd previously connected to as well. It could also detect VNC and RDP systems by scanning a given network block. Not bad ...
So when it looked for a while like krdc was not going to get any attention for 4.0 and it ended up rather broken I began to quitely despair. But then: enter the dragon .. I mean .. Urs Wolfer. Urs stepped up and gave it not only some interface love, but also made some important internal changes and added some truly sweet features.
You notice that there's the breadcrumb widget (again!) at the top of the window. You can select between vnc and rdp from the drop down, and type in the address of host next to it. As usual, clicking to the right of the breadcrumb gives you the traditional unadorned line edit.
But what if you didn't notice that little edit? Well, that's where the rather nicer looking intro screen comes from. (And yes, you can turn that off if you like.) It makes it really clear what you can do and clicking on one of the buttons sets up the breadcrumb, pops up a little help box and sets you on your way.
Once connected, though, that's when things start to be a bit different. In the screenshot above, you can see how the start page is in a tab. This is because each connection you make is put into a tab, allowing you to keep multiple sessions open in one window and switch between them easily. Tabbed browsing, meet vnc and rdp. Tabs were my first reason to fall in love all over again with krdc.
In both versions of krdc, as with most vnc/rdp tools, you can switch to full screen mode. In kde4's krdc a rather pretty little widget sits atop the screen in full screen mode offering a selection of tools. When not in use it slides out of the way (though you can also "stick" it open so it doesn't slide out). There was a top-of-screen widget in KDE3's krdc as well, but it wasn't as pretty, nor quite as functional. krdc in KDE4, for instance, can take screenshots of the running session. Easy access to the special key input interface, minimize and other such tools makes using vnc or rdp rather nice and easy.
I also noticed that KDE4's krdc doesn't try and scale connections to lower resolutions in full screen mode. In KDE3 the tendency to scale by default led to pixely slow views.
Speaking of speed ... krdc now uses libvnc to do it's vnc magic. It is noticebly quicker than it was in KDE3, and I'm guessing it's at least in part due to this switch. Speed is goodness, and I love goodness. =)
krdc now also sports bookmarks, session management (so you can restore your open connections automatically when it starts up again) and much more via its configuration dialog. Just as in KDE3, it can use KWallet to store your authentication information as well.
Not all is perfectly rosy in krdc-land, though: the scanning feature seems to have gone AWOL. Hopefully this shows up again, perhaps using ddns/zeroconf/bonjour/avahi/whatever-the-cool-kids-are-calling-it-today. The tab bar also lack the usual new and close buttons on it (these are in the toolbar above instead), the welcome page could be a bit more helpful by doing a bit more than just popping you to the breadcrumb ...
... but given than krdc was without home and master for so long, I'm just happy it got such a solid KDE4 port to get things rolling. Well, that's selling it short, really: tabs, beauty and speed also came along for the ride. Thanks, Urs! =)