本
文
摘
要
《开源 *** 》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的qutebrowser是一个以键盘为中心的浏览器,具有最小的 GUI,它基于 Python 和 Qt 以及自由软件。
qutebrowser 是一个以键盘为中心的浏览器,具有最小的 GUI。它基于 Python 和 Qt 以及自由软件,在 GPL 下获得许可。它的灵感来自其他浏览器/插件,如 dwb 和 Vimperator/Pentadactyl。
要求
运行 qutebrowser 需要以下软件和库:
Python 3.7 或更新版本具有以下模块的Qt 5.12.0 或更新版本(推荐 5.12 LTS 或 5.15,尚不支持 Qt 6):QtCore / qtbaseQtQuick(在某些发行版中是 qtbase 或 qtdeclarative 的一部分)QtSQL(在某些发行版中是 qtbase 的一部分)QtDBus(在某些发行版中是 qtbase 的一部分;请注意,在运行时连接到 DBus 是可选的)QtOpenGLQtWebEngine,或或者 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 方存储库中可用
安装它的一种简单方法是使用 *** opkg(用于 slackbuilds.org 的前端)在 *** opkg.org上提供
*** opkg 可以使用对话框屏幕界面或通过命令行选项运行。
安装最新的 *** opkg 包后,选择你的发布版本,并同步 repo。
*** opkg -V 14.2 *** opkg -r为 qutebrowser 和依赖项生成队列文件:
sqg -p qutebrowser然后在对话框队列菜单中或通过以下方式加载队列:
PYTHON3=yes *** opkg -i qutebrowser如果您使用对话框屏幕,您可以在开始构建过程之前取消选择您不需要/不想重新构建的任何已安装的包。
在 Windows 上
预构建的二进制文件
为每个版本构建了预构建的独立包和安装程序 。
请注意,您需要手动升级到新版本(订阅 qutebrowser-announce 邮件列表以获取有关新版本的通知)。您可以安装较新版本而无需卸载旧版本。
二进制版本附带了一个没有专有编解码器支持的 QtWebEngine。要获得对例如 h264/mp4 视频的支持,您需要自己从源代码构建 QtWebEngine 并启用该支持。
PackageManagement PowerShell 模块PS C:\> Install-Package qutebrowserChocolatey的客户C:\> choco install qutebrowserScoop的客户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。截图
—END—
开源协议:GPL-3.0 license
开源地址:
https://github.com/qutebrowser/qutebrowser