在 openSUSE 上如何优雅地使用微信?

Win/mac 上绝大多数的软件在 Linux 上似乎都已经有了比较好的原生/替代解决方案,然而不幸的是,相当多的国产软件似乎依然没有比较优雅的 Linux 下的解决方案,其中便包括微信这一国民级软件

使用 wine 似乎能够成功安装微信,然而使用 wine 运行微信存在诸多问题,至少在我的电脑上,使用原生的 wine 虽然能够成功运行微信安装包,也能成功启动微信,但微信窗口会不可避免地在其他窗口上留下痕迹(在其他窗口叠加在微信窗口上时),微信窗口边框经常闪烁,输入框一大块白色等等,我尝试过使用 winetricks 安装 riched20、riched32 等库,而这似乎并未能解决问题,在各种折腾之后反而还引入了新的问题——我的键盘输入无法再被定向回微信当中,这令我不得不直接放弃 wine 方案

使用 kvm+qemu 运行一个 windows 虚拟机似乎是个可行的解决方案(也是我目前正在使用的解决方案),然而我无法完美地将虚拟机中的单个程序的窗口映射到 Linux 桌面中(使用 xfreerdp 可以完成这一需求,但仍不完美,且存在各种问题),直接保留整个虚拟机桌面则太不优雅,同时我的需求只是运行一个微信,似乎并不值得消耗大量资源来运行一个完整的 Windows 操作系统

使用 waydroid 跑平板端微信或许是一个可行的替代解决方案,然而对于文件共享、剪贴板、摄像头等基础功能,waydroid 似乎并不能很好地支持,最重要的一点是,waydroid 官方似乎并未为 openSUSE 提供原生支持

网页版的微信则功能过于残缺,即便有各种 electron 套壳客户端,使用体感也因为网页版的过于不完善而大打折扣

因此想问一下大家日常都是如何解决在 openSUSE 上使用微信这一问题的?是否有着比较优雅的解决方案?

很难有优雅的用法,微信官方向来不重视 PC 端。

我一般不在 openSUSE 上使用微信之类的软件,微信这种东西只装在手机上,如果需要使用微信传递文件,可以考虑一下微信的网页版文件助手

不要用 waydroid(openSUSE 有三方源)。它运行了一套 Android,会在你开始菜单建一堆 Android 应用的图标,但这些图标能点的前提是 waydroid 的 Android 在运行,你也不想 Android 开机自启吧。

如果你跑单窗口模式,第一来消息没提示(没实验有没有声音,显示上的提示肯定没有),第二除非你一直开着窗口,不然关掉了,android 也会一直运行不说,微信还时常退出不后台运行(随机的,即你再打开窗口微信可能登着也可能没登)。

但很不幸以上就是 2023 年最优雅的 Linux 微信使用方式。

1赞

消息称微信 Linux 原生版重构,全新 1.0 版本开启测试

已经成功运行微信 1.0,在 Leap 15.5 KDE 中

不是说只能在某些国产系统上登录吗?

https://aur.archlinux.org/packages/wechat-uos-bwrap
用这个,然后根据自己的情况,简单修改一下 sh 文件就好用。

设备验证文件取出以后也可以类似之前的 wechat-uos 那样使用新版的原生微信。


x11 下,功能完全正常。wayland 下似乎问题还挺多的比如内置截图不工作

请教一下怎么安装呀?

@Maghero

openSUSE 下面安装 bubblewrap:

sudo zypper in bubblewrap

然后去上面那个链接下载 wechat.sh,把里面有 /usr/lib/snapd-xdg-open/xdg-open 这行删除掉,放在 /usr/bin/wechat-uos-beta

下载 wechat-uos-beta.desktop 放在 /usr/share/applications/wechat-uos-beta.desktop

下载 wechat-uos-beta.svg 放在 /usr/share/icons/hicolor/scalable/apps/wechat-uos-beta.svg

那个脚本里有最新微信 Linux 官方版本 deb 的下载链接。

下载回来,放到一个文件夹里,然后解压:

ar -x *.deb

