如何在 Linux 中通过 SSH 运行图形 X 应用程序

尽管 X11 仍然是大多数 Linux 桌面的基础,但它的网络透明度或通过网络显示输出的能力是其无名特性之一。SSH 使在远程机器上运行 Linux GUI 应用程序并在您的机器上显示它们变得容易和安全。

为什么要在另一台机器上运行图形 Linux 程序?如果您使用的是复杂的科学计算程序,例如 R 或 Mathematica,您可以在更强大的机器上运行它,同时在本地使用轻量级计算环境,例如在 Chromebook 上。

通过将技术应用程序安装在中央服务器上,这也是在多个用户之间共享技术应用程序的好方法。

要通过 SSH 启用 X11 连接,您必须在远程服务器上启用 X11 转发。这是使用/etc/ssh/sshd_config文件完成的。

您必须以 root 用户身份打开此文件才能对其进行编辑。向下滚动到“X11Forwarding”选项,如果尚未启用,请将其更改为“是”。要重新启动 SSH 服务器,请使用 systemctl 命令:

sudo systemctl restart sshd

您可能还需要删除前导“#”注释字符以激活它。完成后,保存文件并启动 OpenSSH 服务器(如果它尚未运行)。如果您不是管理员,则可能需要请管理员为您执行此操作。

要远程运行您的 X 应用程序,请使用-X选项通过 SSH 登录到远程服务器,这将在客户端启用 X 转发。

ssh -X username@server

要运行您的程序,请从命令行调用它们,就像您坐在桌面 Linux 系统中一样。如果一切顺利,您应该会看到该程序出现在您的桌??面上,即使它正在其他地方运行。

因为 X 转发很慢,所以从运行命令到打开窗口可能需要一段时间。如果您需要一个完整的桌面或想要更快地运行应用程序,您可能需要研究另一个远程显示解决方案,如 VNC。

如果遇到问题,请尝试使用-Y选项而不是-X。这将禁用一些安全检查,但仍允许您通过 SSH 运行 X 应用程序。如果失败,请确保如上所述在远程计算机上启用了 X 转发。

SSH X 转发使远程运行 Linux GUI 应用程序变得容易。它展示了面向网络的 Linux,因为无论您身在何处,您都可以像坐在键盘和屏幕前一样使用远程系统。设置 SSH 后,安全远程登录就变得轻而易举了。

标签: SSH Linux 应用程序