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