如何在QEMU会话中使用Ctrl+Alt+F#快捷键进入TTY?

我正在使用QEMU/KVM进行测试驱动安装,我想在安装过程中检查日志文件,但是我无法找到一种方法将Ctrl-Alt-F1和其他F键发送到虚拟化窗口(它会转到主机机器上的TTY)。 Ctrl-Alt-14会将我发送到某种QEMU控制台(安装程序位于其中一个上面,然后有qemu控制台、一个串行控制台和一个并行控制台,所以我认为我离成功很近了。
3个回答

sendkey可以用来向虚拟系统发送按键,你的主机会在低级别截获这些按键,比如Ctrl+Alt+F*

  1. 使用Ctrl+Alt+2切换到QEMU控制台。
  2. 输入sendkey ctrl-alt-f1并按下Enter
  3. 使用Ctrl+Alt+1切换回虚拟系统,此时应该处于TTY1界面。

一旦进入虚拟终端,你应该能够使用chvt命令,例如sudo chvt 7返回到X会话。


+1,如果您不设置“-monitor stdio”(默认情况下aqemu GUI也是如此),它就能正常工作。 - enzotib
当我按下Ctrl-Alt-2切换到QEMU控制台时,我看到灰色背景上显示着"parallel0 console"的文字。无论我进一步按下什么键,似乎都没有任何反应;如果有反应,也不会显示出来。确保最后敲击回车键没有任何效果。我是不是漏掉了什么? - J-P
由于某种原因,在Gnome Boxes下运行QEMU时无法正常工作。 - Hi-Angel

你可以在运行在qemu上的客户操作系统中使用键盘上的ALT键加左右箭头来切换tty。

2适用于QEMU 2 Ubuntu 14.04和https://github.com/cirosantilli/runlinux的工作。对于这个最佳答案缺乏赞同票,可能意味着它是一个新功能 :-) - Ciro Santilli OurBigBook.com
嗯,我现在已经使用它有一段时间了,但是我记不起我第一次在哪里/什么时候读到它的了 :) - Manolis Ragkousis
1在Debian上,对于我来说,在qemu 2.8.1上无法工作。 - David Given

你可以尝试使用粘滞键:按下第一个键三次将其“粘”到“虚拟化窗口”,然后按下其他键,例如CTRL+CTRL+CTRL+ALT+F1
这样应该会将命令发送给虚拟机而不是“劫持”主机机器。

无法在QEMU 2 Ubuntu 14.04中使其工作。你能提供文档链接吗? - Ciro Santilli OurBigBook.com
1在Debian上,对于我来说,在qemu 2.8.1上不能工作。 - David Given