Open Source Guacamole Puts VNC On the Web
tbitiss writes "A new open source project dubbed Guacamole allows users to access a desktop remotely through a web browser, potentially streamlining the requirements for client support and administration. Guacamole is an HTML5 and JavaScript (Ajax) VNC viewer that makes use of a VNC-to-XML proxy server written in Java. According to its developers, Guacamole is almost as responsive as native VNC and should work in any browser supporting the HTML5 canvas tag. Supporting 10 Linux desktops in 10 browser tabs? I like the sound of that."
Actually, I have not problem with Slashvertisements that would obviously interest the slashdot community, such as this. Just tag it as such!
It is dangerous to be right when the government is wrong.
Where's GuacamoleAnalogyGuy when you need him???
Please, can't we have some more abstraction layers? My machine is just so fast I can't handle it. (Yeah, I know, we use the extra performance to services which were unfeasible earlier blah, blah...)
Eavesdropping 10 Linux desktops in 10 browser tabs? I like the sound of that.
There, fixed it for you
You could serve classroom instructions both local and across the Internet through a Varnish proxy.
It's called LogMeIn.
There is no -1 Disagree mod. Slashdot.org/faq defines mod options. USE IT.
"Almost" as responsive as VNC? So it sucks even more?
Plain old vncserver had this capability since at least 1998. I remember using it once at a customer site and their staff gathered around gawking. "He's got xterms in Netscape!"
VNC is an unencrypted protocol. If you type passwords into a VNC session, you definitely want to tunnel it through something secure.
I'd like to see something like this using the NX protocol as the response time is much faster than VNC.
So they took UltraVNC from a couple of years ago, which includes its own webserver with a Java interface accessible from a browser - and added a conversion program to change the Java into Javascript w/Canvas?
Sounds horrible to those of us who don't regularly support users :-)
I guess if you have "apt" installing a VNC client is not so bad, so I'm not sure I appreciate the advantages that much...
that Guacamole would be announced on Cinco de Mayo?
I've abandoned my search for truth; now I'm just looking for some useful delusions.
Heh, all the way back since the late 90's I've been logging in to my VNC sessions via the built-in java client (just go to http://vnchost:5801/ instead of vnchost:1 ). I guess that means that HTML5 + JIT compiled Javascript is the new Java?
If you like Guacamole, you'll probably also like AJAXterm, which can give you a webpage-based shell. It works well with GNU screen. It's nice for workplaces that block SSH but have an HTTPS proxy. Can't find a definitive webpage for it, but it's not too hard to set up from the debian repository. But it does seem to work a bit better than Mindterm (the Java ssh client from the 90's).
For mobile phone use, I've been fairly content with the java MIDPSSH. Unless your smartphone has a native ssh client, of course.
Searching for this capability a couple of weeks ago turned up carde, a project with similar goals. Nothing released yet, but they mention RDP as well as VNC, supported via an Apache httpd module.
http://code.google.com/p/carde/
org.slashdot.post.SignatureNotFoundException: ewg
So, is this just another vnc client, or does it do more? The article doesn't tell you much, and the documentation at sourceforge or in the tgz is almost non-existent.
After all, tightvnc can already serve up a java applet for in browser control.
TightVNC had a similar feature as well. I guess we are supposed to be impressed that this uses HTML 5.
So it'll be slow as hell? Perfect! *ducks*
VNC is slow. Having multiple VNC sessions in a broswer sounds like torture to me.
When is X11 going to get modern support for sharing displays over a network? Is anyone talking with Nomachine to work on a more integrated solution using NX technology?
Would you prefer a seven-layer Guacamole dipswitch?
I'm sorry, but I must not be the only one who's facepalming over a post about Guacamole being posted on Cinco de Mayo.
Libertarians somehow believe that private businesses should be stronger than governments but weaker than individuals.
Stay in the DevShed forums, Cohen...
So it's not very responsive?
Supporting 10 Linux desktops in 10 browser tabs? I like the sound of that."
or you know you could just be a good unix admin and use ssh.
I mean, /. does have an "xwindows" section.
I suspect it works on other things that are -- gasp -- !linux.
The client (read:web browser) doesn't need Java installed. That's about it.
If you have Java installed on your machine you can run a Java-based VNC client. The Java-based VNC client could be stored on a web server. So the benefits of cross-platform compatibility or use-anywhere accessibility aren't new or unique to the HTML5 client.
But you don't need Java. But you do need an HTML5 capable browser. Both solutions require you install an application of some kind. But everyone has a browser, you say. Well, HTML5 isn't set to be ratified until 2012. Changes to the spec could still happen. Changes that might break this HTML5-based client. Whereas the Java-based client, I know, will work right now and will continue to work.
What's worse, you're introducing a new point of attack/failure into the system. If you're paranoid enough to want an encrypted VNC connection you now have to worry whether or not the VNC/XML server is encrypting it's connection to the VNC server. You can't prove that it is, you just have to trust that it is. Whereas with a Java-based client you can setup a tunnel through any number of means and know that your direct connection to the VNC server is safe.
You might argue the HTML5 client approach is more user-friendly; a less-technical user would find this solution far more convenient. A system admin might like the solution too as there's no need to worry about installing a JVM on the client or teaching the client how to start a Java application. But those arguments don't fly. Whether it's a JVM or a browser you will have to install some piece of software on the client machine. And a Java application can be delivered and launched over the web just as easily as some embedded HTML5 client. The ease-of-use to the end-user is the same.
It's a nice hack to showcase what HTML5 can do, but that's all it is.
Would accomplish this better in every way imaginable, sans invoking all the gratuitous web 2.0 buzzwords.
Why do so many open source projects have the dumbest names? Whats next? Ketchup? Towel? Come on guys, put the bowl down for five minutes and come up with a name that isn't related to the munchies in front of you or the stains on your shirt.
No one cares what your captcha was
Houston TX, USA
Didn't VNC used to come with the ability to go to host:5900 or :5800 (whichever isn't the default) with a browser and get a Java viewer, like, forever ago?
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
which is awesome until you need to launch that one single GUI app and due to enterprise level policies you can't run an Xserver of some type on your Windows desktop in order to tunnel the display back to your PC.
Personally, I think remote admin cards on the servers (ala Dell DRAC) or KVM consoles you can hit remotely via a browser are a better choice since it is just like you are the physical keyboard/monitor and can access BIOS, your RAID cards, etc.
"Get a bicycle. You will not regret it, if you live." - Mark Twain, "Taming the Bicycle"
Why we use Logmein is because we can tunnel through the firewall and do remote support even if the person standing at the terminal at the other end is a non tech. They just go to a website, download the Logmein Rescue installer, we can log in, and after the session is over the program deletes itself.
The only problem is that we can only use it from Windows and only on Windows and Macs. That leaves clients who would like to use BSD or Linux out in the cold.
"The problem with socialism is eventually you run out of other people's money" - Thatcher.
We've talked about this before but why do people in OSS community accept odd names? Guacamole? Would you consider this to be a serious product for home use even?
I understand why you'd want to develop apps natively for the browser. I understand why you'd sometimes want native apps.
But this really seems odd. Why would I ever want to do this from anything other than a native VNC app? KRDC already has a tabbed interface anyway. The only place this seems useful is if you want remote access to your desktop from any random, untrusted terminal, which is a bad idea to begin with.
Don't thank God, thank a doctor!
What's in a name? That which they call Guacamole
By any other name would be just as crappy.
please see workspot.
Cheers.
Kilgore T.
another opportunity I can think of is to create a flash app that converts the display to AMF data and connects to blazeds to do the same and call it jalapeño. forgot to mention the word apple and block.
If I want to get around firewalls and having to install VPN clients, I use Adito / OpenVPN ALS.
It's got several Java based remote access clients including SSH & VNC.
..well, actually you could use recursive abstraction layers!
That's where you make a webpage link back to the users own desktop.
I was disappointed to not find an appropriate car analogy while skimming the comments. Almost as fast as VNC sounds like an auto manufacturer hyping up their new model by claiming that it's almost as fast as a Yugo.
I'm sure it was at least non-obvious and a good project to work on though.
Would you prefer "Remote Access Desktop Professional Ultimate - Browser Edition 9 (SP4)"
So, in other words...
R.A.D.P.U.B.E. 9 (sp4)
Sounds good!
try http://cre.ations.net/creation/webvnc---remote-desktop--vnc-on-your-iphone
Pidgin is actually a very sensible name. From Wikipedia: A pidgin language is a simplified language that develops as a means of communication between two or more groups that do not have a language in common.
Spoon not. Fork, or fork not. There is no spoon.
... but seriously, hasn't Windows Server had this stuff (multiple RDP's hosted on a web server) like this for 7+ years now? Is this something new to FOSS?
MikRFB
Feel free to download and try my one :)
It'd be awesome if they could implement a SPICE client this way.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Surprised nobody has mentioned Gitso: http://code.google.com/p/gitso/ "Gitso is a frontend to reverse VNC connections. It is meant to be a simple two-step process that connects one person to another's screen. First, the support person offers to give support. Second, the person who needs help connects and has their screen remotely visible. Because Gitso is cross-platform (Linux, OS X and Windows) and uses a reverse VNC connection, it greatly simplifies the process of getting support."
In the comments people seem annoyed by the java backend, the VNC-to-XML parsing and the project name :)
A different project with a spot-on name: jsVNC (http://code.google.com/p/jsvnc/) is out there!
* What a nice name :)
* Uses websockets, no XML encapsulation. Falls back to XHR, if websockets are not supported. The XHR-fallback neither do any XML-encapsulation or JSON encapsulation (done by the Carde vnc client). This is done to obtain minimal payload encapsulation.
* Uses a python backend (not java) for websocket/xhr -> socket translation, this backend can also do some other neat tricks, see: http://code.google.com/p/mifcho/
The jsVNC project however does not have any releases yet. But I expect to have the first release around august. Yeah i said I... this is a shameless advertisement for my quite on-topic and quite related project :)
The point of the Guacamole, Carde, jsVNC and the like is to have VNC-client in the browser without any other requirements. Other approaches require a java runtime environment (TightVNC, UltraVNC etc. the stuff that people say they have been doing since 1998), flash-plugins (FlashLight-VNC) or as the case with Gitso you have to install an native client.
The only client-side requirements for Guacamole and jsVNC is to have a browser with HTML5 canvas support! Nothing else!