I lack context. Could you tell me a possible name for the split?
Me too. Never mind, thanks.
Hello @rustybird!
How we can install split-browser
in fedora-37(-minimal)
?
Thanks!
There are some problems with the qubes-repo-contrib package repository infrastructure, so the Split Browser packages are currently outdated everywhere and there are no contrib packages for Fedora 37 at all.
It is possible to install/update manually from my upstream Git repository. Steps 2 and 3 of the installation instructions each have a paragraph that starts with Or install manually:
Oh, sorry to hear. Thanks for the tip any way. What would be secure-wise way to copy vm/
to a template/AppVM?
Also, both dirs inside vm, or the needed one for the AppVMâs template?
The whole vm/
directory. But Iâve edited my last post to not go as far as ârecommendingâ manual installation, because how to do this securely (which is not specific to Split Browser) is a big can of worms I donât feel like openingâŚ
Huge one, yep. Huge enough me too to wait infrastructure (untrusted, of course) issue to be resolved. Thanks for your fantastic response rate as well as for clear and more than useful tips.
It looks we donât have them anymore⌠Thanks!
Well, the Fedora 37 contrib repo packages are still far behind at v0.15.0. Hopefully theyâll be updated to v0.15.5 (comparison) soon though.
I know, but at least for me qubes-contrib-vm-r4.1-current
became available only recently, while updating split-browser manually - no problem.
v0.15.5 has just landed in the contrib testing repos.
Iâm trying to get the split browser to work for Mullvad, but the disposable browser never appears (like described in Split-browser DisposableVM shuts down immediately after start). I have the same issues trying to setup a split-browser with Firefox. Iâm hoping someone here can check my work and see an error that isnât obvious to me. Iâm running Qubes 4.2.3 on a Nitropad-nv41 with 64 Gb RAM. Thanks in advance.
- Starting with a clean, updated debian 12 install, I created deb12-clone1 and deb12-clone2 templates.
- For deb12-clone1 (template for persistent AppVM): âsudo apt install qubes-repo-contribâ and then âsudo apt install qubes-split-browserâ
- For deb12-clone2 (template for disposable template): âsudo apt install qubes-repo-contribâ and then âsudo apt install qubes-split-browser-dispâ
- Create disposable template DVM-Surf that is based on deb12-clone2.
- Create persistent AppVM named Surfer that is based on deb12-clone1. Net qube = none. Default disposable = DVM-Surf.
- Install Mullvad browser on deb12-clone2 as described on the Mullvad Qubes installation page: Install Mullvad browser on Qubes OS
- Repeat previous step on disposable template DVM-Surf to get Mullvad installed.
- In deb12-clone2: âsudo mkdir -p /usr/local/etc/split-browser-dispâ and then âsudo ln -s /etc/split-browser-disp/23-mullvad-browser.bash.EXAMPLE /usr/local/etc/split-browser-disp/23-mullvad-browser.bashâ
- Close all qubes and templates.
- From persistent AppVM Surfer terminal, âsplit-browserâ command generates this error: âdisp: /etc/qubes-rpc/split-browser-disp: line 20: cd: /home/user/.tb/tor-browser/Browser: No such file or directoryâ (this is the same error I got when I was trying to set up split browser with Firefox).
Any ideas? I saw the article about deleting the ââdetachâ from the .desktop files (DispVM(mullvad-browser) Debian-12-minimal ), but it doesnât seem that this would prevent the disposable from opening. Thanks again.
Oh, those instructions extract Mullvad Browser to ~/.local/share/
rather than directly to the home directory. Iâve just pushed a fix to Split Browserâs example configuration for Mullvad Browser reflecting this. Thanks!
But that alone will not fix your problem because:
Looks like something is wrong with the (symlink) configuration. Itâs not being picked up at all - if it was, the error would complain about missing /home/user/mullvad-browser/Browser
instead.
On the persistent AppVM, you can see your disposable side configuration using:
$ qvm-run-vm @dispvm 'ls -l /etc/split-browser-disp /usr/local/etc/split-browser-disp'
It should look something like
/etc/split-browser-disp:
total 12
-rw-r--r-- 1 root root 215 Jun 6 2024 21-tor-browser.bash
-rw-r--r-- 1 root root 65 Jun 6 2024 22-firefox.bash.EXAMPLE
-rw-r--r-- 1 root root 80 Jun 6 2024 23-mullvad-browser.bash.EXAMPLE
/usr/local/etc/split-browser-disp:
total 0
lrwxrwxrwx 1 root root 55 Dec 10 11:01 23-mullvad-browser.bash -> /etc/split-browser-disp/23-mullvad-browser.bash.EXAMPLE
Thanks for the updated commit. I repeated the install with an additional step between 7 & 8:
In the DVM-Surf disposable template, I opened /home/user/.local/share/applications/start-mullvad-browser.desktop and deleted the 3 instances of ââdetachâ. I played around with a few different scenarios and found that if I donât do this, I canât open a mullvad browser from DVM-Surf.
I ran the code you suggested from the persistent AppVM (Surfer). I got this:
/etc/split-browser-disp:
total 12
-rw-râr-- 1 root root 215 Jun 6 2024 21-tor-browser.bash
-rw-râr-- 1 root root 65 Jun 6 2024 22-firefox.bash.EXAMPLE
-rw-râr-- 1 root root 80 Jun 6 2024 23-mullvad-browser.bash.EXAMPLE
ls: cannot access â/usr/local/etc/split-browser-dispâ: No such file or directory
The last line is confusing because there is definitely a linked bash file in that directory:
user@deb12-clone2:/usr/local/etc/split-browser-disp$ ls
23-mullvad-browser.bash
Just to be clear, Iâm supposed to create the link in deb12-clone2 (template), rather than DVM-Surf (disposable template)?
Oops, I didnât even notice that deb12-clone2 is of course a TemplateVM, not a disposable template. Thatâs why the symlink is missing in the DisposableVM: Everything in /usr/local
on a TemplateVM will not be visible to an AppVM based on that TemplateVM (because every AppVM has its own private /usr/local
), nor to a DisposableVM based on the (disposable template) AppVM.
You can either create the symlink in the DVM-Surf disposable template in /usr/local/etc
, or in the deb12-clone2 TemplateVM in /etc
, e.g.
sudo ln -s 23-mullvad-browser.bash.EXAMPLE /etc/split-browser-disp/23-mullvad-browser.bash
I removed the split-browser-disp directory and its contents from deb12-clone2 and then created the link in the disposable template (DVM-Surf). I ran the code you mentioned previously from the persistent AppVM (Surfer) and it seems that the link is in place:
user@Surfer:~$ qvm-run-vm @dispvm âls -l /etc/split-browser-disp /usr/local/etc/split-browser-dispâ
/etc/split-browser-disp:
total 12
-rw-râr-- 1 root root 215 Jun 6 2024 21-tor-browser.bash
-rw-râr-- 1 root root 65 Jun 6 2024 22-firefox.bash.EXAMPLE
-rw-râr-- 1 root root 80 Jun 6 2024 23-mullvad-browser.bash.EXAMPLE/usr/local/etc/split-browser-disp:
total 0
lrwxrwxrwx 1 root root 55 Dec 11 09:28 23-mullvad-browser.bash â /etc/split-browser-disp/23-mullvad-browser.bash.EXAMPLE
Despite this, I still get the same behavior of the disposalbeVM not opening:
user@Surfer:~$ split-browser
disp: /etc/qubes-rpc/split-browser-disp: line 20: cd: /home/user/mullvad-browser/Browser: No such file or directory
The commit I linked to hasnât been released in an update to Split Browser yet, so currently you either have to edit the file /etc/split-browser-disp/23-mullvad-browser.bash.EXAMPLE
to look like the new version (in deb12-clone2), or you can use the unmodified old version of the file if you extract Mullvad Browser directly in the home directory (in DVM-Surf).
That did the trick. Thank you very much for helping me get it running⌠and thank you for creating this tool in the first place.
I fiddled around and figured out that I didnât need to modify any of the .desktop files for mullvad. Also found out that you donât even need to install it in the template (deb12-clone2).
In case anyone is coming behind me with a similar issue, here is a revision of the steps that worked for me - hopefully it can save someone some time. Please make it better if you (or anyone else) see how.
SPLIT BROWSER INSTALL WITH MULLVAD
- From the terminal of a clean, updated debian 12 template (deb12-clone1), âsudo apt install qubes-repo-contribâ and then âsudo apt install qubes-split-browser qubes-split-browser-dispâ.
- Create disposable template DVM-Surf that is based on deb12-clone1.
- Create persistent AppVM named Surfer that is based on deb12-clone1. Net qube = none. Default disposable = DVM-Surf.
- Install Mullvad browser on DVM-Surf as described on the Mullvad Qubes installation page: Install Mullvad browser on Qubes OS. IMPORTANT: Until the next Split Browser update, make sure to install Mullvad in the /home/user/ directory. After the update, follow the Mullvad instructions and install in /home/user/.local/share/
- Shutdown both deb12-clone1 and DVM-Surf.
- Terminal DVM-Surf: âsudo mkdir -p /usr/local/etc/split-browser-dispâ and then âsudo ln -s /etc/split-browser-disp/23-mullvad-browser.bash.EXAMPLE /usr/local/etc/split-browser-disp/23-mullvad-browser.bashâ
- Shutdown all recently created qubes and templates.
- Open Split Browser from Surfer
Looks good!
BTW, both packages (qubes-split-browser and qubes-split-browser-disp) can be installed in the same template. They donât conflict.
As an additional note, you can put stuff into /usr/local.orig on the template and it will end up in /usr/local in the appvm. Itâs probably necessary to re-create the appvm if you change anything in /usr/local.orig, howeverâŚand even then sometimes it doesnât work and you end up with a /usr/local that is empty on your AppVM.
I actually do this a lot; I like to have the stuff I wrote somewhere other than /usr/bin so it isnât buried amongst all of the other stuff installed in the VM. Unfortunately /usr/local/bin is the only location in the standard $PATH that isnât filled with other stuff, so I have to use it if I want to keep things separate.