-nographic과 함께 qemu를 실행할 때 게스트에게 Ctrl-C를 전달하는 방법은 무엇입니까?


11

나는 다음과 같은 방법으로 Qemu의 그룹을 구성했습니다.

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

명령 행 옵션으로 qemu프로세스를 실행하십시오 -nographic. 직렬 콘솔 및 qemu모니터 콘솔에 현재 터미널을 사용할 수 있습니다 . 그러나 이제 실행중인 VM 내부에서 Ctrl+를 누를 때마다 프로세스 C가 가로 채 qemu프로세스를 종료합니다.

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

답변:


16

쉘에서 qemu를 실행하기 전에 "stty intr ^]"를 실행하여 인터럽트 키를 ^ c에서 ctrl-]로 변경하십시오.

이렇게하면 ctrl-c가 qemu로 전달되지만 ctrl-]를 눌러 qemu 자체를 중단 할 수 있습니다.


2
Ctrl-Z (배경)도 무시하려면이 있습니다 stty susp ^]. Ctrl-\ (quit)의 경우을 사용하십시오 stty quit ^]. 단일 문자에 대한 여러 정의가있는 경우 우선 순위는 intr quit susp입니다.
Lekensteyn

4

을 사용하여 sendkey명령을 사용해 볼 수 있습니다 -monitor stdio. 분명히 -display none -serial mon:stdio옵션은 손님 에게 Ctrl+ c를 통과해야합니다 .

다음 과 같이 모니터 소켓을 만들 수도 있습니다 .

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

그런 다음 모니터에 연결하여 다음과 socat같이 sendkey를 사용 하십시오.

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

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

(qemu) sendkey ctrl-c
sendkey ctrl-c

감사. PuTTY 터미널에서 qemu를 실행하면 어떻게 qemy 모니터 콘솔로 '점프'할 수 있습니까?
Mark

GUI-Ctrl + Alt를 누른 다음 Shift + 2를 사용하여 모니터로 전환하거나 Shift-1을 사용하여 게스트 OS로 다시 전환하십시오. 콘솔에서는 작동하지 않습니다. 소켓 접근 방식을 사용하고 다른 screen창을 열고를 통해 연결할 수 있습니다 socat. -monitor stdio대신 터미널로 리디렉션하는 데 사용할 수도 있습니다 .
Criveti Mihai

3

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

QEMU 2.10.1부터 Ubuntu 17.10 Ctrl-C은 기본적으로 사용시 문제없이 게스트에게 전달됩니다 -nographic.

그러나 -monitor옵션 도 사용하면 동작이 변경되고 Ctrl-C대신 QEMU가 종료됩니다.

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

필요한 경우 -monitorCtrl + C를 다시 가져올 수 있습니다 -serial mon:stdio. -nographic 및 -monitor로 qemu를 실행하지만 게스트에게 Ctrl + C를 보내고 Ctrl + AX로 종료하는 방법은 무엇입니까? | 스택 오버플로

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.