가상 머신으로 이동하는 단축키?

가상 머신으로 이동하는 단축키?

나는 대부분의 작업을 Ubuntu에서 수행하지만 Linux에 상응하는 좋은 프로그램이 없고 Wine에서 작동하지 않는 일부 Windows 프로그램이 있으므로 Windows 7을 실행하는 VirtualBox 가상 머신에서 해당 프로그램을 실행합니다. Linux 프로그램에는 가상 머신으로 전환하는 빠른 방법이 없습니다. 현재 가장 빠른 방법은 두 개의 VirtualBox 창에 대해 Alt+Tab을 누르고 VirtualBox Manager와 가상 머신을 모두 보려면 Alt 키를 누른 다음 Alt+Tab을 한 번 더 눌러 가상 머신을 선택하는 것입니다.

가상 머신으로 바로 이동하는 단축키를 프로그래밍하는 방법을 아는 사람이 있나요?

답변1

물론입니다. 해야 할 일은 다음과 같습니다.

  1. 설치하다wmctrl

    sudo apt-get install wmctrl
    
  2. 가상 머신을 시작하고 기록해 보세요.정확히제목 표시줄에 나타나는 창 이름입니다. 내 예는 다음과 같습니다.

    Windows 7 [Draaiend] - Oracle VM VirtualBox
    
  3. VM의 창을 앞으로 가져오는 명령은 다음과 같습니다.

    wmctrl <window_name>
    

    주의: 창 이름에 공백이 포함되어 있으면 이름 주위에 따옴표를 사용하세요.

    내 경우에는 다음과 같습니다.

    wmctrl -a "Windows 7 [Draaiend] - Oracle VM VirtualBox"
    
  4. 터미널 창에서 실행되는 명령을 테스트합니다.

  5. 선택: 시스템 설정 > "키보드" > "단축키" > "사용자 정의 단축키". "+"를 클릭하고 다음 명령을 추가합니다.

    wmctrl -a "Windows 7 [Draaiend] - Oracle VM VirtualBox"
    

원하는 키 조합으로

에서 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])

답변2

Virtual Box 가상 머신을 시작하기 위해 VirtualBox Manager를 실행할 필요가 전혀 없습니다. 각 VM은 명령줄의 자체 창에서 시작할 수도 있습니다.

VBoxManage startvm 'name of the machine'

.desktop또는 데스크탑, 대시 또는 실행 프로그램에서 사용자 정의 바로가기로 시작할 수 있는 파일을 정의하여 :

Alt이 가상 머신 창은 + 로 편리하게 제어할 수 있습니다 Tab.

한 단계 더 나아가 실행 중인 Windows 애플리케이션을 Ubuntu 데스크탑에 원활하게 통합할 수도 있습니다(그러나 그렇게 하면 Unity에 약간의 간섭이 있을 수 있습니다).

관련 정보