tecla de atalho para pular em uma máquina virtual?

1

Eu faço a maior parte do meu trabalho no Ubuntu, mas existem alguns programas do Windows que não têm bons equivalentes do Linux e não funcionam no Wine, então eu corro aqueles em uma máquina virtual do VirtualBox rodando o Windows 7. Infelizmente, quando eu m em um programa Linux não há nenhuma maneira rápida que eu saiba para mudar para a máquina virtual. Atualmente, o caminho mais rápido é Alt + Tab para as duas janelas do VirtualBox, continue pressionando Alt para ver o Gerenciador do VirtualBox e a máquina virtual, e depois Alt + Tab mais uma vez para selecionar a máquina virtual.

Alguém sabe como programar uma tecla de atalho que pulará diretamente para a máquina virtual?

    
por rclocher3 03.11.2014 / 07:40

2 respostas

1

Claro, isso é o que você deve fazer:

  1. Instale wmctrl

    sudo apt-get install wmctrl
    
  2. Inicialize sua máquina virtual, anote exatamente o nome da janela como aparece na barra de título. O meu é por exemplo:

    Windows 7 [Draaiend] - Oracle VM VirtualBox
    
  3. O comando para trazer a janela da VM para a frente é:

    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"
    
  4. Teste o comando executando-o em uma janela de terminal

  5. Escolha: Configurações do sistema > "Teclado" > "Shortcust" > "Atalhos personalizados". Clique no botão "+" 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 em que o nome da janela possa ser estendido por outras strings, conforme mencionado por 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ê precisa colocar o nome da máquina entre aspas, se contiver espaços.

O script:

#!/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])
    
por Jacob Vlijm 03.11.2014 / 08:07
1

Não há necessidade de executar o VirtualBox Manager para iniciar uma máquina virtual do VirtualBox. 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 arquivo .desktop que pode ser iniciado com um atalho personalizado, na área de trabalho, no traço ou no iniciador:

Esta janela de máquina virtual pode então ser convenientemente controlada por Alt + Tab .

Poderíamos até mesmo dar um passo além e integrar perfeitamente um aplicativo do Windows em execução no desktop do Ubuntu (no entanto, pode haver alguma interferência com o Unity ao fazer isso):

por Takkat 03.11.2014 / 08:36