好的,如果我有两台 Linux 机器(A 和 B),并且我在其中一台机器上有一个程序,并且想在其中运行它,我会这样做:
- 用户@LinuxA:~$ ssh -X LinuxB
- 用户@LinuxB:~$ 程序名称
(在LinuxA机器上显示)
好的,同样的事情,WindowsA LinuxB(Linux 上的程序)
- 在 Windows 上启动 Xming X Server
- 运行 Putty,使用 x11 端口转发:0.0
- 连接到LinuxB后,运行程序,它会在Windows中加载!
现在问题是,WindowsA LinuxB,(Windows 上的程序)
在 Linux 上运行 Windows 程序,使用 Windows 资源。
如何让它工作?顺便说一句,我知道它可以,因为几年前我读过一篇关于它的白皮书,但从未真正测试过它。
答案1
我不知道如何使用 x11 来实现这一点(事实上,Windows 应用程序不在 X11 下运行)。但是,使用远程桌面协议 (RDP) 可以实现类似的结果。rdesktop
是一个实现 RDP 的 Linux 客户端。
安装 redesktop ( sudo apt-get install rdesktop
) 后,如果计算机不是本地计算机,则通过 SSH 建立隧道并转发端口 3389,通过指定要启动的凭据、主机和程序通过 rdesktop 启动应用程序。(man rdesktop
有关更多信息,请参阅。)
在 Windows 计算机上安装 SeamlessRDP(参见http://www.cendio.com/seamlessrdp/以及 rdesktop 的 -A 选项)
在 Linux 计算机上:
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
#执行记事本
无需启动-s argument
即可获得类似于 VNC 的完整交互式会话,这是一种实现完整远程控制的解决方案。