Ok, so if I have two Linux Machines (A and B) and I have a program on one, and want to run it on be I do:
- user@LinuxA:~$ ssh -X LinuxB
- user@LinuxB:~$ programName
(Displays on LinuxA machine)
Ok same thing, WindowsA LinuxB (Program on Linux)
- Start Xming X Server on Windows
- Run Putty, use x11 port forward with :0.0
- After connect to LinuxB, run program, it loads in Windows!
Now here is the question, WindowsA LinuxB, (Program on Windows)
Run Windows Program On Linux, using a windows resources.
How to make it work? BTW, I know it can because years ago, I read a white paper on it, but never actually tested it out.
I'm not aware of a way to do this with x11 (indeed, the Windows application is not running under X11). However, a similar result may be achieved using the Remote Desktop Protocol (RDP).
rdesktop
is a Linux client implementing RDP.After installing redesktop (
sudo apt-get install rdesktop
), tunnel through SSH if the machine is not local and forward port 3389, launch an application through rdesktop by specifying the credentials, host and program to start. (Seeman rdesktop
for more information.)On the Windows machine install SeamlessRDP (see http://www.cendio.com/seamlessrdp/ and the -A option to rdesktop)
On Linux machine:
ssh -L 3389:localhost:3389 user@windowsHost #Forward port 3398 if needed
rdesktop -u user -d domain -A -s seamlessrdpshell notepad.exe -f windowsHost/localhost
#execute notepadLaunching without
-s argument
will give you a full interactive session similar to VNC, which would be a solution to achieve full remote control.