有时,Firefox 在拖动后不会释放鼠标,因此我需要终止该应用程序以强制其释放指针抓取。
是否有任何命令可以强制应用程序取消获取指针而不杀死它?
答案1
在现代的 X.org 安装中,有一个XF86Ungrab
键盘符号,它会导致服务器释放所有活动的指针或键盘抓取。您可以通过启用中断操作 XKB 选项来使服务器中断所有抓取,然后使用命令或键盘生成键符号。和xdo工具:
setxkbmap -option grab:break_actions
xdotool key XF86Ungrab
在某些系统上,XF86Ungrab
键符号绑定到组合键Ctrl+ Alt+ Keypad /。然而这种可能性经常被关闭因为它可以允许绕过屏幕保护程序)。
答案2
我在超级用户上回答了这个问题,并在这里引用它:
[正如 Gilles 指出的那样,] 事实上,这是可能做到的(至少对于最新版本的 X)。
您可以通过XF86Ungrab按 中介绍的键来执行此操作这次提交。
默认情况下,这个键符不绑定到任何物理键或键组合(它在 2012 年被报告为安全漏洞后被禁用,因为它允许任何人通过破坏他们的抓取来绕过锁屏)。在某些其他设置中,它绑定到使用数字键盘的快捷方式。显然,这不适用于没有键盘的笔记本电脑。
但您仍然可以使用以下命令激活键盘符号
xdotool
:xdotool key XF86Ungrab
这适用于 Ubuntu Precise 上的 X.org 版本 2:1.11.4-0ubuntu10.8。
答案3
这可能就像用锤子杀死苍蝇一样,但我绝望的解决方案是使用顶部找到并杀死锁定我的鼠标指针的程序。抱歉,写完这篇文章后,我注意到你的问题明确地说“不杀死它”。
背景:
我有同样的问题发生在我身上文件滚筒。我尝试通过将存档中的文件拖到PCManFM在很棒的窗口管理器。我的鼠标指针变成了抓取指针图标,我无法单击任何内容。太令人沮丧了。
杀死进程的步骤:
- 发射终端- 点击启动终端的热键,这些热键
super+enter
在 Awesome 中,但通常ctrl+alt+t
在大多数桌面环境中。 - 运行htop- 输入“htop”(不带引号)并按 Enter 键。
- 查找流程- 就我而言,我按 F3 并输入“roller”(不带引号)。这找到并选择了文件滚动进程。
- 杀死进程- 按 F9 并选择“SIGTERM”来终止该进程。
这可能不是最好的方法,但它对我有用,而且在紧要关头很容易记住。
答案4
Ctrl+G在大多数情况下会释放鼠标焦点。