我正在尝试在终端中生成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.
为什么会这样?我该如何解决?
答案 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...