我想通过键盘热键启动 Windows 子系统 Linux (WSL) 附带的 Bash shell。
我最近了解到可以通过在应用程序的快捷方式属性对话框中分配组合键来为应用程序分配键盘热键。
这适用于常规应用程序。例如,我将终端应用程序的热键分配给ctrl+f11
. 按下相应的组合键后,应用程序启动。
Snip:工作应用程序的快捷方式属性:
编辑:快捷方式位于开始菜单文件夹中
如果我将热键分配给我为位于C:\Windows\System32\bash.exe
bash shell 的 Bash.exe 文件创建的快捷方式,则在按下分配的组合键时不会像我预期的那样运行。
片段:Bash.exe 快捷方式属性:
编辑:快捷方式位于 D:\ Drive 上的子目录中
我想知道这可能是什么原因,以及是否有某种方法可以在不安装第三方应用程序(例如“AutoHotKey”)的情况下解决此限制。
感谢您,
谜团比你想象的要深: 有些键盘快捷键有效,但有些则无效。
什么不起作用的例子:F12
有效的例子:
此外,它使用一个热键使用一次后,似乎与其他热键一起使用效果更好。例如,您的Ctrl+快捷键F12在开始时不起作用。但是在F10为我工作过一次之后,我又回到了它,这次它奏效了。但是, by 本身的捷径F12对我来说从来没有用过。
作为进一步的评论,似乎包含的快捷方式Ctrl 有更大的工作机会。
结论:WSL 有一个有趣的实现。只有微软的 WSL 开发人员才能解开这个谜团。
笔记:
bash.exe
很长,因此请等待几秒钟,然后再确定某些快捷方式不起作用。我想知道你是否可以在你身边重现这些发现。
根据 Microsoft 支持网站,快捷键的行为是这样描述的:
“快捷键仅适用于桌面或开始菜单层次结构中的快捷方式”
来源:快捷方式的快捷键不起作用
据说快捷键热键的行为会根据快捷键所在的位置而有所不同。
如果快捷方式位于桌面文件夹或开始菜单层次结构中,即
Windows\Start Menu
,Windows\Start Menu\Programs
热键将用于启动相应的应用程序。如果快捷方式不在桌面或“开始”菜单层次结构中,则热键仅在已运行的情况下才能将焦点切换到分配的应用程序
快捷键热键也被描述为无法用于某些程序,例如快速启动栏中的项目
在这种情况下,bash.exe 有一个快捷方式,它位于 D:\ 驱动器的子目录中。如上所述,这将不起作用。
相反,通过将 固定
bash.exe
到开始菜单,会在C:\Users\<UserName>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
文件夹。通过将热键应用于该快捷方式,bash shell 将使用其各自的热键启动。