无法打开X服务器

时间:2011-11-03 22:20:47

标签: import imagemagick xvfb

我正在尝试在终端中生成firefox窗口的屏幕截图,但我一直收到错误:

root@host [~]# DISPLAY=:1 firefox http://www.cnn.com & sleep 5 && DISPLAY=:1 import -window root -crop 1264x948+0+25 -quality 90 /usr/local/apache/htdocs/screenshot1.jpg && pkill firefox
[1] 30200
import: unable to open X server `:1' @ import.c/ImportImageCommand/364.

为什么会这样?我该如何解决?

3 个答案:

答案 0 :(得分:4)

也许尝试DISPLAY=:0,例如?

答案 1 :(得分:0)

看起来你在启动它之后在终端中使用了更改为root(或者你是否以root身份登录到X?)。如果是这种情况,显示器无法打开,因为它由另一个用户拥有,你不能只是去显示别人的显示器。

退出root会话,它可能会起作用。如果你希望它从根会话开始工作,请看看'man xhost'。

答案 2 :(得分:0)

您能告诉我们您输入

时的结果
ls -la /tmp/ | grep X

ps | grep X

另外,我在使用DISPLAY =:1语法时遇到了一些麻烦,所以改为使用:

firefox --display=:1 URL_OF_SITE
import -display :1 -window root etc...