- 更新:2022-10-28 16:14:59
- 首发:2022-06-12 23:00:42
- 教程
- 5773
由于没有得到官方适配,在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权限设置步骤。
暂无内容
感谢回复! Clang 在生成时沿用了 GCC 的版本号标识,我是不是可以理解为Clang 18.1.4生成时使用的就是GCC4.8,所以我后续使用gcc 9.4
gcov
就会有不兼容的问题抱歉,这块我也不太清楚,尝试寻求AI的帮助吧。
我在这个过程中遇到了各种问题- -,现在在UDC core: g_serial: couldn't find an available UDC卡住了,请问大佬有什么解决方案吗,还是说我前置的设置就错了呢,> 这个需求很特殊。是可以的,但是比较困难,需要修改驱动配置。
好思路呀!!
关于hex编辑器,网上没找到特别好用的(小白没办法),最后在vscode上扩展一搜hex,第一个安装一下就可以用vscode进行hex编译了