

wine 应用程序全局快捷键无效的解决方案
source link: https://blog.diqigan.cn/posts/wine-global-hotkey-problem.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在 Ubuntu 下我们经常会使用 Wine 或者 Crossover 运行 Windows 应用程序。当应用程序切换到后台时,是无法响应预设的全局快捷键的。比如” 打开微信” 的快捷键 ctrl
+ alt
+ w
在这种情况下就无法响应.
我们可以借助一个小工具 xdotool 来解决这个问题.
- 此方法在 Ubuntu 17, 18, 19 全系列测试通过,其他平台未作测试,理论通用;
- 本文以 “打开微信” 快捷键为例,其他应用以此类推;
1. 安装 xdotool
直接在命令行运行以下命令即可:
sudo apt install --no-install-recommends xdotool
2. 编写 xdotool 脚本
* 思路: Wine 应用在后台无法接收到快捷键状态,此时借助 xdotool 向 Wine 应用发送模拟按键信息即可. *
在合适的位置新建一个脚本文件 “open_wechat.sh”, 写入以下内容:
#!/bin/sh
#在当前运行的应用中找到名为WeChat.exe的应用程序,并向它发送按键事件"ctrl+alt+W"
#WeChat的可执行文件名为WeChat.exe,如果是其它应用程序就修改成其它应用程序的可执行文件名, 应用名称大小写敏感, 一个字母都不能错!
xdotool key --window $(xdotool search --limit 1 --all --pid $(pgrep WeChat.exe)) "ctrl+alt+W"
赋予脚本可执行权限:
chmod +x open_wechat.sh
如果此时你的微信正好运行在后台,执行这个脚本就可以把它召唤到前台。如果没有,请检查脚本是否有错误.
3. 设置快捷键
图形界面依次打开 “设置” -> “设备” -> “键盘”, 点击列表最底部的 “+” 号添加自定义快捷键.
- 名称随便,填写 “打开微信” 即可;
- 命令填写刚才编写的脚本的全路径 ;
- 快捷键设置自己想用的快捷键即可,建议于应用内部快捷键相同;
- 最后点击” 添加” 即可.
到这里已经设置成功了,打开微信,切换到后台,然后按下刚才设置的快捷键就能召唤应用至前台。如果不能,请检查自己前面的设置是否有误.
其他应用以此类推,还是那句话,之后的事情对于敢玩 Ubuntu 的你只能是小菜一碟了,加油!
如何获取 Wine 应用名称?
先启动目标应用,然后使用
ps
命令查看即可,运行:ps aux | grep wine
从中查找自己的应用名称.
这个方法是一个 QQ 交流群中名为 “简单” 得大佬教给我的,略加整理,发布至此。感谢大佬的贡献.
Recommend
-
12
wine无法运行exe解决方案(Path not find) 我下载的wine一直无...
-
14
探秘分布式解决方案: 分布式ID——论高可用全局ID的诞生之道为了解决在分布式系统中需要对某个资源进行全局的一个非重复ID生成,所以有了分布式ID这么一个概念在分布式应用下,像分库分表的这种场景是很常见的, 这个时候如果还是用数据库本身的自...
-
7
快速为Windows Terminal设置全局快捷键 MS最近发布的Windows Terminal配合wsl能极大提升WIndows下CLI操作的体验,不过还是习惯了Ubuntu系的Ctrl + Alt + T快捷键启动终端,那么为何不给WIndows Terminal也设置一个呢?
-
7
JustTrustMe++ By:军哥JustTrustMe介绍如果您对JustTrustMe已经有足够的了解,可跳过该介绍 需要捕获应用网络流量信息的时候(简称抓包),若应用采用是Https加密传输,便很有可能进行SSL证书验证,使你无法进行抓包,而JustTrustMe模块...
-
1
设置 Apple Music 全局快捷键 Clloz · 11小时前 ·
-
3
常年隐藏桌面图标,所以从桌面启动程序比较复杂 而且没有鼠标的时候笔记本的触摸板真是定位无力 以下提供三个方案以快速通过键盘启动应用程序 方案1和方案2快速便捷但是数量限制严重 方案3没有这些问题 方案1: Win + 数字
-
6
要在 Ubuntu Linux 中运行 Microsoft Windows 应用程序,Wine 或 CrossOver(付费版)是一个不错的选择。以下...
-
12
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助
-
7
通过 Automator 设置全局快捷键打开应用程序为某些常用程序设置快捷键一键打开可以大大节省我们的时间, 但是并不是所有程序都支持设置全局快捷键打开主窗口. 为此有一些第三方软件被创造出来.实际上Mac 上面自带的 Automator...
-
13
Apple Music 为啥客户端为啥不优化下 支持下全局快捷键 cwbsw 4 小时 14 分钟前 ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK