我想在另一台机器上显示一台 Linux 机器上运行的 GUI 应用程序。
我已经使用本地机器完成了此操作,但是如何通过互联网完成此操作?
更新:我已经使用 ssh 通过互联网访问该机器。
答案1
正如您所说,您已经在本地机器上执行此操作,我假设您已经知道如何使用ssh -X
。 一个补充可能是使用-C
参数来启用压缩。
为了在互联网上使用它,你只需要确保你的另一台机器可以访问 - 即你需要知道 IP 或主机名(如果是动态 IP,你可以使用动态 DNS 提供商,如http://dyn.com),并确保 SSH 端口(可以不同于 22)可以从外部访问。
对于典型的“家庭”服务器,您很可能需要在路由器上设置端口转发,以将 SSH 请求转发到您的服务器。
答案2
您需要使用 X11 转发登录到远程机器。
您可以在登录时使用 -X 参数来执行此操作
ssh -X user@server
登录后,运行任何 X 程序,该程序的窗口将出现在您的本地计算机上。无论是本地网络上的计算机还是通过互联网访问的世界另一端的计算机,server
都没有关系server
ssh man
将为您提供有关 -X 开关的更多信息:
-X Enables X11 forwarding. This can also be specified on a per-host
basis in a configuration file.
X11 forwarding should be enabled with caution. Users with the
ability to bypass file permissions on the remote host (for the
user's X authorization database) can access the local X11 display
through the forwarded connection. An attacker may then be able
to perform activities such as keystroke monitoring.
For this reason, X11 forwarding is subjected to X11 SECURITY
extension restrictions by default. Please refer to the ssh -Y
option and the ForwardX11Trusted directive in ssh_config(5) for
more information.
答案3
您可能还想了解 FreeNX:http://freenx.berlios.de/:)