
Hago la mayor parte de mi trabajo en Ubuntu, pero hay algunos programas de Windows que no tienen buenos equivalentes de Linux y no funcionan en Wine, así que los ejecuto en una máquina virtual VirtualBox que ejecuta Windows 7. Desafortunadamente, cuando estoy en un Programa Linux, que yo sepa, no existe una forma rápida de cambiar a la máquina virtual. Actualmente, la forma más rápida es presionar Alt+Tab para las dos ventanas de VirtualBox, seguir presionando Alt para ver tanto el VirtualBox Manager como la máquina virtual, y luego Alt+Tab una vez más para seleccionar la máquina virtual.
¿Alguien sabe cómo programar una tecla de acceso rápido que salte directamente a la máquina virtual?
Respuesta1
Claro, esto es lo que debes hacer:
Instalar
wmctrl
sudo apt-get install wmctrl
Inicie su máquina virtual, anoteexactamenteel nombre de la ventana tal como aparece en la barra de título. El mío es por ejemplo:
Windows 7 [Draaiend] - Oracle VM VirtualBox
El comando para traer la ventana de la VM al frente es entonces:
wmctrl <window_name>
NB: si el nombre de la ventana contiene espacios, utilice comillas alrededor del nombre.
entonces en mi caso sería:
wmctrl -a "Windows 7 [Draaiend] - Oracle VM VirtualBox"
Pruebe el comando ejecutándolo en una ventana de terminal
Elija: Configuración del sistema > "Teclado" > "Atajos" > "Atajos personalizados". Haga clic en "+" y agregue el comando:
wmctrl -a "Windows 7 [Draaiend] - Oracle VM VirtualBox"
a una combinación clave de su elección.
De man wmctrl
:
-a <WIN>
Switch to the desktop containing the window <WIN>, raise the
window, and give it focus.
En caso de que ejecute la máquina desde diferentes instantáneas
o en cualquier otro caso cuando el nombre de la ventana pueda extenderse con otras cadenas, como lo menciona OP en un comentario: copie el siguiente script en un archivo vacío, guárdelo como run_vm.py
. Ejecútelo con el comando:
python3 /path/to/run_vm.py <machine_name>
donde, como en el primer ejemplo, debes poner el nombre de la máquina entre comillas si contiene espacios.
La secuencia de comandos:
#!/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])
Respuesta2
No es absolutamente necesario ejecutar VirtualBox Manager para iniciar una máquina virtual Virtual Box. Cada VM también se puede iniciar en su propia ventana en la línea de comando
VBoxManage startvm 'name of the machine'
o definiendo un .desktop
archivo que se puede iniciar con un acceso directo personalizado, desde el escritorio, el tablero o desde el iniciador:
Las ventanas de esta máquina virtual se pueden controlar cómodamente con Alt+ Tab.
Incluso podríamos ir un paso más allá e integrar sin problemas una aplicación de Windows en ejecución en el escritorio de Ubuntu (sin embargo, puede haber alguna interferencia con Unity al hacerlo):