QuteBrowser 一个以键盘为中心的浏览器

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容 。本期推荐的qutebrowser是一个以键盘为中心的浏览器,具有最小的 GUI,它基于 Python 和 Qt 以及自由软件 。

QuteBrowser 一个以键盘为中心的浏览器

文章插图
 
qutebrowser 是一个以键盘为中心的浏览器,具有最小的 GUI 。它基于 Python 和 Qt 以及自由软件,在 GPL 下获得许可 。它的灵感来自其他浏览器/插件,如 dwb 和 Vimperator/Pentadactyl 。
要求运行 qutebrowser 需要以下软件和库:
  • Python 3.7 或更新版本
  • 具有以下模块的Qt 5.12.0 或更新版本(推荐 5.12 LTS 或 5.15,尚不支持 Qt 6):
    • QtCore / qtbase
    • QtQuick(在某些发行版中是 qtbase 或 qtdeclarative 的一部分)
    • QtSQL(在某些发行版中是 qtbase 的一部分)
    • QtDBus(在某些发行版中是 qtbase 的一部分;请注意,在运行时连接到 DBus 是可选的)
    • QtOpenGL
    • QtWebEngine,或
    • 或者 QtWebKit (5.212) -由于 QtWebKit 中的已知安全问题,不建议这样做 。
安装 qutebrowser在 Debian / Ubuntu 上
Debian Stretch / Ubuntu 16.04 LTS / linux Mint 18:
Debian Stretch 确实打包了 QtWebEngine,但只是在一个非常旧且不安全的版本中(Qt 5.7,基于 2016 年 3 月的 Chromium) 。此外,它还打包了 Python 3.5,自 qutebrowser v2.0.0 起不再支持该版本 。
Ubuntu 16.04 没有配备最新的引擎(足够新的 QtWebKit 或 QtWebEngine),并且还配备了 Python 3.5 。
请注意,您需要一些基本库才能使用安装了 virtualenv 的 PyQt:
# apt install --no-install-recommends git ca-certificates python3 python3-venv asciidoc libglib2.0-0 libgl1 libfontconfig1 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0 libdbus-1-3 libyaml-dev gcc python3-dev libnss3 libasound2Debian Buster / Ubuntu 18.04 LTS / Linux Mint 19
Debian Buster 打包了 qutebrowser,但发布了一个非常旧的版本(从 2019 年 3 月开始的 v1.6.1) 。用于呈现 Web 内容的 QtWebEngine 库也很旧(Qt 5.11,基于 2018 年 3 月的 Chromium)并且不安全 。它 不在 Debian 的安全补丁中 。建议使用更新的 PyQt/Qt 二进制文件在 virtualenv 中安装 qutebrowser。
# apt install --no-install-recommends git ca-certificates python3 python3-venv asciidoc libglib2.0-0 libgl1 libfontconfig1 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0 libdbus-1-3 libyaml-dev gcc python3-dev libnss3 libasound2附加提示
如果从 git 运行,请运行以下命令来生成 :help命令的文档(mkvenv.py用于 virtualenv 安装的脚本已经为您执行此操作):
# apt install --no-install-recommends asciidoc $ python3 scripts/asciidoc2html.py
  • 如果您更喜欢使用 QtWebKit,Ubuntu 18.04 / Debian Buster 或更新版本中提供了 QtWebKit 5.212 。但请注意,它基于 2016 年 9 月的上游 WebKit,存在已知的安全问题,没有沙盒或进程隔离 。
  • 如果视频或声音不适用于 QtWebKit,请尝试安装 gstreamer 插件:
# apt install gstreamer1.0-plugins-{bad,base,good,ugly}
  • 请注意,仅 QtWebKit 需要这些,而不是(默认)QtWebEngine 后端 。
在 Archlinux 上
qutebrowser 在官方 [community] 存储库中可用 。
# pacman -S qutebrowserAUR 中还有一个可用的 -git 版本: qutebrowser-git 。
您可以makepkg像这样安装它:
$ git clone https://aur.archlinux.org/qutebrowser-git.git$ cd qutebrowser-git$ makepkg -si$ cd ..$ rm -r qutebrowser-git或者你可以使用像yay这样的 AUR 助手,例如 yay -S qutebrowser-git 。
如果视频或声音不适用于 QtWebKit,请尝试安装 gstreamer 插件:
# pacman -S gst-plugins-{base,good,bad,ugly} gst-libav在 Gentoo 上
qutebrowser 在主存储库中可用,可以安装:
# emerge -av qutebrowser如果视频或声音不适用于 QtWebKit,请尝试安装 gstreamer 插件:
# emerge -av gst-plugins-{base,good,bad,ugly,libav}为了能够使用 QtWebEngine 的专有编解码器播放视频,您需要bindist关闭dev-qt/qtwebengine.
在 Slackware 上
qutebrowser 在slackbuilds.org的 3rd 方存储库中可用
安装它的一种简单方法是使用 sbopkg(用于 slackbuilds.org 的前端)在sbopkg.org上提供


推荐阅读