【问题标题】:Google Chrome over Linux FrameBuffer基于 Linux FrameBuffer 的谷歌浏览器
【发布时间】:2011-09-21 00:13:23
【问题描述】:

我正在做一个项目,我需要在 Linux FrameBuffer 上运行 Google chromium,我需要在没有任何窗口系统依赖的情况下运行它(它应该在我们提供的缓冲区上绘制,这将使其移植到任何嵌入式系统非常简单),我不需要它的多选项卡 GUI,我只需要缓冲区中的渲染器窗口,有没有人尝试过这个?关于我应该使用什么方法的任何帮助?

【问题讨论】:

  • 我认为你最好看看 WebKit,而不是完整的 Chromium 浏览器。
  • @Andrew Aylett,嗯,我正在寻找 chromium 浏览器,因为 chrome 端口是唯一稳定、活跃的端口,我尝试了最新的 Gtk 和 Qt 端口,它无法正确呈现许多网站。
  • 与嵌入式编程无关stackoverflow.com/tags/embedded/info,重新标记。
  • 您可能想看看 NetSurf...它已接近完整的 HTML4 支持...(请通知@我,我不会手动寻找答案)
  • 好主意,这在嵌入式环境中非常有用 - 拥有 webkit 渲染的强大功能使 UI 变得非常容易。

标签: linux framebuffer chromium


【解决方案1】:

这个项目:

http://code.google.com/p/wkhtmltopdf/

实现这一点。它在虚拟显示器上运行 Webkit,并以 PDF 的形式捕获渲染输出。您可以自定义做其他事情。

或者您可以使用 tigthvnc 创建一个显示,并设置 DISPLAY 变量以便 Chrome 在该显示中呈现。

【讨论】:

  • wkhtmltopdf 基于 QtWebkit,我只需要使用 Google chrome 的 webkit 端口(因为它是唯一稳定的,渲染器问题非常少。
  • 你能给我们举几个在 wkhtmltopdf 上没有正确呈现的网站的例子吗?
  • 试试,yatra.com 在 QtWebkit 和在 mozilla 或 Chrome 上一样,你会发现不同的。
  • 尝试用QtWebkit做Facebook聊天,不行,我还用QtWebkit最新的trunk查了一下。
【解决方案2】:

如果你需要对窗口功能进行一些直接控制,或者想在 DOM 数据中四处寻找,那么解决这个问题的正确方法可能是直接查看嵌入 webkit。这将比我将要建议的更快、更清晰。

现在,假设您不需要所有花哨的控制,而且您真的很懒惰。一个古老的、低技术的解决方案可能是创建一个虚拟帧缓冲区,然后直接读取其内容。为此,您可以在服务器上设置 xvfb:

http://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml

xvfb 是一个旧的 unix 工具,可让您使用所需的任何类型的配置创建虚拟 x 服务器。更重要的是,它可以配置为将其 X 服务器屏幕的内容直接写入内存映射文件!您也可以将其设置为使用共享内存,这样会更快一些,但也更复杂。

【讨论】:

  • 好吧,我打算开始一个 google chrome 的 fork 并让它独立于 Gtk 依赖,我知道这是一项巨大的工作,但在嵌入式行业这可以创造奇迹。
  • 我将在这里更新我的 google code 的存储库位置。
【解决方案3】:

我想uzblGTK/DirectFB 会更好。相同的引擎,并与 javascripts 一起使用。对于 facebook 聊天问题,我认为您只需更改 user-agent 字符串即可。

【讨论】:

    【解决方案4】:

    有 Origyn Web 浏览器,它应该是一个嵌入式的基于 WebKit 的浏览器,看起来可移植并且不依赖于“重”库(如 GTK)。他们的网页是http://www.sand-labs.org/owb,但看起来他们的数据库崩溃了,这可能有点令人担忧。

    【讨论】:

      【解决方案5】:

      您可以购买剩下的 10 个(左右)OGD1 板中的一个。 http://en.wikipedia.org/wiki/Open_Graphics_Project

      然后您可以使用 libpci 直接与硬件通信。

      但是,您仍然需要将图片绘制到内存缓冲区中的代码。

      我意识到这个答案更像是一个无耻的插件。 但是对您的问题感兴趣的人可能想要这样的板。 我已经有一个这样的板子了,如果它得到更多的曝光会很有帮助。

      【讨论】:

        【解决方案6】:

        尝试将webkit 引擎移植到netsurf framebuffer-based 代码。

        HTH

        【讨论】:

          【解决方案7】:

          我建议使用 webkit2pdf 包(可用于许多不同的 Linux 发行版)。然后使用 fbgs,它是 fbi 帧缓冲区程序的包装器,可在帧缓冲区上显示 PDF 文件。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-01-21
            • 2012-09-19
            • 2018-04-28
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多