Я делаю большую часть своей работы в Ubuntu, но существуют некоторые Windows-программы, которые не имеют никаких хороших эквивалентов Linux и не работают в Вине, таким образом, я выполняю тех, которые в виртуальной машине VirtualBox, запускающей Windows 7. К сожалению, когда я нахожусь в программе Linux нет никакого быстрого способа, которым я знаю о переключиться на виртуальную машину. В настоящее время самый быстрый путь к Alt+Tab к двум окнам VirtualBox, продолжайте держать Высокий звук для наблюдения и менеджер VirtualBox и виртуальная машина и затем Alt+Tab еще раз для выбора виртуальной машины.
Кто-либо знает, как программировать горячую клавишу, которая перейдет прямо к виртуальной машине?
Несомненно, это - то, что необходимо сделать:
Установка wmctrl
sudo apt-get install wmctrl
Запустите свою виртуальную машину, запишите точно имя окна, как это появляется в строке заголовка. Мой, например:
Windows 7 [Draaiend] - Oracle VM VirtualBox
Команда для выявления окна VM затем:
wmctrl <window_name>
NB: если название окна содержит пробелы, использует кавычки вокруг имени
таким образом в моем случае это было бы:
wmctrl -a "Windows 7 [Draaiend] - Oracle VM VirtualBox"
Протестируйте команду, выполняющую его в окне терминала
Выберите: Параметры настройки системы> "Клавиатура"> "Shortcust"> "Пользовательские Ярлыки". Нажмите "+" и добавьте команду:
wmctrl -a "Windows 7 [Draaiend] - Oracle VM VirtualBox"
к ключу combinbation по Вашему выбору.
От man wmctrl
:
-a <WIN>
Switch to the desktop containing the window <WIN>, raise the
window, and give it focus.
или в любом другом случае, когда имя окна могло бы быть расширено другими строками, как упомянуто OP в комментарии: скопируйте сценарий ниже в пустой файл, сохраните его как run_vm.py
. Выполните его командой:
python3 /path/to/run_vm.py <machine_name>
где, как в первом примере, необходимо поставить имя машины в кавычках, если это содержит пробелы.
Сценарий:
#!/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])
Нет абсолютно никакой потребности выполнить менеджера VirtualBox для запуска Виртуальной виртуальной машины Поля. Каждый VM может также быть запущен в своем собственном окне на командной строке
VBoxManage startvm 'name of the machine'
или путем определения .desktop
файл, который может быть запущен с пользовательского ярлыка, от рабочего стола, тире, или от средства запуска:
Этой виртуальной машины, окна могут тогда удобно быть contolled Высоким звуком + Вкладка .
Мы могли даже пойти шаг вперед и эффективно интегрировать под управлением Приложение Windows на рабочий стол Ubuntu (однако может быть некоторая интерференция с Единицей при выполнении так):