Wednesday, November 02, 2005

How to get your remote desktop

In old times, client workstations have been quite dumb. All programs and data was stored on big servers, and the people accessed it from thin clients at their work desks.
With the rise of the desktop pc the client became more intelligent - which lead us to problems in software distribution, driver installations, backups and many more.

Recently, the art of working remote is being rediscovered. Most of work can be done in the browser already, and every day new services come up where we can collaborate on documents, edit and manipulate photos or manage projects. More and more it becomes irrelevant, which operating system your client is running, Firefox is everywhere.

Some years ago I signed up for WorkSpot, a paid service that offers remote linux desktops to which you could connect to with a small java applet in the browser a VNC client. I could access my workplace with word processor, email, messenger, bookmarks and newsfeeds easily from any internet cafe or other place I wanted. And it was great for showing people new things without having to install stuff on their box.

Then, WorkSpot started to have massive problems. Every once in a while, the servers were down, sessions wouldn't start, or they wouldn't install the latest version of gaim so it would work with the redesigned protocols of Yahoo and MSN. WorkSpot seems to be off business now. Their idea was really great.

Now CosmoPod is doing the same thing, the only difference seems to be that they're using NX instead of VNC to connect. Talking about connecting - it didn't work for me. There are too many users out there, or some freaks already smashed it down. Some time ago I thought about coming up with a service like that, but I didn't.

This are the issues with a general remote desktop service
  • availability: people will probably not use their desktops 100% of time, but when they need it, it must work. Things like that cause heavy loads on the host systems and you need to watch it 24/7.
  • backups: how to explain to your clients that all data is lost - but at least the service is free?
  • security: making a webserver secure is quite hard. Making a unix system safe from users bothering each other or sniffing around is almost impossible.
  • third party software: many people - many different ways of working and software to be used. There will be discussions like "Why is that software installed, but not that one?"
So if you're serious, forget about free remote desktops. Unless a big player like Google offers it - but also here you should think about what you do.

Here is what you can do to get your remote desktop and you don't want to have that box running under your bed:
  • rent a cheap virtual server (vserver, based on Virtuozzo technology) from your favourite hosting company. In Germany, you can get one with 1 GB harddisk and 5 GB traffic for 3 $ per month.
  • deactivate all services like http, smtp etc.
  • install kde, firefox, open office, gaim, .. all the things you need
  • set up VNC and connect to your individual remote machine
  • if you want to be on the safer side, start the VNC service only when you need to use your desktop.
Update:
A more secure and also very interesting solution is the following:
  • get your own virtual Linux box as described before.
  • Linux is a networking operating system. We tend to forget that when talking about desktops and think of it as a simple Windows replacement. So instead of having your entire desktop remotely - why not simply focus on the applications you REALLY need?
  • for this you need an X server running on your local machine. The best one for Windows is Cygwin - and it's free.
  • now we can open gui applications (like Firefox, OpenOffice, Gaim,...) that run on another Linux machine anywhere in the world on our box. Your desktop will be local, just this very application you need is hosted remotely.
  • for this you start your local X server and allow other hosts to open a window. Issue xhost + on the cygwin shell
  • open a secure shell to the remote box. You have to enable X11-forwarding, PuTTY can do that
  • PuTTY will have set a $DISPLAY variable for you on the remote shell if everything worked. Otherwise you might have to switch on X11-forwarding in the SSH-Server on the remote box
  • now you can simply start a program of your choice, e.g. Firefox in the secure shell and if you listened closely you shouldn't have any trouble.
  • the cool thing here is, that all traffic between your local desktop and the application is tunneled through the secure shell and so automatically encrypted
  • try replacing the remote shell from /bin/bash to /bin/firefox. It's fun!
I know these are no quick solutions and you also need to have some basic unix administration skills - or at least the phone number of someone who can do it for you.

0 Comments:

Post a Comment

<< Home