OK. On my (up-to-date) 4.1.2 system the directory is python3.8 (not 3.11). I don’t know if that matters. Just mentioning it.
So, I added print(default_dispvm)
inside on_domain_add
function, properly indented, right after all the checks related to its assignment, and ran:
user@dom0:~ > qvm-run -v -q -a --service --dispvm=whonix-ws-16-dvm -- qubes.StartApp+janondisttorbrowser
Running 'qubes.StartApp+janondisttorbrowser' on $dispvm:whonix-ws-16-dvm
IOW, it doesn’t output anything. I don’t know how output is handled internally among those Python scripts but it obviously doesn’t show on CLI.
Then I tried hard coding default_dispvm
and logging it by adding this at the very end of on_domain_add
:
default_dispvm = 'd12-m-dvm'
vm.log(default_dispvm)
Even that didn’t help. The value of default_dispvm
is not visible in any log either and the default dispvm is still whonix-16-ws-dvm.
Another thing which caught my attention is that this script refers to template.features
. I don’t know if that “features” is the same “features” which qvm-features
manipulates but it seems worth noting because qvm-features
doesn’t seem able to change default_dispvm
. Only qvm-create
and qvm-prefs
can do that and there is no “craete” or “prefs” anywhere in the Python script.
So far, the only way through which I was able to manipulate this successfully is through the bash script for creating RAM based disposables which does it through qvm-create
.
Please let me know if there is a way to fix that Python stuff.