Java AWT需要X11,如何使用xvfb(ubuntu 14.04) [英] Java AWT requires X11 , how to use xvfb (ubuntu 14.04)

查看:82
本文介绍了Java AWT需要X11,如何使用xvfb(ubuntu 14.04)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个需要X11 DISPLAY变量的Java应用程序,我得到的例外是:

I Have a java application that requires X11 DISPLAY variable, the exception I am getting is:

    Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
        at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
        at java.awt.Window.<init>(Window.java:536)
        at java.awt.Frame.<init>(Frame.java:420)

我已经在ubuntu机器上安装了Xvfb:

I've installed Xvfb on the ubuntu machine:

root      1470  1469  0 02:40 pts/3    00:00:00 Xvfb :1 -screen 0 1152x900x8

但是我仍然收到此错误.

But I am still getting this error.

启动Xvfb时,我得到以下响应:

When I start Xvfb I am getting the following response:

Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension Present
Initializing built-in extension DRI3
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension GLX
[dix] Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list!
[dix] Could not init font path element /usr/share/fonts/X11/100dpi/:unscaled, removing from list!
[dix] Could not init font path element /usr/share/fonts/X11/75dpi/:unscaled, removing from list!
[dix] Could not init font path element /usr/share/fonts/X11/Type1, removing from list!
[dix] Could not init font path element /usr/share/fonts/X11/100dpi, removing from list!
[dix] Could not init font path element /usr/share/fonts/X11/75dpi, removing from list!

并且它不会返回我,所以我按'CTRL + C'来收回控制权,但是在查看'ps aux |grep Xvfb',我可以看到该进程正在运行,所以我不确定它是否有效.

and It doesn't return back to me, so I press 'CTRL + C' to take back control, but after looking at 'ps aux | grep Xvfb' I can see the process is running, so I am not sure if it worked or not.

任何帮助将不胜感激.

谢谢

推荐答案

您没有收到错误消息,它们是有关旧字体的警告消息.在后台(和/或使用nohup)启动虚拟X服务器,如

You aren't getting an error, those are warning messages about old fonts. Start the virtual X server in the background (and/or with nohup) like

 nohup Xvfb :1 -screen 0 1152x900x8 &

然后,要使用它,请在本地主机上将显示设置为:1 ,例如

And then, to use it, set your display to :1 on localhost like

 export DISPLAY="localhost:1"

这篇关于Java AWT需要X11,如何使用xvfb(ubuntu 14.04)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