feat: 添加 HPLIP 插件安装提示功能
- 安装 HP 驱动后自动检测 hplip 版本 - 显示对应版本插件的下载地址和安装命令 - 添加 README.md 项目说明文档 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
132
README.md
Normal file
132
README.md
Normal file
@@ -0,0 +1,132 @@
|
||||
# CUPS 打印服务一键配置脚本
|
||||
|
||||
适用于 Armbian / Debian / Ubuntu 系统,支持 x86_64 和 ARM 架构。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 一键安装 CUPS 打印服务
|
||||
- 自动配置远程访问和局域网共享
|
||||
- 中文 Web 管理界面
|
||||
- AirPrint 支持(iOS/macOS 自动发现)
|
||||
- 虚拟 PDF 打印机(测试连接用)
|
||||
- 多种打印机驱动可选
|
||||
- 支持一键卸载
|
||||
|
||||
## 快速安装
|
||||
|
||||
```bash
|
||||
# 方式一:curl
|
||||
curl -fsSL https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh | bash
|
||||
|
||||
# 方式二:wget
|
||||
wget -qO- https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh | bash
|
||||
```
|
||||
|
||||
## 卸载
|
||||
|
||||
```bash
|
||||
# 下载脚本
|
||||
wget -O setup_cups.sh https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh
|
||||
chmod +x setup_cups.sh
|
||||
|
||||
# 执行卸载
|
||||
./setup_cups.sh --uninstall
|
||||
```
|
||||
|
||||
## 驱动选项
|
||||
|
||||
安装时可选择以下驱动:
|
||||
|
||||
| 选项 | 说明 |
|
||||
|------|------|
|
||||
| 1 | 通用驱动(推荐,支持大多数打印机) |
|
||||
| 2 | HP 打印机 (hplip) |
|
||||
| 3 | 爱普生 (gutenprint) |
|
||||
| 4 | 兄弟 (brlaser) |
|
||||
| 5 | 奔图 Pantum |
|
||||
| 6 | 全部安装(不含奔图) |
|
||||
| 7 | 虚拟 PDF 打印机(测试用) |
|
||||
| 0 | 仅安装 CUPS(不安装驱动) |
|
||||
|
||||
默认选项:`1 7`(通用驱动 + PDF 打印机)
|
||||
|
||||
## 客户端连接
|
||||
|
||||
### 局域网环境
|
||||
|
||||
| 客户端 | 连接方式 |
|
||||
|--------|----------|
|
||||
| **macOS/iOS** | 自动发现(AirPrint),无需配置 |
|
||||
| **Android** | 安装 Mopria Print Service,自动发现 |
|
||||
| **Windows** | 设置 → 打印机 → 添加打印机 |
|
||||
| **Linux** | 自动发现或 `ipp://IP:631/printers/打印机名` |
|
||||
|
||||
### 管理界面
|
||||
|
||||
- 地址:`https://服务器IP:631`
|
||||
- 用户名:`root`
|
||||
- 密码:SSH 登录密码
|
||||
|
||||
## 服务端口
|
||||
|
||||
| 服务 | 端口 | 用途 |
|
||||
|------|------|------|
|
||||
| CUPS | 631 | 打印服务/Web管理界面 |
|
||||
| Avahi | 5353 | mDNS/AirPrint 自动发现 |
|
||||
|
||||
## 常用命令
|
||||
|
||||
```bash
|
||||
# 查看打印机列表
|
||||
lpstat -p -d
|
||||
|
||||
# 重启 CUPS
|
||||
systemctl restart cups
|
||||
|
||||
# 查看 CUPS 日志
|
||||
tail -f /var/log/cups/error_log
|
||||
|
||||
# 检查 USB 打印机
|
||||
lsusb | grep -i print
|
||||
lpinfo -v | grep usb
|
||||
```
|
||||
|
||||
## 支持架构
|
||||
|
||||
- x86_64 / amd64
|
||||
- aarch64 / arm64
|
||||
- armv7l / armhf
|
||||
|
||||
## 文件说明
|
||||
|
||||
```
|
||||
├── setup_cups.sh # 一键安装/卸载脚本
|
||||
├── cups-templates-zh_CN/ # 中文界面模板(65个文件)
|
||||
├── README.md # 本文档
|
||||
└── 刷机教程.md # Armbian 刷机教程
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 手机打印提示"不再接受加密的作业"
|
||||
正常提示,点击"继续"即可。这是因为服务器配置为允许非加密连接。
|
||||
|
||||
### 手机发送打印任务很慢
|
||||
脚本已配置 `HostNameLookups Off` 解决此问题。如果仍然慢,检查网络连接。
|
||||
|
||||
### 界面显示英文
|
||||
确保安装时下载了中文模板。重新运行安装脚本可以修复。
|
||||
|
||||
### 找不到 USB 打印机
|
||||
1. 确认打印机已通过 USB 连接到服务器
|
||||
2. 运行 `lsusb` 检查是否识别
|
||||
3. 刷新 CUPS 添加打印机页面
|
||||
|
||||
## 仓库地址
|
||||
|
||||
- Gitee: https://gitee.com/yu-yon/S905L3A
|
||||
|
||||
## 更新日志
|
||||
|
||||
- 2024-12-01: 添加卸载功能、优化打印速度
|
||||
- 2024-11-30: 修复 CSS 兼容 CUPS 2.4.7、添加 PDF 打印机选项
|
||||
@@ -737,11 +737,53 @@ install_pantum_driver() {
|
||||
rm -rf "$tmp_dir"
|
||||
}
|
||||
|
||||
# 显示 HPLIP 插件安装提示
|
||||
show_hplip_plugin_notice() {
|
||||
# 检测 hplip 版本
|
||||
local hplip_version=""
|
||||
if command -v hp-info > /dev/null 2>&1; then
|
||||
hplip_version=$(hp-info -v 2>/dev/null | grep -oP 'HPLIP \K[0-9.]+' | head -1)
|
||||
fi
|
||||
|
||||
# 如果上面方法失败,尝试从包管理器获取
|
||||
if [ -z "$hplip_version" ]; then
|
||||
hplip_version=$(dpkg -s hplip 2>/dev/null | grep "^Version:" | awk '{print $2}' | cut -d'-' -f1 | cut -d'+' -f1)
|
||||
fi
|
||||
|
||||
if [ -z "$hplip_version" ]; then
|
||||
warn "无法检测 HPLIP 版本"
|
||||
return
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${YELLOW}╔══════════════════════════════════════════════════════════════════╗${NC}"
|
||||
echo -e "${YELLOW}║ ${RED}重要提示:HP 打印机需要安装专有插件才能正常工作!${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}╠══════════════════════════════════════════════════════════════════╣${NC}"
|
||||
echo -e "${YELLOW}║${NC} 检测到 HPLIP 版本: ${GREEN}${hplip_version}${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} ${BLUE}请手动下载并安装对应版本的插件:${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} 1. 下载地址: ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} ${GREEN}https://sourceforge.net/projects/hplip/files/${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} ${GREEN}hplip/${hplip_version}/hplip-${hplip_version}-plugin.run${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} 2. 上传到服务器后执行: ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} ${GREEN}sudo hp-plugin -i -p /tmp/hplip-${hplip_version}-plugin.run${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}║${NC} 3. 安装过程中如提示 GPG 验证失败,输入 ${GREEN}y${NC} 继续即可 ${YELLOW}║${NC}"
|
||||
echo -e "${YELLOW}╚══════════════════════════════════════════════════════════════════╝${NC}"
|
||||
echo ""
|
||||
|
||||
# 保存版本号供后续使用
|
||||
HPLIP_VERSION="$hplip_version"
|
||||
}
|
||||
|
||||
# 安装驱动
|
||||
install_drivers() {
|
||||
local packages=""
|
||||
local install_pantum=false
|
||||
local install_pdf=false
|
||||
local install_hp=false
|
||||
|
||||
for choice in $driver_choice; do
|
||||
case $choice in
|
||||
@@ -752,6 +794,7 @@ install_drivers() {
|
||||
2)
|
||||
info "添加 HP 驱动..."
|
||||
packages="$packages hplip"
|
||||
install_hp=true
|
||||
;;
|
||||
3)
|
||||
info "添加爱普生驱动..."
|
||||
@@ -767,6 +810,7 @@ install_drivers() {
|
||||
6)
|
||||
info "添加全部驱动..."
|
||||
packages="printer-driver-all hplip printer-driver-gutenprint printer-driver-brlaser"
|
||||
install_hp=true
|
||||
;;
|
||||
7)
|
||||
install_pdf=true
|
||||
@@ -792,6 +836,11 @@ install_drivers() {
|
||||
if [ "$install_pdf" = true ]; then
|
||||
install_pdf_printer
|
||||
fi
|
||||
|
||||
# 显示 HP 插件安装提示
|
||||
if [ "$install_hp" = true ]; then
|
||||
show_hplip_plugin_notice
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装中文界面模板
|
||||
|
||||
Reference in New Issue
Block a user