1

Я использую последнюю версию VMware Workstation (11.1.0) в Windows 7 x64 и хочу, чтобы можно было нажимать клавиши «Ctrl + 1», чтобы перейти к VM # 1, «Ctrl + 2», чтобы перейти ВМ № 2 и «Ctrl + 3» для перехода к ВМ № 3.

Звучит просто, правда? Это не так.

В Mac OS X достижение этой функциональности тривиально с VMware Fusion в сочетании с Spaces / Mission Control - вы можете просто поместить каждую виртуальную машину в отдельное пространство, а затем определить любые горячие клавиши пространства, которые вы хотите. Я перехожу с OS X и хочу такую же функциональность.

Для справки, вот несколько потенциальных решений, которые я попробовал и могу проверить, что они не работают:

1) AutoHotkey

AutoHotkey можно использовать для создания горячих клавиш:

^1::WinActivate, Win7(1) - VMware Workstation
^2::WinActivate, Win7(2) - VMware Workstation
^3::WinActivate, Win7(3) - VMware Workstation

Они работают для входа в виртуальные машины, но не для выхода; Рабочая станция будет выдавать «Ctrl + 1» на виртуальную машину, и AutoHotkey не имеет приоритета, даже если AutoHotkey запускается от имени администратора.

2) Приостановить / Отменить приостановку с помощью AutoHotkey

Этот многообещающий пост от Ника Стерджесса предполагает, что приостановка и что приостановка AutoHotkey при активном окне VMware решит проблему.

Однако даже после копирования точного кода и внесения необходимых изменений в строку я не могу заставить его работать с рабочей станцией.

3) Удаленный рабочий стол и / или VNC

Одним из возможных решений, если бы все 3 виртуальные машины работали под управлением Windows, было бы использовать функцию удаленного рабочего стола Microsoft. Однако одна или несколько виртуальных машин, которые я собираюсь использовать, будут работать под управлением Linux.

В Linux можно просто использовать VNC. Однако VNC имеет существенные недостатки по сравнению с собственным окном консоли VMware Workstation: нет звука, разрешение не будет автоматически масштабироваться, производительность будет плохой и т.д.

Наконец, виртуальные машины будут находиться в 1) сетях, которые не будут подключены к хосту через сетевой адаптер с мостовым соединением (с отключенным сетевым адаптером на хосте), и 2) с использованием VPN без какого-либо разделенного туннеля. Таким образом, не будет возможности подключения ни к удаленному рабочему столу, ни к VNC.

4) Крюк для клавиатуры Windows

Liuk объясняет , как использовать крюк для Windows для перехвата нажатий клавиш с использованием C++ в этом информативный пост.

Однако после тестирования с помощью демонстрационной программы кажется, что этот метод не перехватывает нажатия клавиш, отправленные на VMware Workstation.

5) FullScreenSwitch.directKey

Кажется, что в VMware Workstation раньше была встроена такая функциональность, как описано в этом потоке SuperUser.

Однако в документации VMware говорится, что это для VMware Workstation 5.0. Я попытался добавить эти строки в мой файл VMX, и они не имели никакого эффекта, поэтому кажется, что эта функциональность, возможно, устарела где-то в промежутке между Рабочей станцией 5 и 11.

6) PSExec

Уэйд Хэтлер упоминает, что он выполняет это, используя PSExec для активации соответствующего сценария AutoHotkey на хост-компьютере в этом сообщении на форуме.

Это решение сомнительно в том, что вы должны хранить пароль вашего хост-компьютера в незашифрованном виде, чтобы передать его PSExec.

Несмотря на это, это решение не будет работать по причинам, также описанным в № 3 выше: рассматриваемые виртуальные машины будут в 1) сетях, которые не будут подключены к хосту через мостовой сетевой адаптер (с отключенным сетевым адаптером на хосте) и 2) использование VPN без разделения туннеля. Таким образом, не будет гарантировано соединение между хостом и гостем.

7) Выполнить нажатие клавиши "Хост" между каждым нажатием клавиши «Ctrl + #»

Я использую "Ctrl" в качестве горячей клавиши для VMware Workstation Host, а не по умолчанию «Ctrl + Alt», потому что это намного быстрее активировать. Даже с этой оптимизацией я должен нажать и полностью отпустить Ctrl, чтобы ввод был отменен с ВМ. Только тогда я могу использовать мои горячие клавиши AutoHotkey из # 1 выше.

Это становится проблематичным в ситуации, когда мне нужно быстро пролистать разные виртуальные машины и выполнить немного работы (нажатия клавиш) на каждой из них. Объем ввода с клавиатуры для переключения на каждую виртуальную машину по существу удваивается, поэтому это не является адекватным решением.

8) Используйте горячую клавишу «Хост + Стрелка влево / вправо» и / или VMware-KVM.exe для переключения функций

Это проблематично, потому что когда у меня открыто 10 или более виртуальных машин одновременно, чередование всех из них становится невероятно громоздким и неэффективным.

9) Программы, эмулирующие OS X Spaces / Mission Control

Программы Windows, такие как Dexpot, Desktops и Virtual Dimensions - все это обеспечивает функциональность, подобную Spaces, в Windows. Тем не менее, эти 3 программы, в частности, имеют ту же проблему, что и AutoHotkey - горячие клавиши для активации определенного рабочего стола вытесняются рабочей станцией VMware и не передаются на хост-компьютер.

1 ответ1

0

Приведенный ниже ответ, хотя и правильный для большинства продуктов, не работает для VMware или других продуктов, которые имеют приоритетное управление клавиатурой.

Оказывается, текущая версия VMware устанавливает обработчик клавиатуры в Windows, который, когда VMware имеет фокус, перехватывает с приоритетом все клавиши клавиатуры и практически не передает на хост, кроме Ctrl-Alt-Del, если Enhanced Virtual Keyboard не включен

Методы, которые работали в предыдущих версиях, такие как прохождение всех комбинаций Ctrl+Alt, по неизвестной причине теперь опущены в VMware.

Теперь добавьте к этому использование в ВМ блокирующего VPN-сервера, который блокирует всю локальную сеть, оставляя нам только хост-клавиатуру и мышь в качестве возможных механизмов, чтобы теперь иметь действительно большую проблему.

Я вижу только два решения:

  1. Ориентированная на мышь: используйте продукт для виртуальных рабочих столов, такой как Dexpot, с графической консолью, чтобы рабочие столы переключались одним щелчком мыши,
  2. Ориентация на клавиатуру: требует переключения с VMware на VitualBox или Hyper-V, который может позволить хосту перехватывать еще некоторые события клавиатуры (требуется эксперимент).

Решение под Windows заключается в создании нескольких виртуальных рабочих столов и назначении каждой виртуальной машины своему виртуальному рабочему столу.

Следующие бесплатные продукты для виртуальных рабочих столов поддерживают глобальные горячие клавиши:

Dexpot
Наиболее полнофункциональный. Посмотрите эту статью с практическими рекомендациями по использованию мышиных жестов и горячих клавиш.

Настольные компьютеры
Созданный сотрудником Microsoft Марком Руссиновичем, он должен иметь лучшую интеграцию с Windows.

Виртуальное измерение
У меня нет личного опыта с этим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .