11.10 QQ(Linux 版)
QQ 没有原生 FreeBSD 版本,需通过 Linux 兼容层安装运行。本节分别给出基于 Rocky Linux(FreeBSD Port)和基于 Ubuntu(debootstrap)两种兼容层方案的安装步骤。
11.10.1 基于 Rocky Linux(FreeBSD Port)
注意
请先参照本书其他章节安装 Rocky Linux 兼容层(FreeBSD Port)。
11.10.1.1 安装 RPM 工具
- 使用 pkg 安装:
# pkg install rpm4- 或者使用 Ports 安装:
# cd /usr/ports/archivers/rpm4/
# make install clean11.10.1.2 下载安装 QQ
- 下载 QQ,官方链接:QQ Linux 版 - 轻松做自己。
# fetch https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.17_250521_x86_64_01.rpm # 本节撰写时的链接,实际使用请获取最新版本- 安装 QQ:
root@ykla:/ # cd /compat/linux/ # 切换到兼容层路径
root@ykla:/compat/linux # rpm2cpio < /home/ykla/QQ_3.2.17_250521_x86_64_01.rpm | cpio -id # 安装 QQ。请将 QQ 文件路径改为本地的路径
./usr/share/icons/hicolor/512x512/apps/qq.png: Cannot extract through symlink usr/share/icons/hicolor/512x512/apps/qq.png
1055863 blocks相关文件结构:
/compat/linux/
├── opt/
│ └── QQ/
│ └── qq # QQ 可执行文件
└── usr/
└── share/
└── icons/
└── hicolor/
└── 512x512/
└── apps/
└── qq.png # QQ 图标11.10.1.3 解决依赖库问题
查看依赖项:
# /compat/linux/usr/bin/bash # 切换到兼容层的 Shell
bash-5.1# ldd /opt/QQ/qq # 查看 /opt/QQ/qq 可执行文件的动态库依赖
linux-vdso.so.1 (0x00007fffffffe000)
libffmpeg.so => /opt/QQ/libffmpeg.so (0x000000080c000000)
.......此处省略部分输出......可看到 ldd 输出正常,无需解决依赖问题。
11.10.1.4 解决 Fcitx 中文输入法在 QQ 中无法使用的问题
在兼容层中安装 ibus-gtk3 和 ibus-libs,下载安装包后执行:
# fetch https://dl.rockylinux.org/pub/rocky/9/AppStream/x86_64/os/Packages/i/ibus-gtk3-1.5.25-6.el9.x86_64.rpm # 下载 ibus-gtk3 RPM 包
# fetch https://dl.rockylinux.org/pub/rocky/9/AppStream/x86_64/os/Packages/i/ibus-libs-1.5.25-6.el9.x86_64.rpm # 下载 ibus-libs RPM 包
# cd /compat/linux # 切换到 Linux 兼容目录
# rpm2cpio < /home/ykla/ibus-gtk3-1.5.25-6.el9.x86_64.rpm | cpio -id # 解压 ibus-gtk3 RPM 包
# rpm2cpio < /home/ykla/ibus-libs-1.5.25-6.el9.x86_64.rpm | cpio -id # 解压 ibus-libs RPM 包- 刷新输入法模块缓存:
# /compat/linux/usr/bin/bash # 切换到 Rocky Linux 的 bash
bash-5.1# gtk-query-immodules-3.0-64 --update-cache # 刷新缓存11.10.1.5 启动 QQ
在 Linux 兼容环境中启动 QQ,禁用沙盒并启用进程内 GPU:
$ /compat/linux/opt/QQ/qq --no-sandbox --in-process-gpu注意
此处务必以普通用户权限运行 QQ,否则无法使用输入法。
技巧
--no-sandbox选项用于关闭沙盒,否则无法运行 QQ。
--in-process-gpu选项也是必要的,否则退出后无法重新打开 QQ,需要重启系统才能使用。

Fcitx5 输入法正常:

