我在使用某个工具时遇到了这个问题,我从特定计算机上的终端启动该工具 - 据我所知,它是一个二进制可执行文件。如果我通过 ssh(使用 -Y 选项)远程连接到此计算机并启动该工具,它会立即崩溃并报告分段错误。当我在本地启动它时,它可以正常工作。
由于它是工具包的一部分(实际上是由 TCL 脚本启动的,而不是我自己启动的),我甚至不确定它是否创建了任何 UI 元素。TCL 脚本生成的 UI 运行良好。
运行该工具的计算机正在运行旧版本的 Red Hat,我相信是 RHEL 5。我的计算机(我想要 ssh 连接的那台计算机)运行的是最新版本的 Ubuntu。
当然,我希望能够远程运行该工具而不会出现分段错误。也许是由于系统版本(或 ssh)之间的差异造成的?什么原因导致仅通过 ssh 启动时程序崩溃?
答案1
如果在远程机器上本地运行该程序,它能正常工作吗?尝试在 ssh 会话中使用 DISPLAY=:0 变量作为前缀来运行它。
答案2
扩展 Harry 的建议:在你运行之前,你是否在本地机器上运行了“xhost +”
env DISPLAY=:0 你的应用
在远程机器上?总体而言,使用 ssh -Y 比 ssh -X 更有可能工作,但仍然值得尝试一个简单的设置,其中 X11 连接在未加密的侧通道上直接运行以显示:0。