Lançador de VirtualBox personalizado no GNOME 3

2

Estou usando o Ubuntu 13.04 com o GNOME 3. Meu objetivo é criar um lançador personalizado que irá lançar uma máquina virtual específica do VirtualBox, e eu gostaria que tivesse seu próprio ícone.

De um ponto de vista puramente funcional, tenho tido sucesso. Este artigo (webupd8.org) me deu um comando que lança diretamente uma máquina virtual. Então criei um novo arquivo .desktop em ~ / .local / share / applications que usa esse comando para a parte 'Exec'. Quando eu clico no lançador, a máquina é lançada com sucesso.

Meu problema é com o comportamento do ícone. Eu especifiquei um ícone personalizado no arquivo .desktop, e ele aparece lindamente na minha barra de favoritos. No entanto, quando clico no ícone e a máquina virtual é inicializada, a janela recém-aberta não está associada ao meu iniciador personalizado (ou seja, meu ícone personalizado não está "destacado"). Em vez disso, a janela se torna associada a um ícone do VirtualBox recém-criado.

Alguém sabe se há uma maneira de indicar ao GNOME 3 que eu quero associar a nova janela ao meu ícone personalizado? Lembro-me de ter um problema semelhante com o Matlab e especificar algo chamado "StartupWMClass" no arquivo .desktop, mas não sei para onde devo definir o valor neste caso (ou se isso se aplica a um iniciador não-Matlab) .

Aqui está o meu arquivo .desktop para o caso de alguém achar que pode ser útil:

[Desktop Entry]
Name=Windows 8
GenericName=Windows 8 Virtual Machine
Comment=Windows 8 in VirtualBox
Exec=VBoxManage startvm 'Windows 8'
Icon=/home/username/Pictures/Icons/Windows8.png
Terminal=false
Type=Application
Categories=Office;

Obrigado!

    
por Garrett Warnell 24.05.2013 / 17:37

2 respostas

1

Estou usando o GNOME 3.10 mais recente no fedora 20 e StartupWMClass=VirtualBox parece fazer o truque.

Talvez tenha sido corrigido desde o momento em que você fez a pergunta?

De qualquer forma, o VirtualBox ainda tem uma desvantagem - todas as janelas têm o mesmo WM_CLASS. Então, se você estiver executando várias máquinas, elas serão agrupadas. Eu enviei um relatório de bug para isso: link . Esperamos ver isso resolvido em breve.

    
por antitoxic 23.12.2013 / 09:15
0

Encontrei uma boa solução alternativa.

Meu lançador do windows.desktop:

[Desktop Entry]
Name=Windows 10 VM
GenericName=Windows 10 Virtual Machine
Comment=Windows 10 in VirtualBox

Exec=/home/admin/.local/share/applications/windows.sh
Icon=/home/admin/.local/share/applications/windows.png
StartupWMClass=Windows

Terminal=false
Type=Application
Categories=Office;

Meu arquivo windows.sh:

#!/bin/bash

virtualbox --startvm agromov-vm &
VM_PID=$!
sleep 1
xprop -id $(wmctrl -lp | grep $VM_PID | cut -d ' ' -f 1) -f WM_CLASS 8s -set WM_CLASS 'Windows'

"agromov-vm" é o nome da máquina virtual
wmctrl está obtendo o id da janela sem o ponteiro do mouse

    
por Artem Gromov 10.11.2016 / 10:36