今天,我的Guake 终端开始以我以前从未见过的方式运行 - 每次我按下AltGr(在我的瑞典语键盘上是正确的 Alt,Spacebar就在右侧)时,终端会失去焦点并隐藏起来。在我的瑞典语键盘上,这非常不方便,因为AltGr它用于输入管道 ( |)...
我确实安装了一些更新,今天需要重新启动我的系统,但 IIRC 只是 Ubuntu Base 而没有别的。我不确定更新之前是否存在这种行为 - 因为在我启动系统时弹出窗口出现,所以在安装它们并重新启动之前我没有做太多工作。
我还查看了 Guake 首选项,看看键盘快捷键是否有任何可疑之处,但AltGr根本没有使用,所有其他快捷键都按预期工作。AltGr在其他上下文中正常工作,例如实际的终端窗口(例如通过按Ctrl+ Alt+打开T)或在 Chromium 中输入。
这可能是什么原因造成的?我如何排除故障和/或修复它?
我找到了一种实际上可以为我解决问题的解决方法,如果只是暂时的1:重新启动窗口管理器。使用 Unity,这可以通过运行来完成
compiz --replace &
Run Code Online (Sandbox Code Playgroud)
在一个终端。
不过要小心!
Compiz 在终端中吐出一大堆血腥味——我第一次这样做时我忘记了&,我对血腥味的最初反应是Ctrl+ C-杀死了我的窗口管理器。
它是(据说,我自己从未尝试过)可以恢复,使用Ctrl+ Shift+<number> 之类的技巧到达 TTY 终端,然后运行
DISPLAY=:0 compiz --replace &
Run Code Online (Sandbox Code Playgroud)
但无论如何都要小心行事。在尝试之前保存所有的东西,以防你做一些愚蠢的事情并且需要重新启动。
如果不查看falconer引起我注意的错误报告,我可能不会想到这一点。
1)不过,从那以后我就没有遇到过这个问题。触摸木头的东西。
尝试进入 guake 首选项并在“常规”选项卡下确保选中“保持在顶部”并取消选中“失去焦点时隐藏”。(虽然这些设置并没有解释为什么它隐藏在AltGr它们可能有帮助。)
更新:我编写了一系列命令来向我们展示击键时的被动抓取。(不幸的是,我找不到一种更简单的方法来显示被动抓取,因为 XF86LogGrabInfo 只显示主动抓取。)所以请运行这个命令并发布它的输出,这样我们就可以找出是否有什么东西正在抓取 AltGr 键:
xdotool keydown "ISO_Level3_Shift"; sleep 1; xdotool key "XF86LogGrabInfo"; xdotool keyup "ISO_Level3_Shift"; tail /var/log/Xorg.0.log
Run Code Online (Sandbox Code Playgroud)
要不就
xdotool keydown "ISO_Level3_Shift"; xdotool key "XF86LogGrabInfo"; xdotool keyup "ISO_Level3_Shift"; tail /var/log/Xorg.0.log
Run Code Online (Sandbox Code Playgroud)
(上面的代码将触发 AltGr 按键事件,因此您的 guake 终端将在执行期间隐藏/取消隐藏,因此最好从 eg 运行此命令gnome-terminal。如果 guake 没有隐藏/取消隐藏那么您的布局有问题,因为您的 AltGr未映射到 ISO_Level3_Shift)
更新,因为它看起来可能是布局问题。
首先,我会尝试切换到不同的布局并测试 AltGr 在其他布局中是否运行良好(Dash->Keyboard Layout 并按下+标志以显示其他布局。)您可以尝试不同的瑞典布局或布局另一种北欧/东欧语言(至少我知道这些正在使用 AltGr,但当然不要切换到西里尔字母,如俄语或塞尔维亚语。)虽然问题不太可能出在某些官方布局上,更有可能是官方布局的一些微调问题。因此,如果您以某种方式修改了布局,请删除这些修改并再次检查。
接下来,您可以使用xev键符测试您的 AltGr 报告的内容。启动xev,单击其窗口,按 AltGr,查看输出。但是,如果它导致 Focus-Out 事件,则它可能无法捕捉到它。在这种情况下,尝试xev -root监视根窗口,也许您的 altgr 正在那里。(后者不会绘制窗口,因此只需按 AltGr 并查看是否有一些有用的输出。)
你也可以转储你的键盘布局,xkbcomp $DISPLAY output.xkb然后用文本编辑器检查 output.xkb 文件,它应该包含这个
key <RALT> {
type= "ONE_LEVEL",
symbols[Group1]= [ ISO_Level3_Shift ]
};`
Run Code Online (Sandbox Code Playgroud)
(至少对我而言,它确实包含该内容,并且我的 AltGr 工作正常。)
您还可以检查您的键盘是否有一些已打开的修饰键,并且可能会更改 AltGr 的行为。
更新 3,我认为这是您的情况最有可能的情况
另请检查您是否遇到此错误:https : //bugs.launchpad.net/ubuntu/+source/unity/+bug/971462
虽然我从来没有在 HUD 上遇到过这种问题,但有些人似乎有。
该错误报告的对话中有一个解决方法:
系统设置 > 键盘 > 快捷键 > 启动器 > 显示 HUD 到您右侧 Alt 键的键。
不过当然改成你左边的Alt键就更好了,不知道他为什么建议右边。对我来说,我确实在Alt L默认情况下有那个选项。
您也可以尝试完全禁用该快捷方式。
| 归档时间: |
|
| 查看次数: |
3042 次 |
| 最近记录: |