How to install Qutebrowser on Linux Mint and Ubuntu 20.04

10 May 2021

I like Qutebrowser because it’s a keyboard driven browser (Vim like). You can do a lot of things without using the mouse. It’s really a good option when you already run something like I3 to handle the desktop window. I personnaly run the Regolith desktop, that is based on I3.

First you will have to use the git and virtual env version, because the version shipped from the Ubuntu 20.04 is really outdated and also provide a QtWebEngine that is missing a year of security fix.
You can’t miss so much security fix, this is not a viable option.

First step is to clone qutebrowser and build the virual env (See the documentation)

git clone https://github.com/qutebrowser/qutebrowser.git
cd qutebrowser
python3 scripts/mkvenv.py

I recommand you also build the documentation, just for the documentation, it will allow you to call :help for… Well, help.

python3 scripts/asciidoc2html.py

This is the basic to install qutebrowser. To start it, just do .venv/bin/python3 -m qutebrowser from the qutebrowser repository.

But that is not usable for daily drive : it’s not your default browser, witch mean that it wont open links from other apps.
You also have to remember a fairly complex command that need to be started from a specific directory.

Now, for the desktop integration, first, copy the org.qutebrowser.qutebrowser.desktop file inside ~/.local/share/applications.

You can’t just set Qutebrowser as default browser from the configuration panel, sadly. First we need a little script (this is also in the official documentation) to start it easly. Create a file /usr/local/bin/qutebrowser and put this content inside :

#!/bin/bash
~/qutebrowser/.venv/bin/python3 -m qutebrowser "$@"

You also need to add execute permission on this file

chmod +x /usr/local/bin/qutebrowser

To set Qutebrowser as the default browser, we need to run this command:

xdg-settings set default-web-browser org.qutebrowser.qutebrowser.desktop

And voilĂ , Qutebrowser should open every link you try to open.