Running new mulvad browser in disposable

I was able to install the mulvad browser in a debian template dvm and register the .desktop that came with it by in runing

./start-mulvad-browser.desktop --register-app

I can see the app menu item in the qubes menu. I can select this now and the browser starts up fine in the template dvm. When I try to select this in the dvm app menu a dvm starts, then shuts down without the browser opening.

I can open a dvm terminal and run the .desktop file to start a mulvad browser fine. I’d rather not have to open a terminal every time I want to run a disposable mulvad browser though.

I thought of trying to open mulvad browser from dom0 by running

qvm-run -q -a --service --dispvm=debiian-11-dvm -- qubes.StartApp+mulvad-browser

I then get an error notification as the dvm starts and stops again. It say’s,

failed to execute qubes.windowiconUpdater from dispxxxx dom0

Has anyone else got the mulvad browser to properly launch in a dvm? Any help would be greatly appreciated.

The DispVM menu doesn’t work because of the --detach option in the Mullvad desktop file.

Exec=sh -c '"$(dirname "$*")"/Browser/start-mullvad-browser --detach || ([ ! -x "$(dirname "$*")"/Browser/start-mullvad-browser ] && "$(dirname "$*")"/start-mullvad-browser --detach)' dummy %k
--detach  Detach from terminal and run Mullvad Browser in the background.

https://www.qubes-os.org/doc/disposable-customization/#adding-programs-to-disposable-application-menu

Note that currently only applications whose main process keeps running until you close the application (i.e. do not start a background process instead) will work.

There is 3 files (last one is handled by register/unregister -app).

/home/user/Downloads/mullvad-browser/Browser/start-mullvad-browser.desktop
/home/user/Downloads/mullvad-browser/start-mullvad-browser.desktop
/home/user/.local/share/applications/start-mullvad-browser.desktop
5 Likes

Thanks! I only had to delete the --detach option for the third file in the template dvm and it works now.

2 Likes

I have the same problem and i don’t understand your solution.
I am not a very good linux/qubes user but love to use it.

My setup: Fedora36 disposable VM
I don’t now how to delete the --detach option in my dispTemplate
I don’t have this file whene i register the app : /home/user/.local/share/applications/start-mullvad-browser.desktop

Thanks if you have a solution !
I don’t now if i am clear.

Fedora 36 reaches EOL on 2023-05-16
You should install install Fedora 38.
You can do that with qvm-template in dom0:

[user@dom0 ~]$ qvm-template install fedora-38

Remove the both occurences of --detach from the Exec= line in the file /home/user/.local/share/applications/start-mullvad-browser.desktop.
(open the file by right cliking on it an choose gedit or any text editor).

This file is in your disposable template. Not in dom0.

You might also need to refresh the application list of your disposable template to see the Mullvad Browser in this list.
In the Applications tab of your disposable template settings, click on the refresh applications button.

Thanks i didn’t realize it was so simple !
It’s working now,
and thanks a LOT for the fedora 36 EOL info, i have change all my fedora appVM to Fedora 38.

Sorry to re kindle an old thread, but a can’t for the life of me get this to work. I have deleted all the instances of —detach as describe, refresh and restarted all the qubes concerned, and nothing seems to work. The qube just immediately shuts down upon starting up. Would really appreciate some pointers in looking at it from a new direction.

Edit: qubes 4.2 fedora-38-xfce

This is how I set mine up:

  • Template:
    • Extract archive
    • Place the mullvad-browser directory inside /opt
    • Create a new desktop entry in /usr/share/applications
    • /usr/share/applications/start-mullvad-browser.desktop
      #!/usr/bin/env ./Browser/execdesktop
      #
      # This file is a self-modifying .desktop file that can be run from the shell.
      # It preserves arguments and environment for the start-mullvad-browser script.
      #
      # Run './start-mullvad-browser.desktop --help' to display the full set of options.
      #
      # When invoked from the shell, this file must always be in a Mullvad Browser root
      # directory. When run from the file manager or desktop GUI, it is relocatable.
      #
      # After first invocation, it will update itself with the absolute path to the
      # current Mullvad Browser location, to support relocation of this .desktop file for GUI
      # invocation. You can also add Mullvad Browser to your desktop's application menu
      # by running './start-mullvad-browser.desktop --register-app'
      #
      # If you use --register-app, and then relocate your Mullvad Browser directory, Mullvad Browser
      # will no longer launch from your desktop's app launcher/dock. However, if you
      # re-run --register-app from inside that new directory, the script
      # will correct the absolute paths and re-register itself.
      #
      # This file will also still function if the path changes when Mullvad Browser is used as a
      # portable app, so long as it is run directly from that new directory, either
      # via the shell or via the file manager.
      
      [Desktop Entry]
      Type=Application
      Name=Mullvad Browser
      GenericName=Web Browser
      Comment=Mullvad Browser is +1 for privacy and −1 for mass surveillance
      Categories=Network;WebBrowser;Security;
      Exec=sh -c '"/opt/mullvad-browser/Browser/start-mullvad-browser" || ([ !  -x "/opt/mullvad-browser/Browser/start-mullvad-browser" ] && "$(dirname "$*")"/Browser/start-mullvad-browser)' dummy %k
      X-MullvadBrowser-ExecShell=./Browser/start-mullvad-browser
      Icon=/opt/mullvad-browser/Browser/browser/chrome/icons/default/default128.png
      StartupWMClass=Mullvad Browser
      
    • Refresh the application list from the template settings
    • Turn off template
  • Disp Template:
    • Add Mullvad Browser in the application list
    • Start new disp qube for the application

To update the browser, extract the archive and move the folder back to /opt.

Wow, thank you for the step by step! I have hit an immediate snag. I’m rather illiterate when it comes to terminal, so I’m trying to do it with the gui. But I can’t seem to extract to, or move anything to, /opt because of permissions.

Could you help me with terminal commands to achieve this,or offer me some assistance on how to change the permissions via the gui? The normally way won’t work- it’s all greyed out.

To extract the tar archive, use tar xvf mullvad-browser-linux-x86_64-13.0.7.tar.xz
Then, move the directory to /opt with sudo mv mullvad-browser /opt
For the .desktop file, run sudo nano /usr/share/applications/start-mullvad-browser.desktop or any GUI text editor.

Wow again. Thank you so much for taking the time to baby me through that. What a person. It’s worked! I appreciate all the help. Have a wonderful day.

1 Like

A quick follow up for this, is there a way to force the browser start in strict mode each time? It’s always in standard mode whenever I open up a disp, and certainly for links or other sensitive stuff it would be better to start at the strictest setting and working backwards.