헤드리스를 실행하는 vbox 가상 머신의 콘솔을 표시하는 방법

헤드리스를 실행하는 vbox 가상 머신의 콘솔을 표시하는 방법

CentOS 7에서 실행되는 virtualbox 헤드리스 가상 머신이 있습니다. virtualbox 관리자를 열고 머신을 마우스 오른쪽 버튼으로 클릭한 다음 "표시"를 선택하면 가상 머신의 콘솔을 표시할 수 있습니다. GUI 관리자를 열지 않고(예: 명령줄에서) 이 작업을 수행할 수 있는 방법(헤드리스 클라이언트 헤더 팝업)이 있습니까? vboxmanage에서 가능한 대부분의 명령을 시도했지만 오류나 잘못된 결과가 나타납니다.

답변1

지금까지 답변이 없습니다. 추가 조사 결과 VirtualBox는 이 기능을 제공하지 않는 것으로 나타났습니다. 제가 할 수 있는 가장 좋은 방법은 원격 데스크톱을 사용하는 것입니다. 내 CentOS의 경우 가장 편리한 애플리케이션은 rdesktop입니다. 확장팩을 설치해야 합니다. 그런 다음 클라이언트에 대해 원격 데스크톱 프로토콜을 활성화합니다. VM이 실행된 후 rdesktop을 사용하여 클라이언트 콘솔에 액세스할 수 있습니다. VM 직후에 rdesktop이 시작되면 부팅 순서에 액세스할 수 있습니다. 그러므로:

$ vboxmanage modifyvm "archive" --vrde on
$ vboxmanage startvm "archive" --type headless ; rdesktop localhost 

답변2

내 기억이 맞다면 직렬 포트를 사용하여 이 작업을 수행할 수 있지만 복잡합니다.

먼저 가상 머신에 직렬 포트를 추가해야 합니다. 콘솔을 모니터링할 호스트 파일 시스템에 연결할 수 있도록 직렬 포트를 "호스트 파이프" 모드로 설정해야 합니다.

COM1="0x3F8 4"   # magic values for COM1
VBoxManage modifyvm <UUID> \
    --uart1 $COM1 \
    --uartmode1 server /tmp/serial-console

사용할 수 있는 다른 옵션도 있지만 이 방법을 사용하면 컴퓨터가 시작될 때 VirtualBox가 /tmp/serial-console을 생성해야 합니다. 여기서 복잡하게 생각할 필요가 없다면 "서버" 대신 "파일"을 사용하여 콘솔을 일반 파일로 덤프할 수도 있습니다. 그러나 원하는 경우 PTY(Pseudo Terminal)를 사용하여 파일 경로에 연결할 수 있습니다.소캇.

SOCK=/tmp/serial-console
socat UNIX-CONNECT:$SOCK PTY,link=$SOCK-pty

마지막으로 다음 명령을 사용하여 PTY에 연결할 수 있습니다.화면

screen $SOCK-pty

Linux에서는 직렬 콘솔을 활성화해야 할 수도 있습니다. 이 프로세스는 배포판에 따라 다릅니다. 아래 링크를 확인하여 도움이 되는지 확인하실 수 있지만 데비안용입니다.

https://gist.github.com/snb/284940/11e6354f170be602c9c2f67b59d489ed49ebd143

관련 정보