编辑:从答案中可以看出,这实际上与待机或休眠无关,而是与我在大部分时间进入待机状态之前经常关闭应用程序窗口(触发错误)有关。
我在网上的各个地方看到很多人报告这个,没有任何解决方案,但我想无论如何我都会添加我的:
很多时候,在一段时间后(进入待机状态时)返回计算机后,我注意到某些快捷方式已停止工作。这不仅发生在终端中,而且发生在 Chrome 中(Ctrl-L、Ctrl-R、F5 都停止工作)。它也不会影响所有 ctrl-shortcuts:例如,Ctrl-C 仍然有效(感谢上帝!)。
有没有办法调试这个?xev
早点尝试并没有让我到任何地方,但也许有某种方法可以找出阻止我的按键到达程序的原因?
编辑:我可以看到 Ctrl-R 发生了一些奇怪的事情
有东西抢了键盘快捷键!
捕获的输出 xev
KeyPress event, serial 37, synthetic NO, window 0x5200001,
root 0xee, subw 0x0, time 24547557, (-130,529), root:(0,633),
state 0x10, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 37, synthetic NO, window 0x5200001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 37, synthetic NO, window 0x5200001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify …
Run Code Online (Sandbox Code Playgroud) 在我的点文件中,我有一些函数依赖于别名或函数的存在以供它们工作。出于某种原因,我可以让它们引用我创建的其他函数,但不能引用命令的别名。我该如何解决?
例子:
function open-dotfiles-commit(){
xopen https://github.com/fatso83/dotfiles/blob/$1;
}
Run Code Online (Sandbox Code Playgroud)
如果我有别名xopen
( alias xopen=xdg-open
),open-dotfiles-commit
命令将失败并显示xopen: cannot find command
. 另一方面,如果我用一个名为xopen
( function xopen(){ xdg-open; };
)的函数替换别名定义,它会起作用!
我什至尝试shopt -s expand_aliases
在与定义别名的文件相同的文件中进行设置- 未成功。别名和函数文件来自我的.bashrc
.
我通常添加这样的存储库:
add-apt-repository --no-update --yes "deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable"
Run Code Online (Sandbox Code Playgroud)
这工作正常,在设置 Ubuntu 机器时,我运行一个设置脚本,该脚本循环遍历存储库列表并使用该命令添加它们。
问题是,当遇到这种格式的存储库源时,它会失败:
deb [signed-by=/etc/apt/trusted.gpg.d/repo.charm.sh.gpg] https://repo.charm.sh/apt/ * *
Run Code Online (Sandbox Code Playgroud)
然后它就会失败并显示Unable to handle repository shortcut 'deb [signed-by=/etc/apt/trusted.gpg.d/repo.charm.sh.gpg] https://repo.charm.sh/apt/ * *'
.
当然,我可以解决这个特殊情况,按照文档的说明进行操作,然后将内容粘贴到文件中,但如果东西正常工作,我就不必这样做。那么,在使用实用程序命令时,我是否无法正确处理格式,或者由于内部解析位中缺少功能而无法识别它?如果没有,我该怎么做才能让它不失败?