From 2a99f53595c7ae8284d758392082366b97f39aed Mon Sep 17 00:00:00 2001 From: yuyx <237899745@qq.com> Date: Sun, 30 Nov 2025 21:19:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A5=94=E5=9B=BEPantum?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=9C=BA=E9=A9=B1=E5=8A=A8=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增选项5: 奔图打印机驱动 - 自动检测系统架构下载对应驱动 - 支持arm64/armhf/amd64架构 - 安装时自动添加wget和unzip依赖 --- setup_cups.sh | 92 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 88 insertions(+), 4 deletions(-) diff --git a/setup_cups.sh b/setup_cups.sh index 7a4db72..882671d 100755 --- a/setup_cups.sh +++ b/setup_cups.sh @@ -180,10 +180,11 @@ select_drivers() { echo " 2) HP 打印机 (hplip)" echo " 3) 爱普生 (gutenprint)" echo " 4) 兄弟 (brlaser)" - echo " 5) 全部安装" + echo " 5) 奔图 Pantum (从官网下载)" + echo " 6) 全部安装 (不含奔图)" echo " 0) 仅安装CUPS (不安装额外驱动)" echo "" - echo -e " ${BLUE}示例: 1 2 或 1,2 表示同时安装通用驱动和HP驱动${NC}" + echo -e " ${BLUE}示例: 1 5 或 1,5 表示同时安装通用驱动和奔图驱动${NC}" echo "" read -p "请输入选项 (默认: 1): " driver_choice < /dev/tty driver_choice=${driver_choice:-1} @@ -191,9 +192,85 @@ select_drivers() { driver_choice=$(echo "$driver_choice" | tr ',' ' ') } +# 安装奔图驱动 +install_pantum_driver() { + info "正在安装奔图 Pantum 打印机驱动..." + + # 检测系统架构 + local arch=$(dpkg --print-architecture) + info "检测到系统架构: $arch" + + # 奔图驱动下载地址 (通用Linux驱动) + local pantum_url="" + local pantum_file="" + + case $arch in + arm64|aarch64) + pantum_url="https://drivers.pantum.com/userfiles/files/download/drive/Pantum%20Ubuntu%20Driver%20V1_1_123_1.zip" + ;; + armhf|arm) + pantum_url="https://drivers.pantum.com/userfiles/files/download/drive/Pantum%20Ubuntu%20Driver%20V1_1_123_1.zip" + ;; + amd64|x86_64) + pantum_url="https://drivers.pantum.com/userfiles/files/download/drive/Pantum%20Ubuntu%20Driver%20V1_1_123_1.zip" + ;; + *) + warn "不支持的架构: $arch,跳过奔图驱动安装" + return 1 + ;; + esac + + # 创建临时目录 + local tmp_dir=$(mktemp -d) + cd "$tmp_dir" + + info "下载奔图驱动..." + if ! wget -q --show-progress -O pantum_driver.zip "$pantum_url"; then + warn "下载奔图驱动失败,尝试备用方案..." + # 备用: 直接安装依赖,用户手动下载驱动 + apt install -y libcups2 libcupsimage2 + warn "请手动从 https://www.pantum.com 下载驱动并安装" + cd - > /dev/null + rm -rf "$tmp_dir" + return 1 + fi + + info "解压驱动包..." + unzip -q pantum_driver.zip + + # 查找并安装deb包 + local deb_file="" + if [ "$arch" = "arm64" ] || [ "$arch" = "aarch64" ]; then + deb_file=$(find . -name "*arm64*.deb" -o -name "*aarch64*.deb" 2>/dev/null | head -1) + elif [ "$arch" = "armhf" ] || [ "$arch" = "arm" ]; then + deb_file=$(find . -name "*armhf*.deb" -o -name "*arm*.deb" 2>/dev/null | grep -v arm64 | head -1) + else + deb_file=$(find . -name "*amd64*.deb" -o -name "*x86_64*.deb" 2>/dev/null | head -1) + fi + + # 如果找不到对应架构,尝试通用包 + if [ -z "$deb_file" ]; then + deb_file=$(find . -name "*.deb" 2>/dev/null | head -1) + fi + + if [ -n "$deb_file" ]; then + info "安装驱动包: $deb_file" + dpkg -i "$deb_file" || apt install -f -y + success "奔图驱动安装完成" + else + warn "未找到适合的驱动包" + warn "请手动从 https://www.pantum.com 下载驱动" + fi + + # 清理 + cd - > /dev/null + rm -rf "$tmp_dir" +} + # 安装驱动 install_drivers() { local packages="" + local install_pantum=false for choice in $driver_choice; do case $choice in @@ -214,9 +291,11 @@ install_drivers() { packages="$packages printer-driver-brlaser" ;; 5) + install_pantum=true + ;; + 6) info "添加全部驱动..." packages="printer-driver-all hplip printer-driver-gutenprint printer-driver-brlaser" - break ;; 0) info "跳过驱动安装" @@ -229,6 +308,11 @@ install_drivers() { info "正在安装驱动: $packages" apt install -y $packages fi + + # 安装奔图驱动 + if [ "$install_pantum" = true ]; then + install_pantum_driver + fi } # 配置CUPS @@ -346,7 +430,7 @@ main() { # 2. 安装 CUPS 和 Avahi info "安装 CUPS 和 Avahi..." - apt install -y cups avahi-daemon + apt install -y cups avahi-daemon wget unzip success "CUPS 和 Avahi 安装完成" # 3. 安装中文语言包(CUPS汉化)