qutebrowser
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.
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
:
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/qutebrowser — dev-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:
*/* 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