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?"
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
TightVNC is available here.
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?"
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.
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'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!
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:
I'm trying to restrain a rant, but this kind of pooh-pooh-ing is exactly why Linux continues to look like everyone's kid brother.
I am a student, with the opportunity of working at home. At school - fairly good T1. At home 256K DSL. Which means as connectivity goes, I'm actually quite well off. I run Mandrake and Windows on both ends. In this setup (note again that it is an above-average one), I can tell you that using X (over SSH with compression enabled), Matlab (java app) runs juuuuust barely fast enough to be usable. Any KDE/GNOME apps - forgetaboutit. I used VNC for about 20 minutes before getting tired of waiting for the pointer to catch up to my mouse. My then-roommate, who works for Microsoft, could easily use PPTP to connect to his TermServ machine over the same connection. Not at all sluggish. In fact, he could even do it over dialup (then it was sluggish).
X windows does what it was designed to do - let you redirect displays over the local network, but it's not a long-distance remote access answer.
If we Linuxites want remote connectivity for desktop apps, we'll need to figure out how to make higher-level RPC calls. Being a KDE user, I'd love to see this built into QT or KDE.
That's the desktop part. Now the data storage part:
In our glorious remote computing future, your data is stored in the "network cloud". Microsoft will implement this by selling Cloud Server 1.0, which only works if you have Microsoft Synchronization Server running on Whistlerhorn XPDQ.
But rather than trying to do things exactly the MS does, we can do them the Linux way: make a "cloud" that you can tweak to your little heart's delight. Example: My cloud = my home box via DSL, an extra backup box at home, a work computer and a PDA. Mandrake could hypothetically build a nice installer that sets up a generic configuration for add storage to my cloud, and some preconfigurated synchronization settings. It won't snap into a network quite as smoothly as MS Cloud Server, but if I want to change the kernel latency for the cloud-synching process, I can just go ahead and do that. All on my own machines...
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.