访问X11显示

时间:2011-01-10 13:14:33

标签: linux x11 rhel

我正在使用自动运行构建和测试的CIS。测试在Windows上运行良好,但是当在rhel中运行时,它会抛出X11 Display变量未设置。

我确定安装了X11,我可以使用Xmanager取回xclock。目的不是将显示器推送到客户端,而是使用Xmanager来验证是否安装了X11。

如果未导出显示,则使用图形的测试会失败但是当我set export DISPLAY=0.0时,它会抛出java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment

This source表示cNF例外具有误导性。

以下是该内容的废话:

  

不幸的是,此错误消息有些误导。此消息实际上并不反映类加载问题。通过在适当的配置文件中设置DISPLAY环境变量,可以避免错误。

这意味着显示器未正确导出,但测试未报告缺少X11显示。我缺少什么?

建议表示赞赏!

3 个答案:

答案 0 :(得分:2)

导出DISPLAY = 0.0

这是语法错误。你必须使用: export DISPLAY=:0.0

(请注意冒号。)

一旦这是正确的,您将需要确保用户运行测试,因为它具有对X服务器的权限。请参阅xauth或进行不安全但无关紧要的测试xhost +

答案 1 :(得分:1)

你有X显示器在运行吗?

获取自动化测试显示的一种常用方法是使用Xvfb“假”显示服务器。运行Xvfb,然后设置指向它的DISPLAY。

答案 2 :(得分:0)

我不确定你的描述是否要在没有X11的情况下运行测试。在这种情况下,您可以使用headless mode告诉AWT您不想要图形输出。如果它们不是交互式的,那么应该允许你的测试运行。

我看不出你怎么能运行像xclock这样的东西,而不是Java。是否缺少任何中间步骤?你是否应该进入应该运行测试的主机?