我正在评估 Sun Global Desktop 作为远程连接解决方案的效果。有一件事我不太清楚。当用户通过 SGD 连接时,他会获得一个本地 X 会话,并在他想要使用的任何远程机器上运行他的应用程序。
为了回答这个问题,我们假设远程机器运行 Solaris,而家里的 PC 运行 Windows 或 Linux。
如果他在特定机器上有一个现有的 X 会话怎么办?是否可以将其转发/重定向到他可以远程查看的位置?
场景如下:用户将计算机留在办公室,并保持登录状态,并运行 X 会话。他在家里,可以连接并运行新程序,但无法访问办公室现有的 X 会话,他可以看到进程,但看不到它们的窗口,等等。
谢谢!
答案1
开箱即用,这是 X 的限制;您无法在会话之间移动窗口。
不过,你可以使用类似的工具西普拉来完成您要做的事情。它的工作原理有点像 GNU Screen,允许您从一个会话中分离窗口并将其附加到另一个会话。它是用 Python 编写的,因此无需编译任何源代码即可运行,尽管您可能会发现很难让它与 Sun 提供的 X 服务器一起工作。
答案2
您的声明当用户通过 SGD 连接时,他会获得一个本地 X 会话,并且可以在他想要使用的任何远程机器上运行他的应用程序。“稍微不正确。”
X 会话不是本地的,而是在 SGD 服务器上运行的。在本地工作站(在您的示例中,是运行 Windows 或 Linux 的家庭 PC)和 SGD 服务器之间,使用的是 AIP 协议,而不是 X11。
如果允许暂停/恢复,用户可以从一个站点移动到另一个站点,并以上次使用时的状态恢复 X 应用程序。因此,在您的场景中,用户只需通过 SGD 启动所需的应用程序即可从办公室和家中访问它们。