添加奔图Pantum打印机驱动安装选项

- 新增选项5: 奔图打印机驱动
- 自动检测系统架构下载对应驱动
- 支持arm64/armhf/amd64架构
- 安装时自动添加wget和unzip依赖
This commit is contained in:
2025-11-30 21:19:08 +08:00
parent a6fc79c6ea
commit 2a99f53595

View File

@@ -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汉化