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 qemu
processo com a -nographic
opção de linha de comando. Isso permite usar o terminal atual para o console serial e qemu
o console do monitor. No entanto, agora, sempre que pressiono Ctrl+ Cdentro da VM em execução, ela é interceptada qemu
e encerra o processo.
Como devo passar Ctrl+ Cou qualquer outro pressionamento de tecla envolvendo o CTRLQemu?
virtual-machine
qemu
Marca
fonte
fonte
stty susp ^]
. Para Ctrl- \ (sair), usestty quit ^]
. Com várias definições para um único caractere, esta é a ordem de precedência: intr quit susp.Você pode tentar usar o
sendkey
comando usando-monitor stdio
. Embora aparentemente a-display none -serial mon:stdio
opção deva passar Ctrl+ cpara o hóspede.Você também pode criar um soquete de monitor , como este:
E então, conecte-se ao monitor para usar o sendkey da
socat
seguinte maneira:Agora você pode enviar suas chaves, assim:
fonte
screen
janela e conectar-se a ela viasocat
. Você também pode usar-monitor stdio
para redirecionar para o seu terminal.Remover
-monitor
ou adicionar-serial mon:stdio
A partir do QEMU 2.10.1, Ubuntu 17.10,
Ctrl-C
é passado por padrão para o convidado sem problemas ao usar-nographic
.No entanto, se você também usar a
-monitor
opção, o comportamento será alterado e oCtrl-C
QEMU será eliminado.É assim
-monitor
que normalmente seria usado: Como alternar para o painel de controle do QEMU com -nographics? | SuperusuárioSe precisar
-monitor
, você pode recuperar Ctrl + C com-serial mon:stdio
: Como executar o qemu com -nographic e -monitor, mas ainda conseguir enviar Ctrl + C ao convidado e sair com Ctrl + AX? | Estouro de pilhafonte