
Eu faço a maior parte do meu trabalho no Ubuntu, mas existem alguns programas do Windows que não têm bons equivalentes no Linux e não funcionam no Wine, então eu os executo em uma máquina virtual VirtualBox rodando o Windows 7. Infelizmente, quando estou em um Programa Linux, que eu conheça, não existe uma maneira rápida de mudar para a máquina virtual. Atualmente a maneira mais rápida é Alt+Tab para as duas janelas do VirtualBox, continue segurando Alt para ver o VirtualBox Manager e a máquina virtual e, em seguida, Alt+Tab mais uma vez para selecionar a máquina virtual.
Alguém sabe programar uma tecla de atalho que vá direto para a máquina virtual?
Responder1
Claro, isso é o que você deve fazer:
Instalar
wmctrl
sudo apt-get install wmctrl
Inicialize sua máquina virtual, anoteexatamenteo nome da janela conforme aparece na barra de título. O meu é por exemplo:
Windows 7 [Draaiend] - Oracle VM VirtualBox
O comando para trazer a janela da VM para frente é então:
wmctrl <window_name>
NB: se o nome da janela contiver espaços, use aspas ao redor do nome
então no meu caso seria:
wmctrl -a "Windows 7 [Draaiend] - Oracle VM VirtualBox"
Teste o comando executando-o em uma janela de terminal
Escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no "+" e adicione o comando:
wmctrl -a "Windows 7 [Draaiend] - Oracle VM VirtualBox"
para uma combinação de teclas de sua escolha.
De man wmctrl
:
-a <WIN>
Switch to the desktop containing the window <WIN>, raise the
window, and give it focus.
Caso você execute a máquina a partir de diferentes instantâneos
ou em qualquer outro caso quando o nome da janela puder ser estendido por outras strings, conforme mencionado pelo OP em um comentário: copie o script abaixo em um arquivo vazio, salve-o como run_vm.py
. Execute-o pelo comando:
python3 /path/to/run_vm.py <machine_name>
onde, como no primeiro exemplo, você deve colocar o nome da máquina entre aspas se contiver espaços.
O roteiro:
#!/usr/bin/env python3
import subprocess
import sys
machine = sys.argv[1]
command = "wmctrl -l"
wlist = [(" ").join(line.split(" ")[4:]) for line in subprocess.check_output(
["/bin/bash", "-c", command]
).decode("utf-8").split("\n") if machine in line][0]
command2 = "wmctrl -a "+"'"+wlist+"'"
subprocess.Popen(["/bin/bash", "-c", command2])
Responder2
Não há absolutamente nenhuma necessidade de executar o VirtualBox Manager para iniciar uma máquina virtual Virtual Box. Cada VM também pode ser iniciada em sua própria janela na linha de comando
VBoxManage startvm 'name of the machine'
ou definindo um .desktop
arquivo que pode ser iniciado com um atalho personalizado, na área de trabalho, no painel ou no inicializador:
As janelas desta máquina virtual podem ser convenientemente controladas por Alt+ Tab.
Poderíamos até dar um passo adiante e integrar perfeitamente um aplicativo do Windows em execução à área de trabalho do Ubuntu (no entanto, pode haver alguma interferência com o Unity ao fazer isso):