-ngraphic을 사용하여 qemu를 실행할 때 Ctrl-C를 게스트에 어떻게 전달합니까?

-ngraphic을 사용하여 qemu를 실행할 때 Ctrl-C를 게스트에 어떻게 전달합니까?

Qemu의 grub을 다음과 같이 구성했습니다.

GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial"
GRUB_CMDLINE_LINUX="..console=ttyS0"

명령줄 옵션을 사용하여 qemu프로세스를 실행합니다 -nographic. 이를 통해 현재 터미널을 직렬 콘솔 및 qemu모니터 콘솔 에 사용할 수 있습니다 . 그러나 이제는 실행 중인 가상 머신 내에서 +를 누를 때마다 Ctrl가로채어 프로세스가 종료됩니다.Cqemu

Ctrl+ C또는 Qemu와 관련된 다른 키 입력을 어떻게 전달합니까 CTRL?

답변1

셸에서 qemu를 실행하기 전에 "stty intr ^]"를 실행하여 break 키를 ^c에서 ctrl-]로 변경하세요.

이 방법으로 ctrl-c는 qemu로 전달되지만 ctrl-]를 눌러 qemu 자체를 중단할 수 있습니다.

답변2

sendkey이 명령을 시도해 볼 수 있습니다 -monitor stdio. 물론 이 옵션은 게스트 에게 -display none -serial mon:stdio전달되어야 합니다 .Ctrlc

다음을 생성할 수도 있습니다.감시 장치소켓은 다음과 같습니다.

qemu -display none -monitor unix:/tmp/qemu-monitor,server,nowait

그런 다음 sendkey를 사용하기 위해 모니터에 socat다음과 같이 연결합니다.

socat - UNIX-CONNECT:/tmp/qemu-monitor

이제 다음과 같이 키를 보낼 수 있습니다.

(qemu) sendkey ctrl-c
sendkey ctrl-c

답변3

삭제 -monitor또는 추가-serial mon:stdio

QEMU 2.10.1부터 Ubuntu 17.10을 Ctrl-C사용하고 있습니다 -nographic.

그러나 해당 옵션도 사용하면 -monitor동작이 변경되고 Ctrl-CQEMU가 종료됩니다.

-monitor일반적으로 사용되는 방법은 다음과 같습니다 .-ngraphics를 사용하여 QEMU 제어판으로 전환하는 방법은 무엇입니까? |수퍼유저

필요한 경우 -monitorCtrl+C를 사용하여 다음을 복원할 수 있습니다 -serial mon:stdio.-ngraphic 및 -monitor를 사용하여 qemu를 실행하면서도 게스트에게 Ctrl+C를 보내고 Ctrl+AX를 사용하여 종료하려면 어떻게 해야 합니까? |스택 오버플로

관련 정보