qutebrowser

From Gentoo Wiki
Jump to:navigation Jump to:search
This article is a stub. Please help out by expanding it - how to get started.

qutebrowser is a web browser with vim-style key bindings based off the QtWebKit (or the QtWebEngine in its latest release). It is lightweight using a minimal GUI and is inspired by software such as Vimperator and dwb. It uses DuckDuckGo as the default search engine.

qutebrowser was developed by Florian Bruhin, for which he received a CH Open Source award in 2016.

Installation

USE flags

USE flags for www-client/qutebrowser Keyboard-driven, vim-like browser based on Python and Qt

+adblock Enable Brave's ABP-style adblocker library for improved adblocking
pdf Add general support for PDF (Portable Document Format), this replaces the pdflib and cpdflib flags
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
verify-sig Verify upstream signatures on distfiles
widevine Unsupported closed-source DRM capability (required by Netflix VOD)

Turn off the bindist flag to enable support for proprietary codecs on WebEngine.

Emerge

root #emerge --ask www-client/qutebrowser

Troubleshooting

Proprietary Codecs

To get proprietary codecs to work, turn off the -bindist USE flag for dev-qt/qtwebengine in /etc/portage/package.use - see Handbook.

Once the use flag is properly set in the file, re-emerge qtwebengine. Remember to use the --oneshot parameter so as to not add the dependency to the world file:

root #emerge --ask --oneshot dev-qt/qtwebengine
root #emerge --ask www-client/qutebrowser

Video or sound not working well

root #emerge --ask --verbose media-libs/gst-plugins-{base,good,bad,ugly} media-plugins/gst-plugins-libav

No sound with Pipewire

To hear sound when Pipewire is used, turn on pipewire-alsa for media-video/pipewire in /etc/portage/package.use.

FILE /etc/portage/package.useRead this for more information
media-video/pipewire pipewire-alsa

After the USE flag is set properly, re-emerge Pipewire:

root #emerge --ask media-video/pipewire

Kerberos authentication does not work

To let the browser know which domains are allowed to authenticate with Kerberos, make sure you have the following config in place. The example shows allowing it to work when visiting subdomains of fedoraproject.org and work.corp.com:

FILE ~/.config/qutebrowser/config.py
c.qt.args = [
  "auth-server-allowlist=*.fedoraproject.org,*.work.corp.com",
  "auth-server-whitelist=*.fedoraproject.org,*.work.corp.com",  # this is a deprecated name that might be needed on some older versions
  "disable-auth-negotiate-cname-lookup=true",  # this is currently a no-op, waiting for Chromium to make the setting available
]
config.load_autoconfig()

Sometimes, this is not enough, however. The underlying feature is implemented in a transitive dependency of www-client/qutebrowserdev-qt/qtwebengine. If it's not compiled with kerberos support, the above configuration will not have any effect.

Usually, it's not desired to enable the kerberos USE flag just for a single package and most of the time one would want to have it enabled globally. It can be done with a command like:

user $euse -E kerberos
/etc/portage/make.conf was modified, a backup copy has been placed at /etc/portage/make.conf.euse_backup

Alternatively, create the following file by hand:

FILE /etc/portage/package.use/00kerberosRead this for more information
*/* kerberos

Finally, once the use flag is properly set in the file, re-emerge dev-qt/qtwebengine. Remember to use the --oneshot parameter so as to not add the dependency to the world file:

root #emerge --ask --oneshot dev-qt/qtwebengine

External resources