如何在 Linux 中通过 SSH 运行图形 X 应用程序
您可以在 Linux 服务器上远程运行 X 应用程序,并使用 SSH 和 X 转发在本地计算机上显示其输出,具体方法如下。
虽然 X11 仍然是大多数 Linux 桌面的基础,但其网络透明性或通过网络显示输出的能力是其默默无闻的功能之一。 SSH 使您可以轻松、安全地在远程计算机上运行 Linux GUI 应用程序并将其显示在您的计算机上。
为什么远程运行 Linux 应用程序?
为什么要在另一台机器上运行图形 Linux 程序?如果您使用的是 R 或 Mathematica 等复杂的科学计算程序,则可以在更强大的计算机上运行它,同时仍然在本地使用轻量级计算环境,例如在 Chromebook 上。
通过将技术应用程序安装在中央服务器上,这也是在多个用户之间共享技术应用程序的好方法。
授权服务器上的 X 连接
要通过 SSH 启用 X11 连接,您必须在远程服务器上启用 X11 转发。这是使用 /etc/ssh/sshd_config 文件完成的。
您必须以 root 用户身份打开此文件才能对其进行编辑。向下滚动到“X11Forwarding”选项,如果尚未启用,请将其更改为“yes”。要重新启动 SSH 服务器,请使用 systemctl 命令:
sudo systemctl restart sshd
您可能还需要删除前导“#”注释字符才能激活它。完成后,保存文件并启动 OpenSSH 服务器(如果尚未运行)。如果您不是管理员,您可能需要要求管理员为您执行此操作。
使用 SSH 远程运行图形 X 应用程序
要远程运行 X 应用程序,请使用 -X 选项通过 SSH 登录远程服务器,这将在客户端启用 X 转发。
ssh -X username@server
要运行程序,请从命令行调用它们,就像您坐在桌面 Linux 系统前一样。如果一切顺利,您应该会看到该程序出现在您的桌面上,即使它正在其他地方运行。
由于 X 转发速度很慢,因此从运行命令到窗口打开可能需要一段时间。如果您需要完整的桌面或想要更快地运行应用程序,您可能需要考虑其他远程显示解决方案,例如 VNC。
如果遇到问题,请尝试使用-Y选项而不是-X。这将禁用一些安全检查,但仍然允许您通过 SSH 运行 X 应用程序。如果失败,请确保在远程计算机上启用 X 转发,如上所述。
现在您可以通过 SSH 运行 Linux 应用程序
SSH X 转发使远程运行 Linux GUI 应用程序变得轻松。它展示了 Linux 是如何面向网络的,因为无论您身在何处,都可以像坐在键盘和屏幕前一样使用远程系统。设置 SSH 后,安全远程登录就变得轻而易举。