I have a problem with launching applications using qvm-run qubes app via Launchers on xfce4-panel.
When I click any item in Launcher of XFCE panel, it does nothing.
It happens if launcher uses qvm-run with actual executable command.
E.g., such Command in Launcher does nothing:
qvm-run myqube firefox
While this one works:
qvm-run -q -a --service -- myqube qubes.StartApp+org.mozilla.firefox
Workarounds
[Bad] If I check “Run in terminal” checkbox for Launcher command - it works. But it shows terminal window and keeps it open until app is running. Not something that one would want.
[Good] I found a real workaround to make it work (almost impossible to find) - such commands work:
bash -c '2>/dev/null qvm-run myqube "firefox"'
Note, that both “calling via bash” and “redirecting stderr” is REQUIRED to run the command, otherwise nothing happens when I click the icon.
While I don’t really know why the first approach doesn’t work, I believe the second one (with --service) is the recommended way of launching applications in qubes.
The reason seems to be my templates. They are fedora-42-minimal-based and worked fine in Qubes OS R4.2, but when I transfered them via backup-restore to R4.3, I have these issues.
So, probably, the “solution” in this case is to create new fedora-43-minimal-based templates in R4.3.
I checked that qubes based on such templates work fine with xfce4-panel Launchers in R4.3.
I created new templates based on fedora-43-minimal and it works fine with them. The reason why it was broken for fedora-42-minimal migrated from Qubes R4.2 is not clear, but I am closing it as solved for me.