错误:未设置 X11 DISPLAY 变量,但该程序执行了需要它的操作

问题描述

我在我的 mac 机器上使用 ssh 并运行 FlexFlux 进行通量平衡分析 (FBA)。然后我得到了这个:

线程“main”中的异常 java.awt.HeadlessException: No X11 disPLAY 变量已设置,但该程序执行的操作 需要它。在 java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204) 在 java.awt.Window.(Window.java:536) 在 java.awt.Frame.(Frame.java:420) 在 javax.swing.JFrame.(JFrame.java:233) 在 flexflux.analysis.result.FBAResult.plot(FBAResult.java:260) 在 flexflux.applications.FlexfluxFBA.main(FlexfluxFBA.java:157)

解决方法

我受到了启发

如果您通过 SSH 从另一台计算机连接,则使用 -X 在您所在的机器上显示图形界面的选项 坐在(假设有一个 X 服务器在那里运行(例如 xming 适用于 Windows 和标准 Linux X 服务器) 1

我意识到我需要为 Mac 安装 X 服务器。

所以我按照 How do I run graphical programs remotely from a Linux server?

的 Mac OS X 部分的说明在我的 Mac 上安装了 XQuartz

然后从 XQuartz ssh 而不是我的默认终端。现在它起作用了!