添加奔图Pantum打印机驱动安装选项
- 新增选项5: 奔图打印机驱动 - 自动检测系统架构下载对应驱动 - 支持arm64/armhf/amd64架构 - 安装时自动添加wget和unzip依赖
This commit is contained in:
@@ -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汉化)
|
||||
|
||||
Reference in New Issue
Block a user