6

Linux安装微信并设置缩放与快捷键

 2 years ago
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.
neoserver,ios ssh client

由于没有得到官方适配,在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权限设置步骤。

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK