Come passare Ctrl-C al guest quando si esegue qemu con -nographic?


11

Ho configurato il grub di Qemu nel modo seguente:

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

ed esegui il qemuprocesso con l' -nographicopzione della riga di comando. Ciò consente di utilizzare il terminale corrente per la console seriale e la qemuconsole di monitoraggio. Tuttavia ora, ogni volta che premo Ctrl+ Call'interno della VM in esecuzione, viene intercettato qemue interrompe il processo.

Come posso passare Ctrl+ Co qualsiasi altra sequenza di tasti che coinvolge CTRLQemu?

Risposte:


16

Nella tua shell, prima di eseguire qemu, esegui "stty intr ^]" per cambiare il tasto di interruzione da ^ c a ctrl-]

In questo modo, ctrl-c verrà passato a qemu, ma puoi comunque interrompere qemu stesso premendo ctrl-]


2
Per sovrascrivere anche Ctrl-Z (sfondo), c'è stty susp ^]. Per Ctrl- \ (esci), utilizzare stty quit ^]. Con più definizioni per un singolo carattere, questo è l'ordine di precedenza: intr quit susp.
Lekensteyn,

4

Puoi provare a usare il sendkeycomando usando -monitor stdio. Sebbene apparentemente l' -display none -serial mon:stdioopzione dovrebbe passare Ctrl+ cattraverso l'ospite.

Puoi anche creare un socket per monitor , in questo modo:

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

E quindi, connettiti al monitor per utilizzare sendkey in socatquesto modo:

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

Ora puoi inviare le tue chiavi, in questo modo:

(qemu) sendkey ctrl-c
sendkey ctrl-c

Grazie. Potresti dirmi come posso 'saltare' nella console del monitor QEMY (es. Quale sequenza di tasti devo premere), se eseguo qemu nel terminale PuTTY?
Segna l'

Nella GUI - Ctrl + Alt, quindi Maiusc + 2 per passare al monitor o Maiusc-1 per tornare al sistema operativo guest. Non funziona in console. Lì puoi usare l'approccio socket, aprire un'altra screenfinestra e collegarti tramite esso socat. Puoi anche utilizzare -monitor stdioper reindirizzare al tuo terminale.
Criveti Mihai,

3

Rimuovi -monitoro aggiungi-serial mon:stdio

A partire da QEMU 2.10.1, Ubuntu 17.10, Ctrl-Cviene passato per impostazione predefinita al guest senza problemi durante l'utilizzo -nographic.

Tuttavia, se usi anche l' -monitoropzione, il comportamento cambia e Ctrl-Cuccide invece QEMU.

Ecco come -monitorverrebbe normalmente utilizzato: come passare al pannello di controllo QEMU con -nographics? | Super utente

Se necessario -monitor, puoi recuperare Ctrl + C con -serial mon:stdio: Come eseguire qemu con -nographic e -monitor ma essere ancora in grado di inviare Ctrl + C al guest e uscire con Ctrl + AX? | Stack Overflow

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.