我正在使用 Tasking IDE(Eclipse 4.5 的专有分支)。我正在尝试设置 CI 管道。
我正在 shell 中使用 Eclipse 来自动构建项目。但是,当我通过 ssh 运行以下命令时 - 我得到以下信息。
eclipse -application org.eclipse.cdt.managedbuilder.core.headlessbuild -data /tmp/workspace_ctc_v6.3r1 -build all
Eclipse: Cannot open display:
Eclipse:
GTK+ Version Check
Eclipse: Cannot open display:
Building All Projects...
Building workspace
Building '/<project_name>'
Eclipse: Cannot open display:
Eclipse:
An error has occurred. See the log file
/tmp/workspace_ctc_v6.3r1/.metadata/.log.
我的理解是,执行无头构建时不应该发生这种情况。我不需要任何显示输出。
当我设置虚拟帧缓冲区时,此方法成功完成构建 - 我在 unix stackexchange 上的另一篇文章中看到了引用的建议。
按照此方法,我设置了帧缓冲区,执行以下操作:
Xvfb :1 -ac -screen 0 1024x768x8 & export DISPLAY=:1
我不需要这样做来运行无头构建。但是,我知道我在最新版本的 Ubuntu 上运行过时版本的 Eclipse,也许这可能是一个潜在的问题。
如有任何建议,我们将不胜感激,谢谢。
我尝试过以下方法:
设置DISPLAY=:0.0.
以 root 身份运行构建。
重新安装工具链。
我尝试通过远程桌面登录并在终端中运行无头构建,并成功构建。在这种情况下,DISPLAY 输出可能会发送到某个地方,这会导致事情不会崩溃。
我一直在接触Tasking。这是此版本 Eclipse (Eclipse Mars) 的一个错误,此处描述了一些解决方法:https://bugs.eclipse.org/bugs/show_bug.cgi?id=472042