是否可以在Heroku上运行xvfb?

nat*_*tab 6 heroku xvfb

我想在Heroku上运行xvfb.在我的Mac上,我使用dmg来安装它.有谁会知道如何在Heroku上进行此操作?

我遇到了这些buildpacks(http://github.com/douglasjsellers/heroku-xvfb-buildpack) - 但是按照说明似乎没有解决问题,因为xvfb仍未正确安装.此外,我尝试安装xvfbwrapper(https://pypi.python.org/pypi/xvfbwrapper/0.1.0),但它仍然没有在Heroku上工作(为可能的noob问题道歉).

这是我从Heroku的日志中得到的错误:

2015-02-24T02:09:16.035298+00:00 app[web.6]: cmd=['Xvfb', '-help']
2015-02-24T02:09:16.035564+00:00 app[web.6]: Program install error! 
2015-02-24T02:09:16.035302+00:00 app[web.6]: OSError=[Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是代码:

temp = tempfile.mkstemp(suffix='.html')
html = os.fdopen(temp[0], "r+")
html.write(cv)
html.seek(0, 0)

display = Display(visible=0, size=(800, 600))
display.start()

# Open the file on Selenium to load the JavaScript
driver = webdriver.Firefox()
driver.get("file://" + temp[1])
Run Code Online (Sandbox Code Playgroud)

fxt*_*cle 5

我在研究如何为Cedar-14更新Xvfb时发现了这个问题,并设法使#2正常工作。因此,方法如下:

  1. 我使用buildpack-apt进行安装x11-xkb-utils xvfb x11-xkb-utils xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic libxfont1 xvfb

  2. 运行apt buildpack之后,您需要对Xvfb进行一些修补,以使所有工作顺利进行。为此,我使用了自己的run-bash buildpack,但是让您在Heroku编译期间运行bash脚本的所有内容都可以使用。这是我用来修补Xvfb并索引字体的脚本:https : //gist.github.com/fxtentacle/960cdb96ece01add8686

  3. 现在,您可以heroku run bash用来检查XAUTHORITY=/tmp/xvfb-run.2NG0xl/Xauthority Xvfb ":99" -screen 0 1280x1024x24 -nolisten tcpXvfb是否正常工作。


hur*_*lad 2

我也在想同样的事情。看来你已经发现了这个人的问题了。提到的所有构建包都有 1 年以上的历史,并且不再工作。

两个看似可行的选择:

  1. 编译一个在 Heroku 当前操作系统和架构上运行的https://github.com/kenshin23/xvfb-portable-binary的独立 xvfb 二进制文件,并在更新时重建。

  2. 将 apt 包管理器中的所有依赖项安装到 ~/.apt 等位置,然后从那里运行,就像最新的buildpack-apt中一样。对我来说,这个选项随着sh: 1: /usr/bin/xkbcomp: not found. Xvfb 正在查找/,而 apt 将命令安装到~/.apt/usr/bin/xkbcomp。还没弄清楚如何告诉 Xvfb 查看~/.apt/.