There's finally a working solution to use RemoteApp from Windows - that means you can finally have a RELIABLE seamless desktop with a remote Windows PC on you linux machine.
First off: why do this?
I was using VirtualBox with their great seamless mode for a while with Ubuntu, but it was never really stable. After a few hours it would crash every time. When it was running, it ran well. But it never worked for very long.
The xFreeRDP solution lets you connect to a remote computer and use windows programs seamlessly with Microsoft's RemoteApp (which is built in to Win7, Vista, Server)
How...
1. Make sure you have Windows 7 ENTERPRISE or ULTIMATE or Windows Server. This won't work on Windows 7 Pro.
2. Download the latest version of FreeRDP from here: https://github.com/FreeRDP/FreeRDP
3. Setup your system for compiling it - on Ubuntu you need to do the following:
$ sudo apt-get install build-essential git-core cmake libssl-dev libx11-dev libxext-dev libxinerama-dev libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev libasound2-dev libcups2-dev
$ sudo apt-get install libavutil-dev libavcodec-dev
$
cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON .
$
make
$
sudo make install
$ sudo cat > /etc/ld.so.conf.d/freerdp.conf
/usr/local/lib/freerdp
/usr/local/lib
$ ldconfig
4. On your Windows 7 machine, run Regedit and under HKLocalMachine\SOFTWARE\Policies\Microsoft\Windows NT add a key named "Terminal Services"
5. Under that, add a DWORD32 value named "fAllowUnlistedRemotePrograms" and set the value to 1
If you don't do this, you will get the following error: RAIL exec error: execResult=RAIL_EXEC_E_NOT_IN_ALLOWLIST NtError=0x15
6. run the following command on your Linux box
$ xfreerdp -u <username> --app --plugin ./usr/local/lib/freerdp/rail.so --data "%windir%\system32\cmd.exe" -- <ip of your windows machine>
Note your rail.so path may be different, so you may have to search for it.
That's it... you can now launch programs from the cmd shell.