轶哥

📚 Having fun with AI Agent. Always learning.

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

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

    增加可执行权限:

    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权限设置步骤。
    打赏
    交流区

    暂无内容

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

    评论回复提醒