9 ms·
Guacamole – HTML5 Clientless Remote Desktop
- xorcist 12y agoI use something called Spark View for this. How does Guacamole compare?
- leishulang 12y agoLooks promising! Could be use to control bittorrent server from work. Maybe call it pluginless instead? Clientless kinda makes me imagine it's pure js/html5 app but actually it uses a server as client.
- nemo1618 12y agoyou can already control rtorrent via ssh, though admittedly it has a steeper learning curve.
- runeks 12y agoFor a less steep learning curve I recommend Deluge's WebUI.
- mrfabbri 12y agoAnother option could be transmission daemon web ui (forwarded over ssh)
- icebraining 12y agoOr setup a web interface for rtorrent: http://wiki.rtorrent.org/RtorrentProjects#Web_Frontends http://wiki.rtorrent.org/RtorrentProjects#Web_Frontends And on Android, there's Transdroid: http://www.transdroid.org/ http://www.transdroid.org/
- egeozcan 12y agoHaving an HTML5 client built-in doesn't mean that it's "clientless" but it's still impressive. MIT license doesn't hurt, too.
- jitl 12y agoIt's "clientless" as in you don't have to install any software on the machine you want to connect from. No need to fiddle with RDP software on your parent's computers, or worry about access control restrictions from a locked-down corporate network. As far as permissions go, if you can browse the internet on a computer, you can remote control your servers with Guacamole.
- dshankar 12y agoWhile purely a semantic argument, perhaps "plugin-free" is a more meaningful description than "clientless"
- gioele 12y ago> It's "clientless" as in you don't have to install any software on the machine you want to connect from. Except a browser compatible with HTML5-august-2014-revision. Believe it or not, there are many places stuck in pre-HTML5 times (hotel computers, for example). If it could stream GIFs and accept clicks with server-side image maps, then it would be compatible with every desktop graphical browser in existence (Opera Mini and text browser would still be not enough).
- Eiriksmal 12y ago> If it could stream GIFs and accept clicks with server-side image maps, then it would be compatible with every desktop graphical browser in existence I can't decide if that's the most brilliant idea I've ever heard or the most terrifying. Probably both.
- tekacs 12y agoLogMeIn did this (albeit with refreshing static images for control, IIRC) as a supported in-browser fallback client for almost a decade. It was horrifically painful, but usable in a pinch.
- drunkcatsdgaf 12y ago
- makmanalp 12y agoNomachine also has been doing this for a while, and NX is really darn smooth on spotty connections: https://www.nomachine.com/node/2473 https://www.nomachine.com/node/2473 I do love that this is open source though. Someone will probably add NX support soon. Sound support also looks pretty impressive.
- codezero 12y agoThe Github repo for the client says it's 50% Java, can someone clarify, is this an HTML5 client, or are there other things happening?
- deleted 12y ago[deleted]
- hueving 12y agoServer side is java
- sequence7 12y agoFrom the github readme: > guacamole-client is used to build the subprojects that make up Guacamole, and > to provide a common central repository. Each project contained here is > completely independent of guacamole-client and can be built separately, though > the others may have to be built first. If all projects are built using > guacamole-client, Maven will take care of the proper build order. My reading of this is that the client repo also contains the server, which is written in java
- jitl 12y agoGuacamole is a Java program. It's basically a proxy between RDP/VLC and HTML5. Guacd (the java bits) connect to an RDP or VNC server on your behalf, and then you interact with the remote machine through guacd. Here's a simple text diagram [Windows RDP server] <--RDP protocol--> [linux Guacamole server] <--HTTP or Websockets--> [HTML5 client in your browser]
- jitl 12y agoI run Guacamole on my home network as an RDP client to my Windows and Linux boxes. It's a fantastic piece of software. It beats VMC widely in terms of speed, and RDP narrowly when used across the internet. I run guacd on my home server and use that to access my interior network from any computer. It's stable, consumes low memory, and works nicely over HTTPS with apache reverse-proxying the Java webapp. A+ amaze your friends type of software. I am a huge guacamole fanboy. Edit: I used a Linux VM on my home windows box over guacamole from a Chromebook as my primary mobile computer for 6 months. Browsing in Firefox on my remote VM was always faster than browsing the web locally on the Chromebook. If only it worked well on tablets...
- tekacs 12y ago> and RDP narrowly I don't suppose[1] it supports RDP 8's new ability to play video on a remote desktop by streaming the media across and decoding it locally (works in the Win/Mac official clients). I was amazed and dumbfounded the first time a YouTube video played in a remote session with perfectly in-sync audio and video and instant response to mouse clicks and now find it hard to go back... [1]: Can't test this myself until I get back to a desktop computer (this is from a phone).
- mdmarra 12y agoRDP8 also supports RDP over UDP which further enhances performance in high-latency scenarios. I'm assuming that is also not factored into that claim either
- luma 12y agoI kept waiting for the demo video to show any streaming video which they kept avoiding. VNC is ancient by industry standards. While this is convenient and the open license is helpful, there are far more mature remote desktop protocol stacks available commercially. PCoIP, RDP8, ICA/HDX, heck even HP's RGS cam handle streaming video and USB remoting.
- 12y ago
- desaintmartin 12y agoThere already have been a few nice VNC web clients around for a few years, like NoVNC (http://kanaka.github.io/noVNC/ http://kanaka.github.io/noVNC/, python server-side, used in Openstack and others). Unfortunately, there's no magic: you need your VNC/RDP server, then your "clientless server" (proxy socket<->websocket or alike), then your web server to host the "clientless" client. It's becoming to be interesting when your VNC/RDP client directly supports websocket, eliminating the need of a proxy and only use a STATIC web server to host client. Wait, it's built-in for qemu since 1.4! http://git.qemu.org/?p=qemu.git;a=commit;h=0057a0d59006d00c294de0b012d9a290eb1a5c80 http://git.qemu.org/?p=qemu.git;a=commit;h=0057a0d59006d00c2...
- jackweirdy 12y agoDo you mean websockets or webrtc? This is a use case for the latter :)
- desaintmartin 12y agoAgreed! Current implementations (even this one I suppose, althought I didn't have the time to check) use either websocket or older hacks like client-polling or Flash sockets. Time to enter to the future! :)
- renang 12y agoNote that 1.4 introduced websockets support, VNC support was present much long ago. You would need a proxy tho, like the one NoVNC provides. I am still waiting better support for Clipboard on QEMU. :/ Currently using NoVNC as a client. Works really well. Keyboard needs more love.
- kanaka 12y agoThe websocket support in QEMU allows you to connect with noVNC directly without using a websockify (proxy/bridge). You can still choose to connect to the regular VNC port using the proxy, but if you activate websockets then you can connect without it. The same is true now with libvncserver based VNC servers (e.g. x11vnc)
- vnz 12y agoCan this be used with custom credential providers through RDP?
- ivan_ah 12y agoCould this be used on a Mac? I would like to have remote/shared access to Xcode + iOS dev stack... Or is there some other way to get that?
- philbarr 12y agoI use TeamViewer for that, AND Chrome Remote Desktop. I've found that I need both so that if TeamViewer doesn't work for some reason I've still got Chrome available to go in and fix it... Hardly the best setup but at least it's free. Will be checking this out to see if it fits my reqs.
- Yardlink 12y agoThis could enable some very low development cost cloudwashing of legacy desktop software!
- chromaton 12y agoThis was my thinking as well. Or to allow formerly plugin-requiring apps to run on the server. Any ideas for how to lock this down on the server side so that it can only run ONE application?
- jitl 12y agoGuacamole is just a go-between. For that sort of OS-integrated lockdown you will need to configure your target server (the box actually running VNC or RDP). No special support on the Guacamole end required.
- maho 12y agoCan I use this for a setup where multiple users look at the same "screen"? I combed through the documentation and am attempted to say no...
- jitl 12y agoThat sort of setup need to be handled by your VNC or RDP server itself. Guacamole will play nice with whatever your target server is doing in that regard.
- fulafel 12y agoI see a lot of these front pages with "major bummer, this video can't be played with your setup". Feels like the era of Flash all over again.
- Fastidious 12y agoI don't understand, It seems HTML5 video to me. What kind of setup do you have?
- fulafel 12y agoFirefox on Ubuntu. It's probably <video> using a non-free codec (H.264).
- wjoe 12y agoIt is, but I'm using Firefox on Arch Linux and it works fine for me. H.264 has been supported in Firefox on Linux for a few versions now, although you need gstreamer installed with the relevant plugins.
- jumpwah 12y agoHey I'm on firefox (latest -31) on arch as well. Thing is vimeo doesn't load for me either. I do have the packages `gstreamer0.10` and `gstreamer0.10-base` installed, however in `about:plugins` in firefox, there are no plugins installed. So does this mean I have to have some such 'plugin' here for h264 to work?
- jitl 12y agoKinda. You need H.264 codec support in Gstreamer. Try installing the Gstreamer libav (an FFMPEG fork) plugin: https://www.archlinux.org/packages/?name=gst-libav https://www.archlinux.org/packages/?name=gst-libav That should give your Gstreamer support for all formats libav supports.
- 12y ago
- jimmcslim 12y agoI see that there are a number of folks around with Docker containers for Guacamole, but it seems there might be nice for there to be an 'official' container for this project.
- annnnd 12y agoJust wondering: what features of HTML does Guacamole use to make this HTML5-only? Is it video tag? Canvas?
- bwblabs 12y agohttps://github.com/glyptodon/guacamole-client/search?q=video+OR+canvas https://github.com/glyptodon/guacamole-client/search?q=video... By looking in the code I think they use Canvas, streaming video would be interesting. Looking at guacamole-common-js/src/main/webapp/modules/Tunnel.js I think they use WebSockets with a XMLHttpRequest fallback?
- warfangle 12y agoLooks like it also uses audio - https://github.com/glyptodon/guacamole-client/blob/5ae22ce206582fb2eebdacf826697e8e1a20611d/guacamole-common-js/src/main/webapp/modules/AudioChannel.js https://github.com/glyptodon/guacamole-client/blob/5ae22ce20...
- ibisum 12y agoI wonder if this can be used to set up a multi-headed workstation environment, where each user has their own desktop (Linux) on the same large, megalithic server? I have a machine with 128gigs of RAM and 1TB of SSD .. this seems like the perfect situation where I can give a desktop to 3 or 4 users on the same machine. Anyone know how well that works with Guacamole yet?
- rev_bird 12y agoIt doesn't seem like a particularly elegant solution, but with that much memory, you could almost certainly carve out 4 VMs, each running a separate guac instance, right? Getting to them might be trickier, though...
- jitl 12y agoYou don't need a separate Guacamole application instance for each user or even each VNC/RDP host -- each user in your Guacamole config has its own connection settings and operates independently of other sessions.
- ibisum 12y agoI've since gone through the setup of Guacamole and tried things out - indeed, its as you state, you can isolate users pretty well. I was able to set up 3 test users, each with their own WM, and independent logins on the machine .. and it works pretty well. I can see this as being a great facility for a small-office environment that just wants to run a single machine that services multiple users, each logging in with Android tablets or whatever other cheap browser-supporting devices they may have .. pretty neat, and you can't beat the ease of deployment: just point your users at their web URL, and there's their Linux desktop. (I was even able to run Inkscape and Ardour on different logins, without too much fuss .. worked quite well!)
- jitl 12y agoI had struggles when using my iPad with Guacamole, but it works great with Chromebooks/Chromeboxes!
- unicornporn 12y agoI'd like to see some OS X binaries or a homebrew keg!
- iandanforth 12y agoI've found remote desktop setup immensely frustrating in the past. Every six months or so I'll think "Wouldn't it be cool if it I could have an Ubuntu AMI on EC2 I could boot and remote desktop into?" Then it's hours of googling and config settings editing. Hopefully someone will point me to the easy way I've been missing?
- skizm 12y agoChrome remote desktop works with linux/mac/win now. Not sure if there is some headless way to set it up on EC2 and/or linux but I've got it running on my box at home and it works great.
- jitl 12y agoUnfortunately RDP server on Linux is a bit tricky to set up, and involved some amount of compiling for me. On the other hand, I think `x11vnc` is pretty easy to get started with. I followed this guide, and it worked for me no problem: http://askubuntu.com/questions/229989/how-to-setup-x11vnc-to-access-with-graphical-login-screen http://askubuntu.com/questions/229989/how-to-setup-x11vnc-to... My guacamole server then connects to x11vnc so I still get RDP-like performance across the internet. Edit: you'll also want to make an Upstart job for x11vnc so that it starts on boot, and restarts if (when) it dies. You can just copy any of the basic upstart jobs in /etc/init.d/*.conf and investigate. You also may want to make x11vnc start after your X server: http://upstart.ubuntu.com/cookbook/#run-a-job-before-another-job http://upstart.ubuntu.com/cookbook/#run-a-job-before-another... There is a lot of fiddly business :/
- drunkcatsdgaf 12y agoDid you check out freerdp? I believe its in most package managers.
- jitl 12y agoFreerdp's server component is pretty experimental and mostly undocumented. The freerdp package you're referring to is a RDP client, not a server. This was the best result I got for googling "freerdp server": http://askubuntu.com/questions/475776/can-freerdp-be-used-as-server http://askubuntu.com/questions/475776/can-freerdp-be-used-as... Very much still a compile-it-yourself experience. When I was setting up my RDP server on my Mint media center, I went with xrdp + x11rdp setup detailed in some guides at ScaryGliders.net, although the same guy as released a bunch of scripts to do it for you, see https://github.com/scarygliders/X11RDP-o-Matic https://github.com/scarygliders/X11RDP-o-Matic I don't really want to deal with recompiling stuff and manual updates though, and expect others to feel the same, which is why I advocated x11vnc to the GP.
- blutoot 12y agoI'm thinking of the implication of something awesome like this. Hopefully in the long-run it will boost the likes of light LTE-enabled Chromebooks, at least for tech professionals. That of course requires high-speed LTE infrastructure and ISP backbones.
- cbhl 12y agoEh, Chrome Remote Desktop and Fusionlabs' Chrome RDP both already allow Chromebooks to be used for remote desktops (the latter speaking actual RDP), although both are closed-source.
- joeperks 12y agoI have used Guacamole as a solution to supporting remote desktop when the client location's firewall(s) allow nothing except port 80 and 443. Worked perfectly allowing users to connect to multiple desktops with no installation what so ever. Simply the perfect tool for what we needed and setup is a breeze once you familiarize yourself with the documentation. Definitely keeping this in my mental toolbox!