在 FydeOS 里运行 Linux 微信 / QQ
入手了一台 NEC VK23TG,以后就背着这台机器出门,主力机就固定在宿舍不动了。尽管主力机也是轻薄本,但我还是嫌重。VK23TG 的重量仅 800g,带上适配器也足够轻。8 代 i5,8+512 足够办公,1080p 触摸屏则是加分项。
不建议买的原因很简单,咸鱼贩子把价格抬的太狠了。要买的话建议盯紧个人卖家,能等的话等到存储涨价过去,价格可能会更合适。
不过我并不打算拿它跑 Windows。对我来说,大部分的笔记都在 Notion 上完成,而 Notion 本身是个网页应用;少量的 Office 文档可以留给主力机,或者用免费的 Office 网页端。我想要一个尽可能轻量的系统(不,不要 Tiny11),最终选择了 Fyde OS。这个国产的 Chrome OS 在保留了原版使用体验的情况下,额外提供了安卓子系统。这使得 Linux 和 Android 的生态被打通…了吗?
现实并不很丰满。Fyde OS 确实提供了 Linux 容器,但要跑微信 QQ 并不简单。为什么不直接安装 APK 呢?因为腾讯检测到安卓子系统环境不正常会封号。理论上来说最佳的打开方式是网页版微信,但出于安全原因他不让我登录。所以将目光转到桌面程序,比较微信 QQ都有 Linux 版,不用白不用。
要安装微信,你可以先打开 linux.weixin.qq.com,选择合适的架构,右键 deb 包复制链接,然后用 wget 下载安装包:
wget https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.deb
dpkg -i ./WeChatLinux_x86_64.deb
安装完成,但此时无法启动微信,会报错 wechat: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory。所以需要额外安装 libatomic1:
为什么不 dpkg -i 之后运行 apt --fix-broken install?因为 dpkg 并没有将 libatomic1 视为依赖项。此时运行 apt 是没用的。
要安装 QQ,同样先下载并安装 deb 包(并执行 apt --fix-broken install)。如果使用 AppImage,则只需下载无需安装。
此时 QQ 大概率没法启动,报错为 ERROR:ozone_platform_x11.cc(247) Missing X server or $DISPLAY 。然而执行 echo $XDG_SESSION_TYPE 返回的结果为 wayland,所以我们需要强制 QQ 以 wayland 模式运行:
qq --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=3
此后 QQ 应当可以启动并维持长时间不崩溃。不过看日志不难发现运行的并不完美,时常有 Error。
直接开启fcitx5是打不开的,终端执行im-config 则会报同样的打不开 Xserver 的错误,这里我选择直接apt install xwayland,之后能正常显示 GUI。那之前把 QQ 强制用 wayland 启动似乎就有点画蛇添足了,参数删掉就好。
之后,为了保险起见,在/etc/environment 和~/.bashrc 内都加上下面的环境变量。注意bashrc需额外在每一项之前添加 export:
XMODIFIERS="@im=fcitx"GTK_IM_MODULE=fcitxQT_IM_MODULE=fcitxSDL_IM_MODULE=fcitx
在新的终端内启动微信 QQ,按下 Ctrl+Shift 切换输入法。现在应该能使用中文输入法。
微信关闭窗口后会直接退出程序,没有后台这一说;QQ关闭窗口之后有后台,但无法被调出。因此建议使用的时候不要关闭,不用的时候最小化就行。
另外,新消息似乎没有提示音,任务栏也不会闪动。不过这都是小问题。