11.10.2 基于 Arch Linux 的兼容层
请参阅本书中“Arch Linux 兼容层”部分。
# chroot /compat/arch/ /bin/bash # 进入 Arch 兼容层
# passwd # 为 Arch 的 root 设置密码
# passwd test # 为 Arch 的 test 用户设置密码,上述脚本已创建该用户。不设置密码可能无法正常使用 AUR请新开一个终端,输入 reboot 重启 FreeBSD,否则新设置的密码无法生效。
# chroot /compat/arch/ /bin/bash # 进入 Arch 兼容层
# su test # 此时位于 Arch 兼容层!切换到普通用户才能使用 AUR
$ yay -S linuxqq # 此时位于 Arch 兼容层!此时用户为 test
$ exit # 切换回 root
# # 此时位于 Arch 兼容层,用户已切换回 root启动 QQ 客户端,禁用沙盒并启用进程内 GPU:
# /opt/QQ/qq --no-sandbox --in-process-gpu # 此时位于 Arch 兼容层!注意
如果以普通用户运行 QQ 时报错找不到 X11,请检查
DISPLAY环境变量是否正确设置,并确保 X11 套接字(/tmp/.X11-unix/)对普通用户可访问。可尝试运行xhost +local:命令放宽权限。不建议以 root 权限运行 QQ,否则将无法使用输入法。


11.10.3 基于 Ubuntu 兼容层
请先构建 Ubuntu 兼容层环境。
# chroot /compat/ubuntu/ /bin/bash # 进入 Ubuntu 兼容层
# wget https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250626_amd64_01.deb # 下载 QQ。此时位于 Ubuntu 兼容层。在 Ubuntu 兼容层安装 QQ:
# apt install ./QQ*.deb安装依赖文件:
# apt install libgbm-dev libasound2-dev # 在 Ubuntu 兼容层安装依赖
# ldconfig # 此时位于 Ubuntu 兼容层。刷新动态链接库启动 QQ:
# /bin/qq --no-sandbox --in-process-gpu # 此时位于 Ubuntu 兼容层注意
此处必须以 root 用户运行 QQ,并确保按照 Ubuntu 兼容层构建教程设置中文字符集(使用脚本时,该过程会自动完成,无需手动操作)。

11.10.4 故障排除
11.10.4.1 网络错误
如果系统中有多块网卡,例如一块有线网卡和一块无线网卡,打开 QQ 后会出现网络错误提示,此时需要为未使用的网卡分配一个 IP 地址。
参见其他相关章节。
11.10.4.2 中文输入法
注意
在兼容层内部安装输入法是无效的。
若自行构建兼容层,启动 QQ 前需在兼容层内部设定以下中文环境变量(完全按照本书教程操作则无需此步骤,过程中指定这些变量):
# export LANG=zh_CN.UTF-8 # 设置系统语言为中文
# export LC_ALL=zh_CN.UTF-8 # 设置所有本地化环境变量为中文设置完成后可使用 locale 命令检查。对于兼容层的软件,Fcitx 输入法仅当上述两个变量设为中文环境时才会生效。
如设置失败,请重启 FreeBSD 系统。
11.10.4.3 QQ 闪退
在兼容层中执行以下操作:
$ rm ~/.config/QQ/crash_files/* # 删除 QQ 崩溃文件目录下的所有文件
$ chmod a-wx ~/.config/QQ/crash_files/ # 设置 QQ 崩溃文件目录为不可写不可执行,防止再生成更多崩溃日志造成闪退相关文件结构:
~/
└── .config/
└── QQ/
└── crash_files/ # QQ 崩溃文件目录11.10.4.3.1 参考文献
- 微恙. Linux 下新 QQ Bug&Fix 一记(闪退相关)[EB/OL]. [2026-03-25]. https://zhuanlan.zhihu.com/p/645895811. 该文章提供了 Linux 版 QQ 闪退问题的解决方案。
- X.Org Foundation. xhost(1)[EB/OL]. [2026-04-17]. https://man.openbsd.org/xhost.1. 说明了 X11 访问控制机制及
xhost命令的使用方法。