

Linux安装微信并设置缩放与快捷键
source link: https://www.wyr.me/post/716
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.

由于没有得到官方适配,在Linux中安装微信的最佳方案是使用Wine。
借助开源项目https://github.com/zq1997/deepin-wine,我们可以非常方便的在Linux中安装微信。只不过安装完成后设置缩放及绑定快捷键并非易事。特整理具体方法如下。
以下方法在Ubuntu 22.04、Ubuntu 20.04、Kali Linux 2022.2(Debian)测试通过。
Linux安装Wine微信
安装deepin-wine提供的仓库:
wget -O- https://deepin-wine.i-m.dev/setup.sh | sh
安装Wine微信:
sudo apt-get install com.qq.weixin.deepin
Ubuntu(GNOME)在注销重新登录后应用程序列表才会出现微信启动图标。Kali Linux默认安装的桌面环境是Xfce,需要手工创建.desktop
文件(参考):
[Desktop Entry]
Encoding=UTF-8
Name=微信
GenericName=微信
Comment=基于deepin-wine的windows版微信
Exec=/opt/apps/com.qq.weixin.deepin/files/run.sh
Icon=/opt/apps/com.qq.weixin.deepin/entries/icons/hicolor/64x64/apps/com.qq.weixin.deepin.svg
Terminal=false
Type=Application
Categories=Application;Programme;
至此微信安装完毕。
Linux微信设置缩放
在2k、4k或其他高分屏中运行Linux wine微信需要设置缩放,否则界面很小,影响体验。设置缩放之前首先需要确保系统已经设置过缩放,其次还需要先解决一下上述开源仓库deepin-wine
所存在的一个小BUG,否则会导致修改DPI或者任何Wine配置的信息无法被正常保存。
修改/opt/deepinwine/tools/run_v4.sh
文件,查找RunApp
函数并在倒数第三行添加2行,如下修改(学习自#270,感谢作者):
RunApp()
{
progpid=$(ps -ef | grep "zenity --progress --title=${BOTTLENAME}" | grep -v grep)
debug_log "run ${BOTTLENAME} progress pid $progpid"
if [ -n "$progpid" ]; then
debug_log "$BOTTLENAME is running"
exit 0
fi
if [ -d "$WINEPREFIX" ]; then
UpdateApp | progressbar "$BOTTLENAME" "更新$BOTTLENAME中..."
else
DeployApp | progressbar $BOTTLENAME "初始化$BOTTLENAME中..."
fi
mkdir $WINEPREFIX
echo "$APPVER" > "$WINEPREFIX/PACKAGE_VERSION"
CallApp "$@"
}
在当前终端Shell的配置文件中配置环境变量,例如~/.bashrc
或~/.zshrc
:
export DEEPIN_WINE_SCALE=2
设置了缩放比例为x2
(根据您当前的系统缩放比例适当调整),这行设置仅仅对wine自带的程序有效,例如winecfg
,设置的目的是为了方便配置wine
。
执行env WINEPREFIX=/home/yige/.deepinwine/Deepin-WeChat deepin-wine6-stable winecfg
,将会弹出wine
配置窗口。

在显示
一栏中勾选允许窗口管理器修饰窗口
和允许窗口管理器控制窗口
。
同时设置屏幕分辨率
,DPI设置为192
大概x2倍缩放,根据您当前的系统缩放比例适当调整。
点击应用
再次打开后微信即可正常放大显示。
绑定Linux微信快捷键
默认情况下,Windows系统打开和关闭微信的快捷键是Ctrl+Alt+W
,此快捷键在Wine微信出于前台的时候可以正常关闭/隐藏微信,但是处于后台(最小化)的时候无法通过快捷键打开微信。
安装xdotool
:
Debian and Ubuntu: apt-get install xdotool
Fedora: dnf install xdotool
FreeBSD: pkg install xdotool
macOS: brew install xdotool or sudo port install xdotool
OpenSUSE: zypper install xdotool
设置操作系统的自定义快捷键
,常见的Linux桌面环境都有此功能。例如GNOME和Xfce4都在设置
-键盘
中:

选择最后的自定义快捷键
,创建Ctrl+Alt+W
的快捷键,并填写脚本为bash /home/yige/xdtool/wechat.sh
(注意相应修改目录)。

对应创建执行xdotool
的脚本文件~/xdtool/wechat.sh
:
#!/bin/bash
xdotool key --window $(xdotool search --name "微信"|head -n1) "Ctrl+Alt+w"
exit 0
增加可执行权限:
chmod +x ~/xdtool/wechat.sh
至此,按下快捷键将可以正常唤起和隐藏微信。
如果您的Linux发行版此命令遇到问题,可以尝试修改上述脚本第二行,参考:
xdotool key --window $(xdotool search --name "微信"|sed -n '2p') "Ctrl+Alt+w"
xdotool key --window $(xdotool search --limit 1 --all --pid `pgrep WeChat.exe`) "Ctrl+Alt+W"
关于安全性
由于有人用wine方案在服务器跑机器人,而微信的风控非常严格,因此他们这么做有可能坑到正规使用的用户。
因此本人一直在linux微信使用小号。在pad上登录大号。虽然理论上Wine方案的微信安全性大方向上没啥问题,但是毕竟没时间深入研究,也只好简单防范。
出于对稳定性和需要和安装office365的需求,我在工作设备安装的是cross某over,是商业软件,问题也挺多,但经过参数调整基本能满足需求。希望随着国产操作系统的生态完善,我们能早日迎来官方原生Linux微信。
2022年10月28日
- 修改异常的shell路径。
- 增加shell权限设置步骤。
Recommend
-
5
Linux 在4K屏幕下的界面缩放设置 注意:本文最后更新于 5年 前。最近趁着京东特价,入了个23寸的4K显示器。由于4K的分辨率是3840*2160,是1080P的整整4倍,像素密度十分高,但整个屏幕的大小却和一般的1080P显示器...
-
7
快速为Windows Terminal设置全局快捷键 MS最近发布的Windows Terminal配合wsl能极大提升WIndows下CLI操作的体验,不过还是习惯了Ubuntu系的Ctrl + Alt + T快捷键启动终端,那么为何不给WIndows Terminal也设置一个呢?
-
8
V2EX › Windows Windows 能否尽量将快捷键/滚动动作设置为类 macOS 的风格 llr8031 · 2 小...
-
1
设置 Apple Music 全局快捷键 Clloz · 11小时前 ·
-
5
V2EX › Windows 如何给特定软件设置专门的分辨率和缩放 Jinnmki · 23 小时 38 分钟前 · 443...
-
10
V2EX › Linux Linux 高分屏缩放方案(分数缩放) j...
-
12
V2EX › Windows 如何设置微软远程桌面内的缩放为 200%
-
4
爱范儿早报导读 米哈游辟谣年终奖发 108 个月薪水 苹果 Apple Car 或售价 61 万元 微信新功能:朋友圈视频可放大缩小 爱奇艺奇异果 TV 上线「亲情助」功能 Twitter 考虑拍卖用户名以提振收入 特斯拉「...
-
4
微软将给Word提供缩放快捷键 2023-3-9 15:47:10 | 作者: 投稿 | 分类: 业界...
-
7
通过 Automator 设置全局快捷键打开应用程序为某些常用程序设置快捷键一键打开可以大大节省我们的时间, 但是并不是所有程序都支持设置全局快捷键打开主窗口. 为此有一些第三方软件被创造出来.实际上Mac 上面自带的 Automator...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK