我已经使用 AWS EC2 Linux 一段时间了,用于无头 Firefox/Selenium 任务。我使用以下说明构建了它:http://itsallabtamil.blogspot.com/2013/02/setting-up-chrome-firefox-ec2-selenium-java.html反过来,它使用该脚本在 AWS EC2 Linux 上获取 GTK+ 和 Firefoxhttp://joekiller.com/2012/06/03/install-firefox-on-amazon-linux-x86_64-compiling-gtk/
昨天,我更新了所有软件包“sudo yum update”,但我再也无法运行 Firefox!过去 12 个小时里我一直在苦苦思索,却无法解决问题。基本上,如果我通过以下方式启动 Xvfb:
Xvfb :1 -screen 0 1280x768x24
然后尝试通过以下方式启动 Firefox
firefox
export DISPLAY=:1
在不同的终端中,我在 Xvfb 终端中收到以下错误:
Xvfb: symbol lookup error: Xvfb: undefined symbol: pixman_glyph_cache_create
Firefox 终端显示:
Xlib: extension "RANDR" missing on display ":1".
firefox: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.
经过几个小时的谷歌搜索,我发现第一行是一个警告,可以忽略,但我认为第二行一定与未定义符号错误有关。我尝试从头开始重建实例(注意,Fox 的 URL 需要在脚本中更新) - 同样的错误。
任何帮助将不胜感激!
答案1
它正在尝试加载错误的 pixman so。删除 /usr/local/lib/libpixman-1.so.0 并重试,它将使 Xvfb 使用具有此符号的分发 pixman 库。