Hello,
one example, I have FooAppVM in my Qmenu shortcuts, but there is not FooAppVM, I deleted it long time ago
Can I go into dom0 somewhere and safely delete its reference? or please suggest something else
Hello,
one example, I have FooAppVM in my Qmenu shortcuts, but there is not FooAppVM, I deleted it long time ago
Can I go into dom0 somewhere and safely delete its reference? or please suggest something else
so the Qmenu shortcut AppVM I would like to be rid of is called computer9
your link with notes added
======================================
## Fixing shortcuts
First, try this in dom0:
* *$ qvm-appmenus --update --force <vm_name>* *
If that doesnât work, you can manually modify the files in ~/.local/share/applications/
or /usr/local/share/applications/
.
For example, suppose youâve deleted my-old-vm
, but there is a leftover Application Menu shortcut, and you find a related file in ~/.local/share/applications/
.
In dom0:
* *$ rm -i ~/.local/share/applications/my-old-vm-** *
## Behind the scenes
qvm-sync-appmenus
works by invoking GetAppMenus Qubes service in the target domain. This service enumerates installed applications and sends formatted info back to the dom0 script ( /usr/libexec/qubes-appmenus/qubes-receive-appmenus
) which creates .desktop files in the AppVM/TemplateVM directory.
For Linux VMs the service script is in /etc/qubes-rpc/qubes.GetAppMenus
. In Windows itâs a PowerShell script located in c:\Program Files\Invisible Things Lab\Qubes OS Windows Tools\qubes-rpc-services\get-appmenus.ps1
by default.
The list of installed applications for each AppVM is stored in dom0âs ~/.local/share/qubes-appmenus/<vmname>/apps.templates
. Each menu entry is a file that follows the .desktop file format with some wildcards ( %VMNAME% , %VMDIR% ). Applications selected to appear in the menu are stored in ~/.local/share/qubes-appmenus/<vmname>/apps
.
Actual command lines for the menu shortcuts involve qvm-run
command which starts a process in another domain. Examples: qvm-run -q -a --service -- %VMNAME% qubes.StartApp+7-Zip-7-Zip_File_Manager
or qvm-run -q -a --service -- %VMNAME% qubes.StartApp+firefox
Note that you can create a shortcut that points to a .desktop file in your AppVM with e.g. qvm-run -q -a --service -- personal qubes.StartApp+firefox
.
=============================
there is No computer9 in .local/share/qubes-appmenus/
nor in
.local/share/applications
so there is no way to manually remove anything
further:
in dom0 qvm-appmenus --update --force isnât going to work because per the Qubes Manager it doesnât exist
I do admit Iâm sure I follow the 2nd half of the instructions as per what they mean.
I did do a
Iâm not sure youâre right about how it works. You should still that command first, since thatâs what the documentation recommends to try first.
can someone think of a reason why I canât
dom0 canât sudo cd /home/user/.local
I can do a ls -l ~/.local and see files there but not sudo cd
maybe its a âfeatureâ ? I am trying Still to delete a non-existing AppVMâs .desktop shortcuts
sigh
I also am unable to $sudo cd /root , is this also by design?
The command is working but nothing results from it. From my understanding when you do sudo
it opens a subshell and runs that command â so it changes directory and then exits that subshell (returning to the directory of the parent shell)
you probably can just do sudo rm /path/to/file
to remove it.
But in this case all things under ~/.local
seem to be under the regular user. So there should be no need for sudo.
This is basic Linux command-line stuff, not Qubes-specific. In short: Youâre trying to do it the wrong way.
This is clearly an XY Problem. Iâm guessing that what youâre really trying to do is something like sudo rm -i ~/.local/share/applications/my-old-vm-*
.
Even better.
not so basic to me, sorry, disregard that part.
so now when I do $sudo find / -name computer1
nothing is found.
But, the reference is Still in my shortcuts
I , therefore, see nothing else I can manually do ?
(I merged this into your previous thread on the same topic in order to make it easier to follow.)
Try: ls -l ~/.local/share/applications/
and see whether the offending VM is mentioned anywhere.
andrew, there is no reference to it there.
since there is No AppVM there is No AppVM to reference for the command
qvm-appmenus --update
though, the shortcut must be referenced Somewhere
thank for your patience
Youâre absolutely certain that it isnât mentioned anywhere in the output of ls -l ~/.local/share/applications/
?
If thatâs truly the case, then Iâm afraid I have no more ideas to help you. The only way such a shortcut should be able to exist is to have a corresponding file in that directory. If there really is no such file, then I donât understand how the shortcut could exist.
a reference to the AppVM (that has no AppVM) in /usr/local/share/applications
so do I just go into that Dir and delete all the references to the app.desktop ?
bit hestitant to manually edit /usr/local/share in dom0 ?
or shouldnât be?
Always make backups!
You can simply rename the file to see if that removes the offending shortcut, e.g.:
foo.desktop
-> foo.desktop.bak
do you backup dom0 when you backup?
Yes:
whta version of qubes release?
how did you delete the qube in question?
not sure, but all this may have transpired because I wanted to use /install an application that had no package, âŚeventually I just installed it in each AppVM, but then I wanted a shortcut to launch it, and created something in the Template so it would appear in the Q -Menu for the AppVMsâŚ
I may also have initially attempted to install the application in the Template, when apparently it belongs in each individual AppVM ? esp since it requires some unusual build in .venv ; (qutebrowser up to date versions)