170 lines
4.4 KiB
Markdown
170 lines
4.4 KiB
Markdown
# CUPS 打印服务一键配置脚本
|
||
|
||
适用于 Armbian / Debian / Ubuntu 系统,支持 x86_64 和 ARM 架构。
|
||
|
||
## 功能特性
|
||
|
||
- 一键安装 CUPS 打印服务
|
||
- 自动配置远程访问和局域网共享
|
||
- 中文 Web 管理界面
|
||
- AirPrint 支持(iOS/macOS 自动发现)
|
||
- 虚拟 PDF 打印机(测试连接用)
|
||
- 多种打印机驱动可选
|
||
- 驱动管理器(默认仅允许内网访问)
|
||
- 网络和打印服务守护(断网自动切 DHCP,CUPS 卡死自动恢复)
|
||
- 支持一键卸载
|
||
|
||
## 快速安装
|
||
|
||
```bash
|
||
# 方式一:curl
|
||
curl -fsSL https://git.workyai.cn/237899745/S905L3A/raw/branch/master/setup_cups.sh | bash
|
||
|
||
# 方式二:wget
|
||
wget -qO- https://git.workyai.cn/237899745/S905L3A/raw/branch/master/setup_cups.sh | bash
|
||
```
|
||
|
||
## 卸载
|
||
|
||
```bash
|
||
# 下载脚本
|
||
wget -O setup_cups.sh https://git.workyai.cn/237899745/S905L3A/raw/branch/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 自动发现 |
|
||
| 驱动管理器 | 632 | 内网上传安装打印机驱动(可选) |
|
||
|
||
## 自动守护
|
||
|
||
安装脚本会自动启用两个 systemd timer:
|
||
|
||
| 守护 | 作用 |
|
||
|------|------|
|
||
| `cups-network-watchdog.timer` | 每分钟检测网络,连续失败后自动把网卡切回 DHCP |
|
||
| `cups-print-watchdog.timer` | 每分钟检测 CUPS/Avahi/驱动管理器,卡死或异常后自动重启 |
|
||
|
||
配置文件:
|
||
|
||
```bash
|
||
# 网络守护配置,可在里面设置固定 IP、网关、DNS
|
||
nano /etc/cups-watchdog/network-watchdog.conf
|
||
|
||
# 手动切回配置里的固定 IP
|
||
/opt/cups-watchdog/network-watchdog.sh static
|
||
|
||
# 手动切 DHCP
|
||
/opt/cups-watchdog/network-watchdog.sh dhcp
|
||
|
||
# 打印服务守护配置
|
||
nano /etc/cups-watchdog/print-watchdog.conf
|
||
|
||
# 查看守护状态
|
||
systemctl status cups-network-watchdog.timer cups-print-watchdog.timer
|
||
```
|
||
|
||
## 常用命令
|
||
|
||
```bash
|
||
# 查看打印机列表
|
||
lpstat -p -d
|
||
|
||
# 重启 CUPS
|
||
systemctl restart cups
|
||
|
||
# 查看 CUPS 日志
|
||
tail -f /var/log/cups/error_log
|
||
|
||
# 查看守护脚本日志
|
||
tail -f /var/log/cups-watchdog/network.log
|
||
tail -f /var/log/cups-watchdog/print.log
|
||
|
||
# 检查 USB 打印机
|
||
lsusb | grep -i print
|
||
lpinfo -v | grep usb
|
||
```
|
||
|
||
## 支持架构
|
||
|
||
- x86_64 / amd64
|
||
- aarch64 / arm64
|
||
- armv7l / armhf
|
||
|
||
## 文件说明
|
||
|
||
```
|
||
├── setup_cups.sh # 一键安装/卸载脚本
|
||
├── watchdog/ # 网络和打印服务守护脚本
|
||
├── cups-templates-zh_CN/ # 中文界面模板(65个文件)
|
||
├── README.md # 本文档
|
||
└── 刷机教程.md # Armbian 刷机教程
|
||
```
|
||
|
||
## 常见问题
|
||
|
||
### 手机打印提示"不再接受加密的作业"
|
||
脚本现在配置为 `DefaultEncryption IfRequested`,允许 HTTP,也接受客户端主动发起的 HTTPS。如仍提示,通常是客户端缓存了旧队列,删除后重新发现打印机即可。
|
||
|
||
### 手机发送打印任务很慢
|
||
脚本已配置 `HostNameLookups Off` 解决此问题。如果仍然慢,检查网络连接。
|
||
|
||
### 界面显示英文
|
||
确保安装时下载了中文模板。重新运行安装脚本可以修复。
|
||
|
||
### 找不到 USB 打印机
|
||
1. 确认打印机已通过 USB 连接到服务器
|
||
2. 运行 `lsusb` 检查是否识别
|
||
3. 刷新 CUPS 添加打印机页面
|
||
|
||
## 仓库地址
|
||
|
||
- Gitea: https://git.workyai.cn/237899745/S905L3A
|
||
- Gitee: https://gitee.com/yu-yon/S905L3A(镜像)
|
||
|
||
## 更新日志
|
||
|
||
- 2024-12-01: 添加卸载功能、优化打印速度
|
||
- 2024-11-30: 修复 CSS 兼容 CUPS 2.4.7、添加 PDF 打印机选项
|