Coding desktop shortcut for KMV virt-manager guest os Z16

I've been at this for hours. I honestly have no clue what I'm doing.

I'm trying to make a desktop shortcut to the QEMU/KMV guest os.

I found this code, which calls the guest up in terminal like a charm.

virt-manager --connect qemu:///system --show-domain-console Xubuntu

So I took that to create a script and saved it as an .sh file to /scripts/

#!/bin/bash
virt-manager --connect qemu:///system --show-domain-console Xubuntu

Then I made a .desktop file with this information and saved it to /usr/share/applications/...

[Desktop Entry]
Version=1.0
Type=Application
Name=Xubuntu
Comment=Start Xubuntu VM
Exec=~/scripts/kubuntu-vm.sh
Icon='/home/username/Pictures/kub.png'
Terminal=false

I used chmod +x to make the script executable and for the shortcut too.

But it isn't working. Clicking the shortcut brings up a window asking if I want to run it or display its contents. Nothing happens when I select "execute" and the icon isn't showing either.

I do have snippets of code from other sources, but for the life of me I can't make this work. Help?!

Just for reference, I got the info from these 2 sources:
Virt-Manager Directly launch Guest Os
Shortcut Launcher for KMV

Should this be:

#!/bin/bash
/usr/bin/virt-manager --connect qemu:///system --show-domain-console Xubuntu $1

Avoid referencing home as ~ in a desktop entry. Use the Full Path, instead
(replace "$USER" or "username" with your actual system username):
/home/$USER/scripts/kubuntu-vm.sh

Lol. I know. I only changed it here in the forum as I'd prefer not to share my user name publicly. It's typed out in the file. :wink:

But I don't know what you mean about the "~" . Should I just take it out?

Okay, I updated the script (thank you!)... but still nada. There must be something I've got wrong, but I just don't know enough to know what it is.

Yes.

Gonna call on @337harvey and see if he can help - he is pretty good with bash scripting.

Super appreciate it!

Questions though? It's a learning moment for me. What does the $1 do? And, should I be saving my script as a .sh or .bash?

First argument.

A .sh is a Shell Script.
So that is the proper way to save it. I think that .bash would be a file name only. For example~/.bash_history

1 Like

Okay, did that. Now I'm getting an error from Virt-Manager

Error starting Virtual Machine manager: Unhandled command line options ['home/myusername/Desktop/Xubuntu-vm.desktop']

At least it's trying to respond to the script now.

Um... This may be a dumb question on my part, but in the above, you had it in /scripts - did you move the file?
EDIT: Nevermind, I misread it and yes, it was a dumb question. I just realized what I read and what I thought I read.

Can you remove the first argument ($1) and then try it?

I keep telling you...

I.
Am.
NOT.
Food!

1 Like

True, I just prefer full path because it is easy to miss a whitespace after tilde.

1 Like

Thanks so much for replying @337harvey . It's actually working now (mostly). Moved the script and icon to a folder in the /home/ directory, and just removed the ' ' around the directory names and it's working and have it on my dash dock no less!

Only, for the life of me, I cannot get the png icon to show. Any ideas?

Actually, it's working now, without the = . It was the ' ' around the directory names. Just can't get the icon to show.

Okay, so maybe it isn't totally working. I can't get it to work on the actual desktop as a shortcut. But it working on the dock... :roll_eyes: I can't access the properties by left click when it's on the dock. So it's basically an invisible space holder right now, lol.

Agreed. I'll post what I put together for the full script + shortcut code as soon as I have it fully functioning.

For the icon, try just

Icon=kub.png

Place the icon in /usr/share/pixmaps (you can try without moving it first if you want...)

Test if that works.

/pixmaps is better as in /icons, there's generally a theme.index, whereas /pixmaps is General Resource.

EDIT: Re-reading this, I see I generally generalized this too much.

1 Like

Well, technically... if I could get it to work on the desktop, but it doesn't. It only works when I hit the super key, type the shortcut name and left click to add to the dock. (there are no properties options there).

On the dock, it is invisible. It's like a space holder but when I click it, the vm guest opens perfectly.

I had, yes. But did it again for good measure.

I also finally got it on the desktop! Woohoo. But going into properties and changing the icon there didn't work. For good measure, I also tried an icon I'd used on a different app previously... also didn't show.

How bizarre... I just can't figure out what to do. Gah!

That, generally, is generally okay. :wink:

So I gave it a go... no success. But I think something weird is going on with it. I may need to reboot my computer.

Thanks so much @337harvey and @Aravisian for the coding help to get this to work!! /pixmaps/ was the key for the icon, btw. Just needed to reboot to see the changes. :grin:

2 Likes