如何通过SSH在远程Linux服务器上启动GUI软件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过SSH在远程Linux服务器上启动GUI软件?相关的知识,希望对你有一定的参考价值。

我试图从我的Windows 7 PC打开安装在远程Linux服务器上的Matlab软件。我使用SSH安全shell连接Linux服务器。成功连接后,我可以查看和访问我的用户帐户下的文件夹。我可以在SSH安全shell窗口中使用以下命令启动Matlab软件:

[sushma @ scorpio home] $ matlab

执行此操作时,SSH安全shell窗口中将显示以下消息:

MATLAB正在选择SOFTWARE OPENGL渲染。没有指定协议

                               < M A T L A B (R) >
                     Copyright 1984-2015 The MathWorks, Inc.
                     R2015b (8.6.0.267246) 64-bit (glnxa64)
                                 August 20, 2015

从上面的消息看,软件似乎正在运行。我想访问该软件的GUI。

答案

试试ssh -X

从ssh手册:

-X启用X11转发。这也可以在配置文件中基于每个主机指定。

应谨慎启用X11转发。能够绕过远程主机(对于用户的X授权数据库)的文件权限的用户可以通过转发的连接访问本地X11显示器。然后,攻击者可以执行诸如击键监控之类的活动。

因此,默认情况下,X11转发受X11 SECURITY扩展限制。有关更多信息,请参阅ssh -Y选项和ssh_config(5)中的ForwardX11Trusted指令。

-Y启用可信X11转发。受信任的X11转发不受X11 SECURITY扩展控制的约束。

另一答案

对我有用的步骤:

  1. 使用ssh -X标志连接到服务器
  2. 使用matlab &执行Matlab(您应该在本地计算机上看到Matlab打开)
  3. 如果正在使用软件或硬件opengl,请使用命令opengl info在Matlab中检查(如果您在加载opengl时遇到问题,请转到步骤2并执行matlab -softwareopengl &
  4. run <script>运行你的gui脚本

如果脚本应该独立于ssh连接运行,我建议使用程序tmux并在tmux会话中重复步骤2-4

以上是关于如何通过SSH在远程Linux服务器上启动GUI软件?的主要内容,如果未能解决你的问题,请参考以下文章

ssh怎么连接服务器

如何允许root用户远程登录?

如何允许root用户远程登录?

ssh远程连接服务器 脚本文件 【软连接】

如何通过ssh在服务器上启动jupyter笔记本并在本地浏览器上运行?

如何启动SSH服务