Cannot create Disposable VM in main Q menu

Have 3 disposable VMs, all based on custom fedora template.

Trouble started when upgraded to fedora 37.

Now, only 2 of them appear in the Q button menu as “Disposable” up just below Qubes Tools.

One doesn’t anymore.
It still appears below as one of the disp templates, and can be started, but not as disposable.

I tried qvm-prefs, which looks ok, and same as others.
Tried setting and unsetting qvm-features appmenus-dispvm as in instructions:

Has anyone had this and the fix?

The first question to ask:

When that qube did show up in the menu, how did it work?

When you started it up, was your disposable named the same as the qube in the menu, or was it named something like disp1234?

If it’s the first case, you are dealing with a named disposable, and that named disposable is what was in the menu. In the second, you’re dealing with an (unnamed) disposable, and the thing in the menu is actually the template. (Many times this distinction is hidden by naming whatever it is in the menu as -dvm regardless of which kind it is. I found that very confusing.)

The steps take to get the qube back into the menu are going to depend on which kind it was.

It started as unnamed dispNumber.

Then let’s start with your dvm template (since you don’t have a named dvm based on that template).

first verify that the qube actually still exists. In the manager, just look to see if its there. Command line, do qvm-ls <dvmtemplatename>. If you get a reasonable looking output, it exists, if you get an error message then it doesn’t exist…troubleshooting ended; you have work to do re-creating it.

Assuming it exists, do qvm-features <dvmtemplatename>. Look for a line that reads appmenus-dispvm true. That tells the menu to show your dvm template in the menu where you can use it to launch unnamed disposables off of it. Otherwise it will ONLY show the one listing to run the template itself (which you should almost never want to do).

(Edit: as pointed out in another reply, it could be appmenus-dispvm 1 and probably will be if it’s present at all. If it’s not present then you have a problem)

If this is not set or is there and is set to false, do qvm-features <dvmtemplatename> appmenus-dispvm true [edit or appmenus-dispvm 1]

Wait a few minutes and see if it shows up in your menu now.

It will enable the feature, but not for the reason you think. :slight_smile:
Maybe you know, for clarity:

from man qvm-features:

Some extensions interpret the values as boolean. In this case, the empty
string means False and non-empty string (commonly ‘1’) means True.

from the documentation linked above:

[user@dom0 ~]$ qvm-features fedora-26-dvm appmenus-dispvm 1

edited my response to reflect your correction/clarification. Thanks!

How about try adding some other apps into the disp template’s “App Shortcuts”? This might help in refreshing the appmenus.

Thanks, Everyone!

All of that i’ve checked.

It looks same as other such vms i have.

It’s not appearing in menu so far.

One more thing to try, from the command line (all in dom0):

Start the VM: qvm-start <dvm template name>
Force menu update: qvm-sync-appmenus --force-root <dvm template name>
Stop the VM: qvm-shutdown --wait <dvm template name>

By the way if you are using salt this has no effect run from a salt script (even one with dom0 as the target), This is one reason why I still have to use bash scripts to run salt from.

Wait 5-10 minutes before checking the menu.

Thanks!

Didn’t appear yet, but haven’t had time to reboot either.

Had something to do with installing this new mullvad browser at same time as upgrading the template to fedora 37:

I did again what they mentioned in that thread, and the dispVM reappeared in the menu where it was, but with only the mullvad browser app available.
In the qube settings, several other apps are available and appear in dvm template.

:thinking:

The solution was prescribed by @cayce :

A) Within the “Qubes Manager” GUI, I select/highlight the base template used for the AppVM/DispVM & click the “Settings” button

B) Within “Settings”, select the “Applications” tab & click the “Refresh applications” button

C) Upon seeing our expected application launcher, click “OK” button

D) Back in “Qubes Manager”, highlight the derivative AppVM & click the “Settings” button

E) Within “Settings”, select the “Applications” tab & we want to remove all “Selected” applications by clicking the “<<” button followed by clicking the “Apply” button

F) Next, navigate to the “Advanced” tab by clicking on it

G) Within the “Advanced” tab, de-select the “Disposable template” radio-box & click the “Apply” button

H) Remaining within the “Advanced” tab, re-select the “Disposable template” radio-box, click the “Apply” button

I) Still remaining within the “Advanced” tab, click the drop-down for “Default disposable template”, select the AppVM (same one we are currently configuring) and click the “Apply” button

J) Then, navigate back to the “Applications” tab by clicking on it

K) Within the “Applications” tab, highlight the desired application under “Available” (left-hand side) and click the “>” button to move the “Selected” (left-hand side), click the “Apply” button followed by the “OK” button

L) Finally, close the “Qubes Manager” GUI (your main menu of the “Application Launcher” ought refresh) & either navigate to or, search for your application.

If also using a derived “Named” DispVM, the application shortcut selection ought be inherited.

Thank @cayce and all of you very much for your time!

1 Like

For whatever reason, trying to get a dvm-template to show up in the menu in a form where it can be used to launch unnamed disposables requires this inordinate amount of hoop-jumping. I was doing things from scripts, and one thing you can do is issue qvm-features to set what should show in the menu (there’s a menu-items “feature”). But with dvm-templates I had to set menu-default-items, then set the appmenus-dispvm flag (as discussed above) and only then set menu-items to be the same as default-menu-items. Otherwise my dvm template would never show up in the menu as a clickable item that starts a disposable disp1234 type qube; it would just look like an ordinary AppVM.

I find this situation a bit ridiculous and you’re not the first to have been tripped up by it.

2 Likes