Como passar o Ctrl-C para o guest ao executar o qemu com -nographic?

7

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?

    
por Mark 10.11.2014 / 19:37

3 respostas

12

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 -]

    
por 05.12.2014 / 19:18
2

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
    
por 10.11.2014 / 20:37
1

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

    
por 08.04.2018 / 11:48