Ask Slashdot: Open Source Remote Application Access? 113
First time accepted submitter taikedz writes "Citrix Xenapp with Receiver/Metaframe allows publishing individual applications installed on a Windows server to users on remote machines. These applications open in their own windows, along side others as if they were installed locally. I am looking to do the same at home, with free software, publishing applications from Mac, Linux, and Windows machines (and yes, I've verified the license agreements for the apps I am going to do this with!). Up until now, the only alternatives I have found are full-on remote desktop login, not seamlessly-integrated. Can you recommend any tools that can achieve the goal of remote individual application access across platforms for free or at low-cost?"
SSH + TCP port forwarding (Score:5, Informative)
Re: (Score:2)
Read the friendly manual!
Given that the desktops are almost certainly running Windows, this by itself is only half of the solution. The other half is cygwin's X server with the -rootless or -multiwin command line options (the former requires you to run a native X11 window manager, the latter uses Windows' desktop window manager to provide window decorations).
Re: (Score:2)
Re:SSH + TCP port forwarding (Score:4, Informative)
google before you post OP. sweet fuck.
To be fair on OP, it seems that at least some of the applications they want to run are running under Windows and/or Mac environments, for which this solution does not apply.
Virtualizing a single application's windows from a remote machine is a non-trivial task that AFAIK hasn't been implemented in open source software for either of these platforms. The closest you'll get is by virtualizing the entire OS -- VirtualBox with Windows guests (and Windows only) can do this. You'd then have to run the virtualbox virtual machine process as an X client, and use X-over-SSH forwarding as described in many existing posts to get the windows to appear on the target machine. Performance will be poor (although my one experience of citrix suggests its performance was equally bad, so maybe you can tolerate that).
Re: (Score:2)
I still use freenx to get a hosted web browser that ignores any limitations on local traffic.
Re: (Score:2)
Use x2go. In my experience it's much better then FreeNX - faster and easier to consider, and also without the weird "everyone shares the same SSH keys" thing (it just connects to regular system SSH accounts, and sets everything up from there).
Re: (Score:2)
You didn't mention speed or efficiency (Score:5, Funny)
So, X11.
Re: (Score:1)
You can have either total speed/efficiency or the "burden" of separating the back-end from the front-end (you know, basic software engineering principles unheard of in the Windows world). It's a trade-off. And like making sure you don't have out-of-bounds accesses or random jumps, and that your inputs are formal languages (e.g. finite-state machines), I think it's damn worth it.
But I've only been software engineer for the last 20 years... so what do I know?
Re: (Score:3)
Feeling a bit defensive, are we, Mr. Scheifler?
Re: (Score:2)
Perhaps instead of waxing on about software design like you have a clue you should join the real world and realize the MS RDP implementation gives you both, not one or the other.
Just because your software sucks doesn't mean it all does.
Re: (Score:1)
X forwarding (Score:5, Insightful)
This has been a feature of X since before X11. It's even easier to use now with SSH supporting X forwarding. And if you're using it across the public internet, you can get good performance with FreeNX.
Unfortunately, this is all likely to go away if X is deprecated in favor of Wayland.
Re: (Score:2, Insightful)
Re: (Score:2)
Re: (Score:2)
Does Matlab display graphs? That would be a good use for forwarding. I use R under X-forwarding like this all the time.
Re: (Score:2)
Freenx [berlios.de] is a great solution for less shitty X11 forwarding. It compresses and caches stuff and doesn't need nearly as much bandwidth.
Re: (Score:2)
I must be doing something wrong or GUI toolkits these days aren't designed as well for X forwarding
Quite frequently. Many of the problems which modern replacements of venerable older parts of GNU/Linux are being designed to solve are caused not by bad tools but by people who don't know how to use them.
They would, of course rather nuke the entire system and rebuild from scratch than learn the old tools. This means that the new systems frequently repeat ancient mistakes and corner case bugs that were hammered
Re: (Score:3)
I must be doing something wrong or GUI toolkits these days aren't designed as well for X forwarding
Quite frequently. Many of the problems which modern replacements of venerable older parts of GNU/Linux are being designed to solve are caused not by bad tools but by people who don't know how to use them.
X11 is neither GNU nor Linux; it began as another lump of free software ...
but apart from that, +1.
Back in the 1990s, it was understood that X11 programming had an network efficiency aspect. For example, forcing a network roundtrip for some common user-level operation was considered bad, because N*x milliseconds can easily become a long time.
Re: (Score:2)
actually, this is a serious issue, and I am not sure the cause, likely its morre than one.
I can think of a couple of apps recently where I had serious issues. The first was "virt-manager" which is, biog shock, a gui virtual machine manager. I don't usually use it myself, but i was building a VM Host for a friend with a small web design firm who was passing files around the office on USB sticks! I found I could run it fine locally, or over the LAN, but, over an SSH connection? Slow to the point of unusable.
Re: (Score:2)
Re: (Score:2)
I can think of a couple of apps recently where I had serious issues. The first was "virt-manager"...
Just a guess, cause I'm running virtualbox instead of virt-manager, but does it display a thumbnail of the vm's state? If so, that'd likely explain it, because it's essentially doubling the rdp/x11 traffic.
Second one was....filezilla of all things. I was at work and needed to test an external service. So I ssh into my home box, and fire up filezilla from there. I ended up packing up and driving home to do the test, it was THAT slow.
First, the upload speed on cable (typical home access) is often horrible. That'll probably hit bandwidth constraints right there with most apps (partially because most apps these days use bitmapped graphics for drawing all their ui elements, as opposed to something like mwm or xwm and apps using the x11 t
Re: (Score:3)
SSH is ridiculously slow for things that aren't text sessions (and the amount of advice which is "do your backup over SSH" is staggering considering this).
Over any reasonably fast link you need to be running the HPN-SSH patchset to get performance above 2 mb/s in my experience. The MT-AES cipher also helps (though breaks if your application forks, though I've found very few cases where this is a problem currently in practice).
Re: (Score:2)
X has never forwarded well over anything but LAN. Back in the '90s I did remote X forwarding to sun/sgi machines to be able to run some stuff on my linux while in school. Of course the only non-lan back then was modems.
Re: (Score:2)
And for mac and windows apps I've had some luck with virtualbox displaying over Xwindows.
Yes I know he wanted app level not full on remote desktop, but you can visually simulate that into being apparently identical without much effort, at least for windows stuff. Ends justify the means and all that.
VNC into a windows desktop on virtualbox works pretty well too.
Re:X forwarding ... is useless (Score:1)
Re: (Score:3)
Use VNC?
That's funny.
VNC is a pig even on a LAN.
Caching and compression with X is much more effective.
While X haters were busy repeating 20 year old arguments, the rest of the world caught up with Unix. Now if you gut remote desktop access, you will just be making Linux look like it's 20 years behind.
You've got to bake this stuff in. You can't just ignore it. There's really no way around it. Otherwise you end up with stuff like what Mac users are stuck with.
Re: (Score:1)
got to disagree, VNC beats X (Score:3)
Maybe if you have brand new applications written properly then X is okay. However, I have old legacy apps that require many round-trips between the X client and server to do the simplest things. For a cross-country link with 60ms ping it is *FAR* faster to use VNC than to use X.
Re: (Score:2)
Have you tried FreeNX?
Re: (Score:2)
Re: (Score:2)
X is completely useless over anything more than a local network. Between South America and Europe, the only viable approach I've found is to run an Xvnc session remotely and then VNC to that. This is more or less what is proposed for remote Wayland, so we lose absolutely nothing by switching from X to Wayland (once all the necessary parts are implemented). Not sure where this unrealistic pro-X anti-Wayland FUD comes from. Nostalgia for dying 80s era technologies?
Experience with VNC. Slinging pixels sounds like a horrible idea if you've ever used VNC. Of course the issue is VNC is just slow, since obviously if I can stream 1080p from YouTube my quad core i7 should be capable of doing something similar with it's desktop output.
That said, it does seem like a missed opportunity in Wayland not to let applications pass some type of sub-information about drawable window space up to the compositor for this purpose - Wayland deals with them as flat buffers, there's no proto
Re: (Score:2)
You can stream 1080p compressed across the Internet because someone spent considerable CPU power to compress the video in advance that you can not possible do in real time.
Per-recorded versus real time.
Two easy solutions (Score:5, Informative)
First, if you haven't already read up on Xwindows networking model, you really should. X natively supports what you're requesting, and has for decades. In most cases, it's as trivial as opening a ssh connection to the remote machine, using the -X flag. E.g. 'ssh -X remotehost'
If you need to support Windows applications, you can use RDP in seamless mode. Newer RDP clients for windows support this natively, with a little configuration work. There is some support in the linux RDP client, but when I tried it about a year ago, it required a special helper application to work. Be aware that RDP is no where near as fast as Citrix.
Finally, if you simply want Windows applications to seamlessly integrate with a linux desktop or visa versa, VMWare player/workstation supports a seamless virtualization mode. It would not surprise me if KVM or Xen have a comparable feature, but I haven't played with them on the desktop long enough to know.
Re: (Score:2)
VirtualBox also has a seamless mode and is both free and open source, well worth a look.
rdesktop (Score:4, Informative)
NanoX (Score:2)
NanoX makes X usable even over slow links. There is a free version. It is quite a joy to use and is superior to RDP/VNC implementations.
CORRECTION - "NX" (Score:3)
http://www.nomachine.com/ [nomachine.com]
I'm sorry, my mind pulled the server, not the client side of the question.
The NoMachine server/client is amazingly fast.
Re: (Score:3)
It supports awesome features like restoring
Re: (Score:2)
Re: (Score:2)
RDP is like being on the same LAN, freenx is like being 300ms away
Rather than freenx, which was never actually completed, try out NoMachine's nx server - I've done comparisons between them for work, and it is faster, as well as having more working features.
Re: (Score:2)
It's built-in (Score:1)
Windows Server 2008 has fairly well-rounded support for seamless application sharing, it's very similar to Citrix Xenapp but not as full-featured. 2008 R2 expanded this even further. Read up on Remote Desktop Services, you may find everything you need is already built-in.
Re: (Score:2)
Hardly "for free or aqt low cost" though is it?
Re: (Score:2)
You do realize if he spends an extra week finding and setting up a solution rather than just using Windows.than his paycheck will be more costly than just buying the licenses, right?
Cost is a big picture thing, not a single item/aspect.
OSS citrix replacement (Score:2)
WinSwitch (Score:2)
Re: (Score:2)
Agree, winswitch/xpra is a good solution and now with a new active development.
x2go is also a very good option, its the freeNX with better support apps and before the nomachine closed freenx4
"Nomachine" (nxclient) (Score:1)
VNC (Score:1)
Having done that a few times... (Score:1)
Option 1. (if your software is linux-native or runs stable under wine, needs no fancy gfx)
xrdp + wine - a remote desktop solution, integrates well, authenticates well
rdesktop can haz a seamless mode, preferred corporate solution
can be tunneled via ssh or vpn to add security
ubuntuwiki/xrdp [ubuntuwiki.net]
Option 2. (if your software is linux-native or runs stable under wine, needs no fancy gfx)
ssh -X remotemachine "wine remoteapp"
to integrate: ActiveDirectoryAuthentication [ubuntu.com]
Option 3. (if your app only runs only on windows, you
Windows Application license time-sharing? (Score:3)
What I'd like to know is whether we can have a way to time-share Windows applications. Consider an office of 100 people. At the moment, they all of MS Office installed, just in case they get an attachment that LibreOffice can't handle. That's 100 copies of the MSO license.
We'd like to move them to Linux, and LO, but still need that MSO capability just occasionally. So the obvious way is to set up 100 free desktops, and put 5 Windows+MSO machines in the corner, people can then walk over, queue up, and use the MSO machines if they really must. Result: only pay MS for 5 licenses, and start escaping lock-in.
But that's really ugly. Is there any elegant way to do this seamlessly for the end user, with VNC or similar? We need to ensure that 100 people can all (potentially) access MSO in their own environmnent (own PC, own view of the fileshare, if possible, own preferences), but with some sort of queuing system that shares out the access.
I'm aware of the ugliness if 6 people need MSO at the same time, and that this might not work well for video, or advanced powerpoint. But otherwise, how might it be done? (And given that MS might not *like* it, how do we stay legally covered. IMHO, this is perfectly fair, because MSO is only ever installed on 5 PCs, and only ever used by 5 people at a time).
Re: (Score:1)
I'm not sure you can do this legally.
That is, the 5 PCs in the corner should be ok. But according to this blog post (which, granted, is over 5 years old,) RDP / VNC is not:
http://blogs.msdn.com/b/mssmallbiz/archive/2007/08/08/4298215.aspx [msdn.com]
Quote: "Terminal Services does not change the number of devices accessing and using a software application, it merely provides another avenue to access the software through. So licensing Microsoft Office doesn't change at all regardless if Terminal Services is used or not.
Re: (Score:2)
This is the question. What I'm trying to do is arrange the "5 MS machines in a corner, walk over there and take your turn" approach, but without the walking. The company would generally have zero users making use of MSO; it just needs to know that all 100 of them could, if they had to, have occasional access. The Windows machine could be a single-user box, running a single shared "public" account.
Otherwise, what would it take to have a system that could script MS Office, to provide, say, a web-service that
Re: (Score:2)
I have recently worked through a license assessment with Microsoft, and I can confirm that the company line is that you need an Office licence for every client device accessing office.
Even if it is the same user accessing Office from their office workstation or from home using the company VPN, each device they use to access the server hosting Office counts as a seat for licensing.
What makes this confusing is that host access using RDP can be licensed on a per-user basis.
Re: (Score:2)
2) Buy/install remote desktop CALs, in this case 5.
Remote desktop CALs are not concurrent user, you must license all devices using it (and no tricks if you want to stay legal). So if you have 100 PCs accessing it from time to time, you need 100 licenses. These same users mus also have an Office license, but as they already have Office, they can get away with using the version/licenses they own.
Re: (Score:2)
Viewers are free... also Office Web Apps (Score:2)
The viewers for all Office components are free downloads. You could also set up Office Web Apps server (also free if you have a Software Assurance agreement) which will integrate itself into your Exchange 2013 environment to view all Office documents in Outlook's preview pane.
Or... you could get a few subscriptions to Office 365 for $8 a month per user if the usage is infrequent...
Re: (Score:2)
Interesting point about the Office 365. The problem with the MS viewers is that they can't save the document in a non MS-format. And LibreOffice can't perfectly import the more awkward bits of MS documents.
Winconn (Score:1)
This sounds like exactly what you're looking for:
http://stanev.org/winconn/
Re: (Score:1)
Tarantella? (Score:2)
I know it's not free, but didn't SCO Taratella do this? It's now Propalms TSE, but it looks like it only provides a Windows server and multi-platform clients. Sad if so.
Wikipedia (Score:2)
NX has already been mentioned, but giving more details. Personally, I do think that Linux needs a good, fully GNU, non-MS-tied graphical RDP client/server (especially for businesses trying to go completely Linux). However, I think NoMachine/NX is probably what you're looking for based on the question. Also, as already mentioned, you can use VNC or X11 forward calls to your machine or even use xrdp on server wit
Ulteo? (Score:2)
Ulteo (download links) [ulteo.com] should provide you with seamless application integration regardless of the platform.
Downside: the webclient is java based
XRDP - open source RDP server implementation (Score:1)
RemoteApp (Score:2)
A little known add on for Windows clients: RemoteApp for Hyper-V. It allows Windows clients (XP+) to be used as seamless application hosts for RDP clients.
http://www.brianmadden.com/blogs/gabeknuth/archive/2010/01/06/RemoteApp-for-Hyper_2D00_V-_2D00_-Microsoft_2700_s-single_2D00_user-app-solution.aspx [brianmadden.com]
Caveat: does not require Hyper-V
regardless, make it fast by fewer colors (Score:3)
x2go works fine for Linux-world (Score:2)
To publish Linux-based programs (and Windows-based ones which run fine on Wine) you might want to have a look at x2go [x2go.org], a project based on NX. I've used it for a few years without problems over all sorts of networks. Clients are available for 'the big three' (Linux, Windows, OSX), the server runs on Linux. Performance is good over a wide range of networks, all the way down to GPRS/dial-up.
Seamless + opensource, only two options: NX, Xpra (Score:2)
If you need a GUI on top of that (not sure you really do):
Disclaimer: Xpra and winswi
Free or cheap, not necessarily open source (Score:1)
Re: (Score:2)