[qubes-users] Start disposable

Hello
the documented way to start a disposable from dom0 is:

$ qvm-run --dispvm=<DISPOSABLE_TEMPLATE> --service qubes.StartApp+firefox

however this works well when the disposable template is based on Fedora, but when it is based on Debian it gives me the following error:
disp6615: command failed with code: 1

any idea?


Is it possible that the command you're attempting to execute is not being found in the disposable, e.g., because Firefox is not installed in the template on which that disposable is (ultimately) based or because the proper command to run it is different from `firefox`?

Many thanks Andrew, it seems that somehow you are right, but in this sense strange things happen:

  1. writing xterm or gnome-terminal rather than firefox results in “failed with code:1”
  2. writing google-chrome rather than firefox correctly starts google-chrome and the generated disp2571 does not shutdown, so other tests are possible:
  3. writing “qvm-run disp2571 firefox” correctly starts firefox
  4. writing “qvm-run disp 2571 gnome-terminal” correctly starts gnome-terminal

So resuming why is it that this does not work:
$ qvm-run --dispvm=deb-10-java-dvm --service qubes.StartApp+firefox
but these work

$ qvm-run --dispvm=deb-10-java-dvm --service qubes.StartApp+google-chrome
$ qvm-run disp2571 firefox

Also why is it that, in Qubes Manager, if I write disp2571 in the search field, the result is that deb-10-java-dvm appears? Well they are related, but they are not the same thing: disp2571 is the disposable, while deb-10-java-dvm is the template that generates the disposable. The same happens using disposable template fedora-32-dvm that comes preinstalled with Qubes release 4.0. I remember that in the past (not sure which Qubes release) writing the disposable name in the search field of the Qubes Manager, then the correct disposable appeared and it was possible to use “run command in qube” to start additional applications in it, which is no longer possible from Qubes Manager.
Best
Franz

The plain call to qvm-run attempts to run the executable directly.
This is why `qvm-run disp2571 firefox` works.

The use of `--service qubes.StartApp+` tries to start an application
using a *desktop file* - in Debian, the file for the firefox
application is called firefox-esr - it's at
/usr/share/applications/firefox-esr.desktop

So with that usage you need:
`qvm-run --dispvm=deb-10-java-dvm --service qubes.StartApp+firefox-esr`

xterm does not have a desktop file - so you cant use the
`--service qubes.StartApp+` approach at all unless you provide one.

Hello
the documented way to start a disposable from dom0 is:

$ qvm-run --dispvm=<DISPOSABLE_TEMPLATE> --service qubes.StartApp+firefox

however this works well when the disposable template is based on Fedora,
but when it is based on Debian it gives me the following error:
disp6615: command failed with code: 1
any idea?

Is it possible that the command you’re attempting to execute is not
being found in the disposable, e.g., because Firefox is not installed in
the template on which that disposable is (ultimately) based or because
the proper command to run it is different from firefox?

Many thanks Andrew, it seems that somehow you are right, but in this sense
strange things happen:

  1. writing xterm or gnome-terminal rather than firefox results in “failed
    with code:1”
  2. writing google-chrome rather than firefox correctly starts google-chrome
    and the generated disp2571 does not shutdown, so other tests are possible:
  3. writing “qvm-run disp2571 firefox” correctly starts firefox
  4. writing “qvm-run disp 2571 gnome-terminal” correctly starts
    gnome-terminal

So resuming why is it that this does not work:
$ qvm-run --dispvm=deb-10-java-dvm --service qubes.StartApp+firefox
but these work
$ qvm-run --dispvm=deb-10-java-dvm --service qubes.StartApp+google-chrome
$ qvm-run disp2571 firefox

The plain call to qvm-run attempts to run the executable directly.
This is why qvm-run disp2571 firefox works.

The use of --service qubes.StartApp+ tries to start an application
using a desktop file - in Debian, the file for the firefox
application is called firefox-esr - it’s at
/usr/share/applications/firefox-esr.desktop

So with that usage you need:
qvm-run --dispvm=deb-10-java-dvm --service qubes.StartApp+firefox-esr

xterm does not have a desktop file - so you cant use the
--service qubes.StartApp+ approach at all unless you provide one.

Wow Unman, it works, love you.
Also I put it into a file.sh, create a launcher in the panel and it starts with a click. Wonderful