Qutebrowser on Zorin is not supported by Discourse

Hey y'all, I put FreeBSD on my devil pc that hates Linux, while I tried to sort out its issues so I can run Zorin on it. While on FreeBSD I picked up a browser called qutebrowser because I searched the packages badly (using "browser" as a key word instead of a specific browser name) and was too lazy to search again correctly, so I just downloaded the result, qutebrowser. Since I hate all browsers anyway, what's the difference?

Turns out I love this browser. I'm enthusiastically trying to replace FireFox that comes with Zorin so I can use qutebrowser instead. I have installed qutebrowser from the Software catalogue and I chose the Zorin APT not the Flatpak version. I opened qutebrowser and ran a search on how to remove FireFox from Zorin OS. A top result led me to this forum but when I chose the keyboard shortcut to open the link to the forum, there is a banner on top of the forum page that says my browser is not supported to use the Zorin Forum!

I checked to see what version of qutebrowser that got installed by Zorin. It appears to be the latest.

qutebrowser --version
qutebrowser --version
         ______     ,,
    ,.-"`      | ,-` |
  .^           ||    |
 /    ,-*^|    ||    |
;    /    |    ||    ;-*```^*.
;   ;     |    |;,-*`         \
|   |     |  ,-*`    ,-"""\    \
|    \   ,-"`    ,-^`|     \    |
 \    `^^    ,-;|    |     ;    |
  *;     ,-*`  ||    |     /   ;;
    `^^`` |    ||    |   ,^    /
          |    ||    `^^`    ,^
          |  _,"|        _,-"
          -*`   ****"""``

qutebrowser v2.5.0
Git commit: 
Backend: QtWebEngine 5.15.9, based on Chromium 87.0.4280.144
Qt: 5.15.3

CPython: 3.10.12
PyQt: 5.15.6

sip: 6.5.1
colorama: 0.4.4
jinja2: 3.0.3
pygments: no
yaml: 5.4.1
adblock: no
PyQt5.QtWebEngineWidgets: yes
PyQt5.QtWebEngine: 5.15.5
PyQt5.QtWebKitWidgets: no
pdf.js: no
sqlite: 3.37.2
QtNetwork SSL: OpenSSL 3.0.2 15 Mar 2022

Style: QFusionStyle
Platform plugin: xcb
OpenGL: NVIDIA Corporation, 4.6.0 NVIDIA 550.120
Platform: Linux-6.8.0-48-generic-x86_64-with-glibc2.35, 64bit
Linux distribution: Zorin OS 17.2 (ubuntu)
Frozen: False
Imported from /usr/lib/python3/dist-packages/qutebrowser
Using Python from /usr/bin/python3
Qt library executable path: /usr/lib/x86_64-linux-gnu/qt5/libexec, data path: /usr/share/qt5

Paths:
cache: /home/whodat/.cache/qutebrowser
config: /home/whodat/.config/qutebrowser
data: /home/whodat/.local/share/qutebrowser
runtime: /run/user/1000/qutebrowser
system data: /usr/share/qutebrowser

Autoconfig loaded: yes
Config.py: no config.py was loaded
Uptime: 0:00:00

I had to use FireFox just to get on the Forum to ask for help.

I'm stumped because the qutebrowser runs Zorin Forum with no drama on FreeBSD. Anyone have an idea what the issue might be?

Also a cosmetic issue, not a big one but if anyone knows how to get rid of that extra bar on top of qutebrowser? I figure it is something the window manager or desktop (whatever) is drawing since it is not there on FreeBSD/XFCE4. It kind of ruins the sleek look of qutebrowser but is not a deal breaker.

A lot of websites, particularly the ones that rely heavily on JavaScript, have these checks to make sure that browsers can run them properly. The reasoning is that if you use an outdated browser and something doesn't work, you'll go away thinking the website sucks.

The problem is that instead of checking if a particular set of features are supported, they do it the lazy way by checking against the user agent string. This will give them a rough idea of what operating system, browser and version are you running and try to infer whether it's supported or not.

A user agent is a string that identifies your browser version. You can fake that to pretend using another browser and/or operating system, but how exactly will depend on the browser. For Firefox I always recommend Chameleon. For Qutebrowser, I would suggest starting here:

2 Likes

Thanks @zenzen, I will have to look more into this when I get home. Also you may have led me to discover that even though the qutebrowser is the latest version, the qtwebengine backend it uses might be the problem.

On Debian / Ubuntu / Linux Mint / …

With those distributions, qutebrowser is in the official repositories, and you can install it with apt install qutebrowser.

However, when using a stable variant (e.g. Debian Stable / Ubuntu LTS / Linux Mint), note that your versions of qutebrowser and the underlying QtWebEngine will only be updated when there’s a new release of your distribution (e.g. upgrading from Ubuntu 22.04 to 24.04):

  • Ubuntu 20.04, Linux Mint 20: qutebrowser 1.10.1, QtWebEngine 5.12.8 (based on Chromium 69 from 2018)
  • Ubuntu 22.04, Linux Mint 21: qutebrowser 2.5.0, QtWebEngine 5.15.9 (based on Chromium 87 from 2020)
  • Debian Bookworm: qutebrowser 2.5.3, QtWebEngine 5.15.13 (based on Chromium 87 from 2020)

The old versions of the underlying Chromium will lead to various compatibility issues. Additionally, QtWebEngine on all Debian-based distributions is not covered by Debian’s security support.

It’s recommended to install qutebrowser in a virtualenv with a newer PyQt/Qt binary instead. If you need proprietary codec support or use an architecture not supported by Qt binaries, starting with Ubuntu 22.04 and Debian Bookworm, it’s possible to install Qt 6 via apt. By using scripts/mkvenv.py with --pyqt-type link you get a newer qutebrowser running with:

  • Ubuntu 22.04, Linux Mint 21: QtWebEngine 6.2.4 (based on Chromium 90 from mid-2021)
  • Debian Bookworm: QtWebEngine 6.4.2 (based on Chromium 102 from mid-2022)

Looks pretty complicated, I'll try to wrap my head around it when I get home.

1 Like

Ok so first I decided I better uninstall the apt version of qutebrowser and try the Flatpak in the Software catalogue. I did that but it also had the same unsupported browser message on any forum I went to that uses Discourse.

So my next most logical approach would be to use qutebrowser for everything except sites that use Discourse. Keep Firefox installed and use it for sites that use Discourse.

So that is still a viable option but in this instance I decided to take the irrational approach of what the qutebrowser docs call:

Installing qutebrowser with virtualenv

Don't ask me what that means, but I followed the documentation, and then the 2 error messages I got, the best I could and the result is a qutebrowser that is supported on Discourse forums:

as is clearly shown in the image above, as now I can sign in and before it would not let me sign in or view any rich content.

Edit: to add to @zenzen I wanted to try your solution and I feel it would have been the simplest solution if I had been able to figure out what I was supposed to be changing. But I think I was super tired after work and it just wasn't clicking for me.

Also editing that I was mistaken when I thought the qutebrowser I had originally installed was the latest version, it was just *the latest version I had seen when searching the apt for other versions and I wrongly assumed that meant it was the most recent.

Edit:

For completeness I am adding that I followed this excellent tutorial by @HanneMaes to make a launcher for qutebrowser venv so that I could pin it to the taskbar where Firefox used to be and have it show up in the Internet section of the Zorin menu. I also set it as the default browser.

1 Like