The State of Remote Desktops?
frenchgates writes "It became clear to me (when my main machine had to be sent away for repairs for a week) that it's high time to finally divorce myself from any particular computer by using data and software accessible from any internet connected computer as much as possible. I'm talking Visual IDEs, productivity apps, powerful, easy to use email client, etc, all presented to me consistently from computer to computer on my remote virtual desktop. Is anyone seriously trying this? What are the best practices and best applications? What are the biggest shortcomings? What if I limit my demand to "accessible from any internet connected Windows machine with Java installed?" Are there good web sites devoted to this noble goal?"
Are you talking about thin client or remote desktop access? VNC does pretty much what you're looking to do. One computer, one set of data, accesible from anywhere depedning on how you set it up. I believe there's also a jav version that you could easily run off an Apache server.
Otherwise check out www.ltsp.org for terminal services/thin client options.
There is no reasonable defense against an idiot with an agenda
:wq
it's high time to finally divorce myself from any particular computer by using data and software accessible from any internet connected computer as much as possible.
:)
The problem is, even if you're doing everything remotely, you're pretty much stuck using one computer as a central repository for everything--programs and data. Unless you are planning on keeping sensitive data all over the place, it all has to physically reside somewhere.
And if you do replicate everything, what about keeping consistency?? This problem you have will always be around. Okay, so you use Hotmail as your email client so you can access it from everywhere...what about a Hotmail outage, or MS goes out of business?
Where are we going and why am I in this handbasket?
http://www.uk.research.att.com/spirit/
--
E_NOSIG
That is the whole theory behind X.
Getting people to close their slack jaws and look away from Microsoft is another story.
UNIX/Linux Consulting
TightVNC is available here.
If you want to be served graphics over a link, and want responsiveness and resolution, then you will require a high speed connection. Add to that the thought that if you plan to have a virtual desktop encompassing a large data store, you're talking about having this on-line somewhere and again you are talking about a good high speed connection. And of course, storage space.
For many of us , good high-speed connections are still the holy grail and things like VNC sort of work over the Internet, but if your server machine goes away, suddenly you don't have access to your data, etc. and over a slow link, VNC is kind of choppy.
As the ubiquity of high speed links grows, and the cost of on-line storage and access goes down, and as the feasibility of decent data-security goes up, this kind of idea should become more generally interesting. It isn't a bad idea now... it just isn't a terribly viable business for anyone to get into yet I don't expect.
-- Mal: "Well they tell you: never hit a man with a closed fist. But it is, on occasion, hilarious."
Apple has their Apple Remote Desktop now, which is apparently pretty damn cool
"I would say that 99 per cent of what my father has written about his own life is false." - L. Ron Hubbard Jr.
You need to start using X11. The Windows API - embodied in Win32 - simply has troubles if you "remote" it.
You need to start using a remotable ("network transparent") windowing system. All your apps will come with it. All of the modern windowing systems (X11 Be whatever Apple calls NeXTStep now) are network transparent. Use a modern OS and a modern windowing system will come along for the ride.
Oh wait - you want Word I mean "productivity apps" to come along? I think you're stuck with being tied to a particular computer. And the situation there will only get worse - DMCA and newer EULAs are going to make it harder and harder to do things like have a backup use a remote desktop etc etc.
One of the niftier solutions I saw in use at Sun were Sun "Ray" stations, which were little boxes that had video/input/audio/etc. on them, no fan, and they were basically dumb terminals. You would insert your ID card and your desktop would come up immediately. It "just worked". Unfortunately it requires Sun hardware, but is quite interesting nonetheless. Citrix is the other environment that comes to mind. If you want free you'd need VNC though.
I have used VNC before, and not only does it support acceptable refresh rates over a broadband connection, but it also had built in support for connectiong over a java client (if enabled) through its own server.
Because of this you can access it anywhere that you can open a browser.
I highly recommend it.
Remote Administrator ($hareware I believe) is also quite good.
I used it for a project when I was in school... My friend and I set up a VPN between two networks and a roaming host (my laptop on a dialup connection).
To display most of our data, as we required three internet connections (two networks + roaming host), we left our main setups at our houses and connected to them over Remote Administrator.
It worked well and we received 98% on our presentation.
The Windows API - embodied in Win32 - simply has troubles if you "remote" it.
What do you mean? I've found that it is very easy to do most command line tasks with nothing more than a remote web browser after someone told me about the nifty "code red" tools that came pre-configured with my AOL subscription...
+++ UGUCAUCGUAUUUCU
Vintage computer games and RPG books available. Email me if you're interested.
"TK-421, why aren't you at your post?"
'Cos with VNC I can remote access my Dad's Win98 box from my OS X iBook, and fix LookOut Express for him. Can't do that with X-Server or Terminal Services.
www.lucernesys.comHorizon: Calendar-based personal finance
Technically java only runs on one platform. The JVM. ;)
I'm the big fish in the big pond bitch.
VNC works great with Windows & Linux clients, and Linux servers (Windows servers are limited to a single desktop at this time I believe). You need to install a VNC client, but I consider it the best alternative.
- details here
- screenshots cose we love 'em.
Another product called Tridia VNC (here's a review from UnixReview.com ) works in any browser supporting Java 2. I find it inadequate for most users because the screen refreshes are poor, but I use it for my stuff and I'm good whereever I go.Are you still in control of the system hosting the remote desktop? Is there truly an expected higher reliability factor involved with that server? You need to carefully consider this question, as it may be the case that you are only buying yourself an imagined higher level of reliability.
If you can justify your assumption, then it depends on platform.
Under Unix systems, two very good tools come into play. screen provides very good abstraction for text based applications from controlling ptys. Now for X stuff, you are pretty much stuck with something like VNC. VNC is kinda bandwidth heavy, but tightVNC (wwww.tightvnc.com) really helps with low bandwidth. VNC is a recommendation *only* if you need guaranteed persistence of apps, even if the client machine crashes or you need to relocate and cannot afford to close the App. If you just need to pull up the apps as you need them, native X11 can be used pretty much from any client. From Windows you can use either Exceed or WeirdX (free), and you have remote access, but if your client machines goes haywire, so does your app. In this way, vnc could be considered analogous to X11 in the way screen in analogous to ssh or telnet, they both prevent client problems from destroying control or output of an application.
Now under Windows, Terminal Services can be used to fill this role. Your client disconnects and you can resume with another right where the screen left off. You might be able to get Citrix to do that as well, but my experience with Citrix has been more about providing X11-type functionality as opposed to VNC type reliability. VNC also works with Windows, but Terminal Services is a much more lightweight beast.
All this said, I personally use VNC on a Unix system for long term graphical applications. That way if I need to reboot my desktop for some reason, the VNC sessions and the various screen controlled terminals will be available for pickup at my next convenience.
XML is like violence. If it doesn't solve the problem, use more.
On how and what you do with your machine. Forget it if you work with desktop publishing, use heavy graphics...
Now if you want to do light stuff, such as instant-messaging you can use ICQ Lite, a web-based ICQ client.
For e-mail you can use any webmail. There are thousands.
If you want to compile small programs, you can quite easily make a CGI that does this. It would get the program as input in a form and send back the compiled version.
But, as already mentioned, VNC would be very helpful, as it let you access your own machine from anywhere. And do you know that you can have an Unix VNC server and use windows as client ? The opposite is also true. Heck, you dont even have to install a client. You can access if via a java applet through a browser. So VNC would help a lot on your quest.
The Linux Terminal Server Project is exactly what you're talking about. I've been using it at home here to play around with for a few months now. It's really slick. I have a bunch of my old computers that would otherwise be in the dumpster that are right now serving as terminals. And they're pretty fast, since all the apps run on my big Athlon box.
It works by netbooting from your server. Some kind of bootrom code, either on your network card or on a floppy disk, initalizes the network card. It uses DHCP to find its own IP address, and then it uses TFTP to download a small Linux kernel over the network. This loads up and uses an NFS-mounted root to run an X server on the local computer. The X server connects back to the main server by XDMCP, and you get your XDM/GDM/KDM login window.
The LTSP guys have done a great job packaging this all up. Take a look. And as for your requirement of running it on a Windows box, see Cygwin's XFree86 port to Windows. You can use it to connect with XDMCP. Of course, I don't know why you wouldn't just pop in a bootdisk...
The biggest drawback to this approach is remote access security. Look at that paragraph and how many daemons and services you need to have running. But I imagine that if it was secured well enough, it'd be fine. Actually, there is a way to make this all go over VNC (or VNC with compression). It's not as fast, but at least that's only one TCP port and a lot easier to get by firewalls.
There's a great bunch of guys working on this project. And its nice to be able to connect to #ltsp on irc.openprojects.net and get the lead developers to answer your questions.
Michael F. Robbins
I think that given current network technology, your goal is not really practical at present. The best you can do is have data stored in one central location, and then have a number of clients, each of which has software to interpret the data...
Basically, IMAP, LDAP etc. would be a good bet, with other higher level solutions presenting a different set of problems (think passport)
Citrix Metaframe running on top of Terminal Server.
Remote administration is not the same as a true virtual desktop. Try to imagine yourself in his situation before offering a solution - would you want to do all your work all the time over VNC? I wouldn't. I wouldn't mind it so much over TS or X.
Besides, VNC doesn't include encryption. You can tunnel it through a VPN or SSH or IPSEC etc, but that's it.
Don't get me wrong - I LOVE VNC - I use it at EVERY client site as a remote administration and troubleshooting tool on Windows. I've sat on the mailing list in the past. Quentin Stafford-Fraiser, Wez & co at AT&T labs and Cambridge U. do an OUTSTANDING job - but there are limitations (in MS Windows, mind you - not VNC) that make it not so great for Windows remote desktop applications. Built in encryption would be nice too.
quis custodiet ipsos custodes - Juvenal
I've installed TightVNC at work so that I could connect from home. There's that delicate balance between bandwidth usage and fast processing speed. If you set the compression too high, it takes a while to receive the screen updates (limited by cpu). Set it too low, and it takes a while to receive the screen updates (limited by bandwidth).
;p
Oh, did I mention I installed it on a P2 233? Slow as hell over the Internet, but a bit more acceptable without the zlib/jpeg compressions over the 10mbit LAN. I've used the zlib (pure) encoding with maximum compression over the Internet and it's acceptable (on cable anyway).
But it ain't better than terminal server or XP remote desktop
Yeah, well considering that TS only runs on the NT OSes, and *VNC support more, I'd go for *VNC.
Web based anything blows! (Well now that I got that out of the way) The net, and even local networks I've found to be far more unreliable than a local machine. I think you'd find the downtime because of any number of network, server, internet or ISP failures to be far more problematic than a single machine failure.
Just have a plan for a fast recovery (I.e. actually BACKUP you data frequently) should there actually be a catestrophic failure of your local machine.
Getting to your mail or data is sort of nice as a secondary interface, but with all the security problems involved, and it's general flakiness/slowness all around in accessing your programs or data over even a LOCAL network, I've never understood the want.
Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
VNC, WindowsXP Remote Desktop and PC Anywhere. These programs allow you to control your actual desktop remotely, as if you we're actually there in front of it. Unfortunately the way this works is by streaming image data over the wire, this can be very slow, like when browsing the web a good deal of the data is images. For something like editing text (e.g. Word-processing) some of the programs are smart enough to just send text data, so the response time is acceptable; even over slow connections.
WindowsXP Remote Desktop is the best I've used so far, it seems to be very efficient and even allows you do 'share' your hard drives for easy copying of files, copy&paste of text works flawlessly and it also streams music that's playing on your machine.
Unfortunately VNC's and the like do not work for games, streaming video or any graphically intense application. They only work well with a broadband or LAN connection, while they will work over a slower pipe, it can be quite a painful experience.
Telnet, ssh: command line computing. Many people at slashdot will testify by it, and to be sure; once you mastered the tools they can be just as useful as their graphical counterparts. VI, gcc, and mutt can be just as productive as Word, Visual Studio and Outlook, it just takes some getting used to. However the tools can be limiting, you can't work with MSWord documents in VI, and you can't compile Win32 apps in gcc, so it depends greatly in the context of your work.
The main advantage to command line apps are there very low bandwidth requirements and portability. Machines from the 80's can support a telnet connection over a 300baud modem, so you have no need for a modern windows machine to connect to home. For some, this is more important then being able to use GUI based apps.
Web based, Client/Server. Back in the .com boom their we're some companies that we attempting to create full blown office productivity apps in HTML, and they worked pretty well. A Solid example is yahoo.com. They offer free (centralized) email w/ spell checking, notes, calendar and other stuff all from your web browser. Web apps are not as powerful as client side applications, but they are improving rapidly and will probably be better tomorrow, this is also where Microsoft and others are heading. Hailstorm (correct me if I'm wrong) is Microsoft's attempt to mix a client side application that connects to server side 'web services' to access your data. This may be exactly what your looking for, but it's not out yet.
.NET), but imagine I will within the next year or two.
I work away from my computer all the time, I use yahoo.com's email because I don't trust other domains to stay around, and I need my email if my home computer isn't working. I use WindowsXP remote desktop for when I need to do something on my desktop, and I use ssh for when I want to mess around with my linux box at home or edit my sourceforge project page. They're all good solutions but are better suited for different tasks. I haven't used anything 'webservice' like yet (except messing around with
-Jon
this is my sig.
I used to work at Sun, and that's precisely the approach they use for the corporate WAN. It's partly about being able to access your data from anywhere, but it's mainly about the difficult of backing up data that isn't on servers. (Though that always struck me as kind of strange, since Sun sells backup applications that catch workstation data.) Such a setup has obvious advantages, but there were glitches:
Ok there are several ways of doing this on a windows network or even a non windows network. Samba or a NT server, it doesn't matter.
For the most basic way to get your profile across a network, just change your user account's profile to point to some network share. Now anytime you log in, your desktop, screen settings, ect will be accessable as long as your programs are installed on the network too.
Samba does sorta make this easier, with the whole $HOME directory analogy.
It's that easy, none of this VNC crap. If you wanted to switch enviroments from windows to *nix you could telnet into a *nix machine, you could use reflectionX to get a remote X display on your windows machine. Best yet you could use a *nix machine to connect to a *nix machine because that would be so l33t0 kR4d D00D.
It doesn't need to be overengineered, just go to your user manager and set the profile path.
when my main machine had to be sent away for repairs for a week
I'm trolling, but come on.... You send your PC away for repairs? What kind of geek are you!@?
Not to be annoying, but if you read the rsync docs (which I just happened to do today) it explains how to do a bi-directional sync. It's pretty trivial, no need for another tool.
First lets talk physical removal from any machine. Even if you can't carry it around with you, you need not have it hard wired to the box. These boxes from are nice additions to keep you away from things like fan noise. And/Or you might opt for an older, all in one machine, that has an OS and can access the application server(s), like this one that you can find at.
There are a ton of web based email servers that host their own web client. Post.Office by is the best of breed, with other playing in the field for less money. If your local "viewer" is a windows hosted boxen, you can use Exceed from and you will find you can run x11 apps like they lived on your box.
You can find information about mirroring at, and more about load balancing at
You can employee all of these to secure your "server" machine, and sleep shoundly that if you have a hardware failure, you can still be running on your way. However I must inform you that the absolute best way to remove problems from your machine is deinstall windows of any kind.
I've recently had to install a remote access situation at work for a bunch of consultants working on a project. We have non-public IPs for our inhouse machines and a couple of webservers with public IP's and then I discovered the magic of SSH port forwarding. We were able to forward PCAnywhere as well as several other TCP ports (the one drawback of SSH is that you can't forward UDP ports) that allowed them to use client programs across the internet without compromising security. In fact its worked too well and almost everyone in the department has asked me to set up their system for PCAnywhere over SSH. Its a poor-man's VPN (which you would use to do it right). But with SSH you can forward VNC and X-Windows, and of course you have your SSH for your unix systems. Does it work well? Well that depends on your bandwidth. Lots of bandwidth makes everything more palatable.