我有一台 Debian 12 VM,以 QEMU/KVM 作为虚拟机管理程序,以 Virt-Manager 作为前端,并以 SPICE 用于图形输出。
此虚拟机的目的是用于交互,因此我不想让它在后台打开。是否可以这样设置,即关闭图形控制台时客户机也会关闭?
答案1
好吧,似乎您应该在完成此 VM 中的所有工作后“关闭”它。当然,此按钮在 Debian 系统菜单 (GUI) 中可用,或者您可以将Ctrl+ Alt+发送Del到此 VM,然后选择适当的选项。
将虚拟机视为标准操作系统,应关闭其电源。
最终您可以sudo poweroff -f
从终端发出。
答案2
不确定您的虚拟机如何启动的细节,但假设您可以调用不同的脚本:
#!/bin/bash
function cleanup () {
sudo shutdown --now
}
trap cleanup HUP INT TERM QUIT
original-vm-startup-command
cleanup
然后,当控制终端关闭时,将运行“sudo shutdown --now”。无论它是由应用程序本身关闭还是以其他方式(如 ctrl-C ctrl-D)关闭,它仍应关闭。trap 语句将确保在后一种情况下发生这种情况,前一种情况下的最后一行。
您可能希望 sudo 运行只是为了关机而不提示输入密码:在 /etc/sudoers
%admin ALL=NOPASSWD: /sbin/shutdown
用适当的用户名替换“admin”。
如果此解决方案不起作用,则需要有关如何启动的更多详细信息。