- 更新:2022-10-28 16:14:59
- 首发:2022-06-12 23:00:42
- 教程
- 5966
由于没有得到官方适配,在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权限设置步骤。
暂无内容
老师你好,我希望能用一个openwrt路由器实现IPv4和IPv6的桥接,请问我该如何实现?我尝试了直接新增dhcpv6的接口,但是效果不甚理想(无法成功获取公网的ipv6,但是直连上级路由的其他设备是可以获取公网的ipv6地)
![%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE20241205230845.png](https://cdn.wyr.me/visitor-files/2024-12-05/1733411344287屏幕截图 2024-12-05 230845.png)你好
,为什么我这里是0039 813C 0600 0075 16xx xx xx,只有前6组是相同的,博客中要前8位相同,这个不同能不能照着修改呢?我系统版本是Win1124H2
大神你好,win11专业版24h2最新版26100.2033,文件如何修改?谢谢
win11专业版24h2最新版26100.2033,Windows Feature Experience Pack 1000.26100.23.0。C:\Windows\System32\termsrv.dll系统自带的这个文件,39 81 3C 06 00 00 0F 85 XX XX XX XX 替换为 B8 00 01 00 00 89 81 38 06 00 00 90。仍然无法远程连接。原来是win11 21h2系统,是可以远程链接的。共享1个主机,2个显示器,2套键鼠,各自独立操作 各自不同的账号,不同的桌面环境。
博主,win11专业版24h2最新版,C:\Windows\System32\termsrv.dll系统自带的这个文件,找不到应该修改哪个字段。我的微信:一三五73二五九五00,谢谢