必须使用 Virtual Framebuffer 在 Ubuntu 24.01 LTS 上运行 Eclipse 4.5 Headless Build

问题描述 投票:0回答:1

我正在使用 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 输出可能会发送到某个地方,这会导致事情不会崩溃。

ubuntu ssh eclipse-cdt xvfb
1个回答
0
投票

我一直在接触Tasking。这是此版本 Eclipse (Eclipse Mars) 的一个错误,此处描述了一些解决方法:https://bugs.eclipse.org/bugs/show_bug.cgi?id=472042

© www.soinside.com 2019 - 2024. All rights reserved.