当我想让虚拟机取消对鼠标的抓取时,如何防止屏幕锁定?

当我想让虚拟机取消对鼠标的抓取时,如何防止屏幕锁定?

这在带有 virt-manager 的 KVM 以及 VirtualBox 中都会发生。

在我的 Apple MacBook Pro 键盘上,取消鼠标与 KVM 的抓取组合键是 Control-Option-L。Mac 键盘上的 Option 被映射到 PC 键盘上的 ALT 键。

Control-Alt-L 还可以锁定 Ubuntu Unity 下的屏幕。

我无法找到在任一软件包中编辑按键加速器的方法。

不过,我认为这不仅仅是锁屏键盘加速器,因为 VirtualBox 确实有办法配置取消抓取键。因为我的键盘没有右手控制键。我在 VB 下使用 F1 来取消抓取。这导致屏幕锁定。

答案1

问题是描述有点误导(对我来说也是如此)..
ctrl_L .. 不是指 ctrl+l 而是左!ctrl 按钮

因此,您只需按下键盘左侧的 ctrl + alt 键(无需任何其他字符)

答案2

听起来你的键盘没有发送正确的键码,或者它们被桌面 shell 拦截了。你可以运行以下命令来验证你按下的键是否正确在终端中。这是我在快乐黑客键盘 (PC) 上按下左 ctrl + 左 alt 键。

KeyPress 事件,序列 36,合成 NO,窗口 0x4a00001,根 0xbe,subw 0x0,时间 675936933,(432,537),根:(2033,590),状态 0x0,键码 37(keysym 0xffe3,Control_L),same_screen YES,XLookupString 给出 0 个字节:XmbLookupString 给出 0 个字节:XFilterEvent 返回:False

KeyPress 事件,序列 36,合成 NO,窗口 0x4a00001,根 0xbe,subw 0x0,时间 675937205,(432,537),根:(2033,590),状态 0x4,键码 64(keysym 0xffe9,Alt_L),same_screen YES,XLookupString 给出 0 个字节:XmbLookupString 给出 0 个字节:XFilterEvent 返回:False

您可以更改锁定屏幕的按键组合,它位于系统设置->键盘->快捷方式->锁定屏幕下。如果您愿意,可以完全禁用它。

QEMU/KVM 是实际管理虚拟机的,似乎有几个设置选项抢占焦点默认值。

'-alt-grab' 使用 Ctrl-Alt-Shift 来抓取鼠标(而不是 Ctrl-Alt)。

'-ctrl-grab' 使用右 Ctrl 键来抓取鼠标(而不是 Ctrl-Alt)。

现在我不确定你如何告诉 virt-manager 保留此默认值,但很容易获取它用于运行虚拟机的参数,自己从 CLI 运行它,然后添加其中一个开关以查看它是否解决了你的问题。如果有效,则编写一个简单的脚本以通过这种方式启动虚拟机。最简单的方法是禁用屏幕锁定快捷方式,然后使用 gui 来完成此操作。祝你好运。

相关内容