【问题标题】:unable to open X server无法打开 X 服务器
【发布时间】:2011-11-03 22:20:46
【问题描述】:

我正在尝试在终端中生成 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.

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

【问题讨论】:

    标签: import imagemagick xvfb


    【解决方案1】:

    也许可以试试DISPLAY=:0,例如?

    【讨论】:

    • 让我试试,但为什么会改变呢?
    • 导入同样的问题:无法打开 X server `:0' @import.c/ImportImageCommand/364.
    • 也许您应该添加XAUTHORITY=/home/youruser/.Xauthority?还是您在 X 中以 root 身份?
    • 我不知道。这就是我所看到的,屏幕截图是黑色的
    • 没关系,它不起作用,我一直收到错误消息无法启动 x 服务器
    【解决方案2】:

    看起来您在启动终端后曾经在终端中更改为root(或者您是否以root身份登录到X?)。如果是这种情况,则无法打开显示器,因为它归另一个用户所有,而您不能只是去展示其他人的显示器。

    退出根会话,它可能会工作。如果您希望它在根会话中工作,请查看“man xhost”。

    【讨论】:

    • 是的,我以 root 身份登录。让我看看这个 man xhost 对吧?
    【解决方案3】:

    你能告诉我们你输入的结果是什么

    ls -la /tmp/ | grep X
    

    ps | grep X
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      • 2012-08-15
      • 2021-04-12
      • 2016-12-10
      • 2021-06-22
      相关资源
      最近更新 更多