你有没有在WINE下的Linux下安装Windows程序,却发现它不再绑定系统范围的热键?HTG有你一直在寻找的工作。
图片来源:Djecalyptus
每一个有过切换到Linux想法的人,可能都会很快遇到这样一个问题:你需要一个Windows应用程序来运行。我们已经向你们展示了用葡萄酒可以达到这个目的。
对于本文作者来说,这个应用程序是一个使用microsoftsapi4引擎的文本到语音应用程序。在WINE下安装程序很容易,但是在完成后我很快发现用于触发程序各种操作(开始读取、停止读取等)的热键不起作用,这是WINE的一个已知问题。
我很高兴地说,经过亿万年的搜索,我终于找到了GNU实用程序的解决方案,它可以使用本机函数操纵X.org接口。xdool并不是唯一的一个,它是最容易使用的,并且已经在Ubuntu/Mint存储库中了。
xdool程序可以从CLI执行许多与窗口相关的任务,也就是说,我们要使用的只有“search”和“key”。“search”函数就是这样做的,它根据为它设置的参数来搜索一个window/s ID。“键”功能使您能够模拟窗口ID的键笔划。
安装和配置
假设您已经安装了WINE及其下所需的程序。在这个例子中,我们将使用Balabolka作为“Windows”应用程序,因为它是一个很好的免费复制的原始程序,我需要这个解决方案(第二语音中心)。
如果你也选择使用Balabolka,你需要激活它的热键能力。注意:即使在演示模式下,您也可能希望安装TTSReader或2nd speech center,以便安装SAPI voices。
Open the program and go to settings (Shift+F6) under “Opti***” -> “Settings”.
Go to the hotkeys tab and check the checkbox for “Use global hotkeys”. Click OK.
让它在后台运行,这样当我们将击键连接到它时,它就可以完成它的工作。
通过发出以下命令安装xdool:
sudo apt-get install xdotool
xdool程序本身并不能帮助我们全局绑定到热键,但是我们可以使用已经存在的OS热键系统。我们要做的是创建一个简单的脚本,利用xdool将我们想要的击键发送到Balabolka程序,并从OSs热键系统调用它。
创建一个名为“开始”的脚本_阅读.sh“内容如下:
xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) "ctrl+alt+F9"
这次创建另一个名为“stop”的脚本_阅读.sh“内容如下:
xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) "ctrl+alt+F7"
注意:我知道这是一个不需要脚本的单行程序,但是Mint/Ubuntu的“键盘快捷键”程序并不配合直接调用它。如果你知道怎么做,请在下面的评论中分享。
我们看到的是:
使脚本可执行。
Linux Mint键盘快捷键
在LinuxMint下,全局热键是在“键盘快捷键”程序中设置的。
打开后,单击“添加”创建新的自定义快捷方式:
给它一个名字,在“Command”下给出我们上面创建的一个脚本的完整路径。对第二个脚本重复此过程。
现在,在“快捷方式”列中,单击“禁用”字以获得设置新键的选项组合注释:如果愿意,您可以使用程序默认值以外的内容。从某种意义上说,创建一个键绑定的“重映射”,根据您使用的程序,否则将无法控制。
点击你选择的组合,听魔术。
Ubuntu键盘
Under Ubuntu, the program that sets the global hotkeys is just called “Keyboard”.
Switch to the “Shortcuts” tab and select “Custom Shortcuts”.
单击加号添加快捷方式。给它一个名字,在“Command”下给出我们上面创建的一个脚本的完整路径。重复第二个步骤剧本。现在单击“Disabled”字以获得设置新键组合的选项。
注意:重复薄荷部分的注释,如果您愿意,可以使用程序默认值以外的内容。从某种意义上说,创建一个键绑定的“重映射”,根据您使用的程序,否则将无法控制。
每次我认真考虑迁移到Linux时,这个问题都是我遇到的第一个问题。并不是说Linux没有问题,但对我来说,这才是真正的障碍。我试了一次又一次,问了很多朋友,甚至还把它做成了一笔赏金……我很高兴这段传奇结束了,我的灵魂终于可以休息吧。它我希望我已经帮助了一些人不必经历同样的折磨。
布朗医生:我花了将近三十年的时间和我全家的财产才实现了那一天的梦想。天哪,这么久了吗?
... 学习所有关于葡萄园的知识,包括它是什么以及如何安装它。 ...
...更好的机会让程序运行。您可以在他们的网站上找到有关如何为Linux发行版执行此操作的具体说明。 ...
我们都喜欢游戏,当然也不乏来自各大工作室和独立开发者的赏心悦目的作品。不过,重温一个复古的书名也有一些让人很满足的地方,比如在相隔多年后,赶上一位老朋友。你认为那些古老的游戏已经走上了美国在线CD的道路...
... 但是你的电脑运行Linux。你到底要如何安装微软办公软件,并使用它而不会遇到问题? ...
... 下面介绍如何在Linux上使用测试版的Steam play玩Windows游戏。 ...
... 如何在raspberry pi上安装windows软件 ...
...全系统,以防止Discord的按键通话功能正常运行。下面是如何在Mac上排除Discord的按键通话功能。 首次安装discord时授予授权 当您第一次安装并启动Discord时,应该会看到一系列安全提示。 这些提示与请求访问Mac上的敏感权限(包...
...帮助:Cmd+Shift+H 打开反馈:Cmd+Option+O 刷新Skype:Cmd+Shift+R 如何在skype中禁用全局键盘快捷键 默认情况下,Skype上的所有标准热键都处于启用状态。很遗憾,您无法禁用或自定义这些热键。但是,可以使用“设置”菜单禁用两个全...