I did these steps to try make Mullvad Browser work with the Split Browser setup from @rustybird .
- Clone a Fedora 42 minimal template and name it
tpl-mullvad-browser. - Create a disposable template named
dvm-mullvad-browser. - Inside
tpl-mullvad-browser: installqubes-core-agent-networking,qubes-core-agent-passwordless-root,qubes-repo-contrib,qubes-split-browser-disp, andmullvad-browser. - Inside
tpl-mullvad-browser: change/etc/split-browser-disp/22-mullvad-browser.desktopfrom
SB_FIREFOX_DIR=~/.local/share/mullvad-browser/Browser
SB_FIREFOX=( ./start-mullvad-browser )
to
SB_FIREFOX_DIR=/usr/bin
SB_FIREFOX=( ./mullvad-browser )
because the paths from the former did not exist, even after launching a disposable Mullvad Browser from my dvm-mullvad-browser. Seems like this start-mullvad-browser script is not a thing in a packaged Mullvad Browser, anyway (Install Mullvad Browser).
- In the
splitbrowserpersistent qube, create a desktop entry under/usr/share/applications/split-browser-mullvad.desktop:
[Desktop Entry]
Name=Split Browser (Mullvad)
GenericName=Web Browser
Comment=Disposable browser with persistent bookmarks and passwords
Keywords=Firefox
Categories=Network;WebBrowser;Security
Icon=web-browser
Type=Application
MimeType=x-scheme-handler/https;x-scheme-handler/http
Exec=env SB_DISP=@dispvm:dvm-mullvad-browser split-browser %u
Terminal=false
StartupNotify=false
SB_DISP by default is @dispvm, which uses splitbrowser’s default disp VM, which mine is the Whonix workstation. Obviously, I don’t want to use Mullvad Browser from a Whonix workstation, so I change it here. It made me create a policy in dom0.
- In
dom0: create a policy with
qubes.VMShell * splitbrowser @tag:dvm-mullvad-browser allow
Without this policy, I’d get errors saying the operation qubes.VMShell+WaitForSession could not be run from splitbrowser to dispXXXX.
So now, everything “works”. I can launch Mullvad Browser from a desktop entry.
However, I can’t do any of the functionality split browser offers. I can’t bookmark, or use Alt+D to show the bookmarks, etc.
How can I start debugging why, or is there an obvious reason why from the steps I made?
Thanks.