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 libasound2

Debian 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 qutebrowser

AUR 中还有一个可用的 -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上提供

sbopkg 可以使用对话框屏幕界面或通过命令行选项运行。

安装最新的 sbopkg 包后,选择你的发布版本,并同步 repo。

sbopkg -V 14.2
sbopkg -r

为 qutebrowser 和依赖项生成队列文件:

sqg -p qutebrowser

然后在对话框队列菜单中或通过以下方式加载队列:

PYTHON3=yes sbopkg -i qutebrowser

如果您使用对话框屏幕,您可以在开始构建过程之前取消选择您不需要/不想重新构建的任何已安装的包。

在 Windows 上

预构建的二进制文件

为每个版本构建了预构建的独立包和安装程序 。

请注意,您需要手动升级到新版本(订阅 qutebrowser-announce 邮件列表以获取有关新版本的通知)。您可以安装较新版本而无需卸载旧版本。

二进制版本附带了一个没有专有编解码器支持的 QtWebEngine。要获得对例如 h264/mp​4 视频的支持,您需要自己从源代码构建 QtWebEngine 并启用该支持。

  • PackageManagement PowerShell 模块
PS C:\> Install-Package qutebrowser
  • Chocolatey的客户
C:\> choco install qutebrowser
  • Scoop的客户
C:\> scoop bucket add extras
C:\> scoop install qutebrowser

使用 virtualenv 安装 qutebrowser

获取存储库

首先,使用git克隆存储库并切换到存储库文件夹:

$ git clone https://github.com/qutebrowser/qutebrowser.git
$ cd qutebrowser

安装依赖项(包括 Qt)

使用通过 virtualenv 安装的 Qt 需要几个系统范围的库。有关所需库的详细信息,请参阅Ubuntu 16.04 部分。

然后运行安装脚本:

$ python3 scripts/mkvenv.py

这会将所有需要的 Python 依赖项安装在一个.venv子文件夹中(在哪个子目录中创建环境可通过 --venv-dir标志配置)。

这带有一个最新的 Qt/PyQt,包括一个预编译的 QtWebEngine 二进制文件,但有一些警告:

  • 确保您python3是 Python 3.7 或更高版本,否则您将收到“未找到匹配的发行版”错误和/或 qutebrowser 将无法运行。
  • 它仅适用于 64 位 x86 系统,在其他体系结构中您会遇到相同的错误。
  • 它带有一个在没有专有编解码器支持(例如 h.264)的情况下编译的 QtWebEngine。

截图

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

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

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

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

—END—

开源协议:GPL-3.0 license

开源地址:https://github.com/qutebrowser/qutebrowser

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章