怎样在 Linux 中通过 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 服务器(如果它尚未运行)。 如果您不是管理员,您可能需要询问 admin 为你做这件事。

使用 SSH 远程运行图形 X 应用程序

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

ssh -X [email protected]

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

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

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

现在您可以通过 SSH 运行 Linux 应用程序

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