然后再解压 data.tar.xz:

tar -xf data.tar.xz

再把解压得到的 opt/wechat-beta 复制到 /opt:

sudo cp -r ./opt/wechat-beta /opt

到这里才算完成一半,因为这个微信只有 UOS 才能用,还需要去 AUR 的 wechat-uos 取点东西。需要下载 wechat-2.15-x86_64.deb,像上面那样解压 deb 解压 data.tar.xz 把里面的 usr/lib/license/libuosdevicea.so 复制到 /usr/lib/wechat-uos/license/libuosdevicea.so。(没有文件夹就自己建)

然后下载 licenses.tar.gz,解压把里面的 etc 和 var 文件夹复制到 /usr/share/wechat-uos 下面。

接下来:

sudo chmod +x /usr/bin/wechat-uos-beta
sudo touch /etc/lsb-release

运行微信:

/usr/bin/wechat-uos-beta
3赞

@hillwood 先从国产系统借鉴了些东西过来,bubblewrap 虚拟地替代了路径,让微信认为是国产系统

用虚拟机,,想办法整个正版 windows 系统,这个系统里只装微信和一些其它国产软件,把 windows 里各种不必要的网络功能关闭,稍微提高点安全性,最好用双虚拟机隔离,可以强制所有流量走多重代理。
这么做隔离流氓软件本身会很舒服而且不影响真实系统,还能增加网络安全性,虽然 windows 本身安全性差,但这个 windows 里也只装了流氓软件,并且定期退回快照的话并不会泄露太多隐私也不用清理系统垃圾了。
除非发生虚拟机穿透才会影响到真实系统,但可能性很小,以上想法大部分来自网上大佬的 blog,下面贴出原帖链接。
虚拟机是什么,如何选择,以及如何用虚拟机强化网络安全系列帖子:

多重代理以及多虚拟机隔离强化网络安全系列帖子:

顺便提一下,作者强调了很多遍,如果使用多重代理的话一定要有一个前置代理,不可暴露 tor 的流量。
不过我觉得如果用楼上大佬的方法装个 Linux 虚拟机再用多虚拟机隔离并且多重代理的话安全性更高。
推荐虚拟机的主要原因就是可以隔离国产流氓软件,减少隐私泄露。

1赞

不要去干这些事情,投入的时间值得吗?

2赞

你们都不用手机的吗?要传输文件方法有很多啊,何必要用微信呢。

这个大概因人而异了,对我这种菜鸟来说捣鼓一些东西也能让我更了解 Linux 是什么玩意儿,就虚拟机而言,即使不用微信,电脑上可能也需要装百度网盘,迅雷之类的流氓软件,我个人还是觉得隔离起来比较舒服,而且还不用清理系统垃圾也能减少中病毒的几率之类的。

说的没错,我也这么想的,但是在电脑上用微信可以做到手机上做不到的事情,虚拟机隔离微信的的话即使微信有后门但这个虚拟机不用来看浏览器玩游戏和其他事情,只看微信的话就可以减少隐私泄露,而且可以通过双虚拟机强制流量全程代理,减少暴露真实 ip 的风险,虽然对我来说没啥必要就是了。

微信怎么会和「优雅」扯上关系呢(

要我的话,我选择 VirtualBox + 共享目录的方式。

1赞

嫌麻烦的话其实昨晚就已经打包好上传到 obs 上了 wechat-beta 跟 aur 上的包裹方法一致。怕危险可以自行审查打包文件。没 aur 上做的那么绝,直接 bind / 到 /了

共享真实系统文件夹的话虚拟机隔离不就没意义了吗…

然而不幸的是,包括我在内的绝大多数简体中文使用者的生活都不得不与微信进行一定程度的绑定,就我个人而言,我虽然并不喜欢微信这一软件,但我的工作与生活中无法逃离开 “使用微信与其他人进行交流” 这一件事情,这一社会生态框架对于我而言是无法改变的,而不仅仅是和 “文件传输” 相关的问题

需要说明的是,我其实并不使用微信的文件传输功能在手机端与电脑端之间进行文件传输