No seu shell, antes de executar o qemu, execute "stty intr ^]" para alterar a chave de interrupção de ^ c para ctrl -]
Dessa forma, ctrl-c será passado para qemu, mas você ainda pode interromper o próprio qemu pressionando ctrl -]
Eu configurei o grub do Qemu da seguinte maneira:
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial"
GRUB_CMDLINE_LINUX="..console=ttyS0"
e execute o processo qemu com a opção de linha de comando -nographic . Estes permitem usar o terminal atual para o console serial e o console do monitor qemu . No entanto, agora, sempre que pressionar Ctrl + C dentro da VM em execução, ele será interceptado por qemu e encerrará o processo.
Como eu devo passar Ctrl + C ou qualquer outro pressionamento de tecla envolvendo CTRL no Qemu?
No seu shell, antes de executar o qemu, execute "stty intr ^]" para alterar a chave de interrupção de ^ c para ctrl -]
Dessa forma, ctrl-c será passado para qemu, mas você ainda pode interromper o próprio qemu pressionando ctrl -]
Você pode tentar usar o comando sendkey usando -monitor stdio . Embora aparentemente a opção -display none -serial mon:stdio deva passar Ctrl + c até o convidado.
Você também pode criar um soquete monitor , desta forma:
qemu -display none -monitor unix:/tmp/qemu-monitor,server,nowait
E então, conecte-se ao monitor para usar o sendkey com socat da seguinte forma:
socat - UNIX-CONNECT:/tmp/qemu-monitor
Agora você pode enviar suas chaves, assim:
(qemu) sendkey ctrl-c
sendkey ctrl-c
Remover -monitor ou adicionar -serial mon:stdio
A partir do QEMU 2.10.1, o Ubuntu 17.10, Ctrl-C é passado por padrão para o convidado sem problema ao usar -nographic .
No entanto, se você também usar a opção -monitor , o comportamento será alterado e o Ctrl-C eliminará o QEMU.
É assim que -monitor seria normalmente usado: Como alternar para o painel de controle do QEMU com -nographics? | Superusuário
Se você precisar de -monitor , poderá recuperar Ctrl + C com -serial mon:stdio : Como executar o qemu com -nographic e -monitor mas ainda assim ser capaz de enviar Ctrl + C para o convidado e sair com Ctrl + AX ? | Estouro de pilha
Tags qemu virtual-machine