11SCRIPT_DIR=" $( cd " $( dirname " $0 " ) " && pwd) "
22
3+ # 检测是否为 Debian 系列系统(通过 apt 命令)
4+ if ! command -v apt & > /dev/null; then
5+ echo " 错误:本脚本只支持使用 apt 包管理器的系统(如 Debian、Ubuntu 等)"
6+ exit 1
7+ fi
8+
9+ # 检测系统架构
10+ ARCH=$( uname -m)
11+ if [ " $ARCH " == " x86_64" ]; then
12+ ARCH_TYPE=" amd64"
13+ elif [ " $ARCH " == " aarch64" ]; then
14+ ARCH_TYPE=" arm64"
15+ else
16+ echo " 错误:不支持的系统架构: $ARCH "
17+ echo " 本脚本只支持 x86_64 (x64) 和 aarch64 (arm64) 架构"
18+ exit 1
19+ fi
20+
21+ echo " 检测到系统架构: $ARCH_TYPE "
22+
23+ # 检测 QQ 是否已安装
24+ if [ ! -f " /opt/QQ/qq" ]; then
25+ echo " 未检测到 QQ 安装 (/opt/QQ/qq 不存在)"
26+ echo " 是否需要安装 QQ?(Y/n)"
27+ read -n 1 -s -r key
28+ echo " "
29+ if [[ " $key " == " Y" || " $key " == " y" || " $key " == " " ]]; then
30+ echo " 正在下载 QQ ($ARCH_TYPE 版本)..."
31+ QQ_DEB=" /tmp/qq_linux_$ARCH_TYPE .deb"
32+ sudo apt-get update
33+ sudo apt-get install wget
34+ wget -O " $QQ_DEB " " https://dldir1v6.qq.com/qqfile/qq/QQNT/ec800879/linuxqq_3.2.20-40990_$ARCH_TYPE .deb"
35+ if [ $? -ne 0 ]; then
36+ echo " 错误:QQ 下载失败"
37+ exit 1
38+ fi
39+ echo " 正在安装 QQ..."
40+
41+ sudo apt install -y " $QQ_DEB "
42+ if [ $? -ne 0 ]; then
43+ echo " 错误:QQ 安装失败"
44+ exit 1
45+ fi
46+ echo " QQ 安装完成"
47+ rm -f " $QQ_DEB "
48+ echo " 进行安装 QQ 相关依赖"
49+ # 检测 libasound 包名(新系统用 libasound2t64,旧系统用 libasound2)
50+ # 使用 apt-cache policy 检测包是否真正可安装
51+ if apt-cache policy libasound2t64 2> /dev/null | grep -q " Candidate:" ; then
52+ LIBASOUND_PKG=" libasound2t64"
53+ elif apt-cache policy libasound2 2> /dev/null | grep -q " Candidate:" ; then
54+ LIBASOUND_PKG=" libasound2"
55+ else
56+ # 如果都不可用,尝试安装 alsa-utils 作为替代(会拉取正确的 libasound 依赖)
57+ LIBASOUND_PKG=" alsa-utils"
58+ fi
59+ echo " 使用 ALSA 库包: $LIBASOUND_PKG "
60+
61+ sudo apt-get install -y \
62+ x11-utils \
63+ libgtk-3-0 \
64+ libxcb-xinerama0 \
65+ libgl1-mesa-dri \
66+ libnotify4 \
67+ libnss3 \
68+ xdg-utils \
69+ libsecret-1-0 \
70+ libappindicator3-1 \
71+ libgbm1 \
72+ $LIBASOUND_PKG \
73+ fonts-noto-cjk \
74+ libxss1
75+ else
76+ echo " 跳过 QQ 安装,退出脚本"
77+ exit 0
78+ fi
79+ fi
80+
381chmod +x $SCRIPT_DIR /llbot/node
482chmod +x $SCRIPT_DIR /llbot/pmhq
583
@@ -8,20 +86,20 @@ USE_XVFB=1
886if ! command -v xvfb-run & > /dev/null; then
987 echo " 未找到 xvfb-run 命令"
1088 echo " 如果你是桌面环境,按 Y 继续运行"
11- echo " 如果不是桌面环境,请先安装 xvfb,按其他键退出 "
89+ echo " 如果不是桌面环境,按其他键进行安装 xvfb"
1290 read -n 1 -s -r key
1391 echo " "
1492 if [[ " $key " == " Y" || " $key " == " y" ]]; then
1593 USE_XVFB=0
1694 else
17- exit 0
95+ sudo apt install -y xvfb
1896 fi
1997fi
2098
2199$SCRIPT_DIR /llbot/node $SCRIPT_DIR /llbot/llonebot.js &
22100
23101if [ $USE_XVFB -eq 1 ]; then
24- xvfb-run $SCRIPT_DIR /llbot/pmhq
102+ sudo xvfb-run $SCRIPT_DIR /llbot/pmhq
25103else
26- $SCRIPT_DIR /llbot/pmhq
104+ sudo $SCRIPT_DIR /llbot/pmhq
27105fi
0 commit comments