轶哥

妄图改变世界的全栈程序员。

Linux安装微信并设置缩放与快捷键
  •   更新:2022-06-12 23:00:42
  •   首发:2022-06-12 23:00:42
  •   教程
  •   297

由于没有得到官方适配,在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配置窗口。

wine.png

显示一栏中勾选允许窗口管理器修饰窗口允许窗口管理器控制窗口

同时设置屏幕分辨率,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都在设置-键盘中:

ubuntu.png

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

wechatkeybind.png

对应创建执行xdotool的脚本文件~/xdtool/wechat.sh

#!/bin/bash
xdotool key --window $(xdotool search --name "微信"|head -n1) "Ctrl+Alt+w"
exit 0

至此,按下快捷键将可以正常唤起和隐藏微信。

如果您的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微信。

打赏
交流区

暂无内容

尚未登陆
发布
  上一篇 (如何安装Xcode 14 Beta?)
下一篇 (iTerm2中使用vim/neovim时Alt快捷键失效的解决办法)  

评论回复提醒