Files
S905L3A/CUPS打印服务配置交接文档.md

226 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CUPS 打印服务配置交接文档
## 概述
本文档记录了 CUPS 打印服务的完整配置过程,包括一键安装脚本、中文汉化、远程访问配置等。
---
## 一、一键安装
### Gitea 仓库
```
https://git.workyai.cn/237899745/S905L3A.git
```
### 一键安装命令
```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
```
### 脚本功能
- 自动检测系统架构x86_64/ARM64/ARMhf
- 可选更换国内镜像源(清华大学)
- 安装 CUPS + AvahiAirPrint 支持)
- 多种打印机驱动可选(通用/HP/爱普生/兄弟/奔图)
- 自动配置远程访问权限
- 安装中文界面模板,包含常见驱动选项动态汉化
- 安装网络和打印服务守护脚本
---
## 二、已安装的服务
| 服务 | 端口 | 用途 |
|------|------|------|
| CUPS | 631 | 打印服务/Web管理界面 |
| Avahi | 5353 | mDNS/AirPrint 自动发现 |
| 驱动管理器 | 632 | 内网上传安装打印机驱动(可选) |
| 网络守护 | systemd timer | 断网后自动切换网卡为 DHCP |
| 打印守护 | systemd timer | CUPS 卡死或异常后自动重启恢复 |
---
## 三、客户端连接方式
### 局域网环境(推荐)
| 客户端 | 连接方式 |
|--------|----------|
| **macOS/iOS** | 自动发现AirPrint无需配置 |
| **Android** | 安装 Mopria Print Service自动发现 |
| **Linux** | 自动发现或手动添加 `ipp://IP:631/printers/打印机名` |
| **Windows** | `\\局域网IP\打印机名` 或 IPP 协议 |
### 公网环境
不建议把 CUPS 或驱动管理器直接暴露到公网。本项目默认按内网使用配置,访问范围使用 `@LOCAL`,驱动管理器也会拒绝非私有网段来源。
---
## 四、CUPS 管理界面
### 访问地址
```
http://服务器IP:631
https://服务器IP:631
```
### 登录凭据
- 用户名root
- 密码SSH 登录密码
### 常用操作
- 添加打印机Administration → Add Printer
- 管理打印队列Printers → 选择打印机
- 查看任务Jobs
---
## 五、重要配置文件
| 文件路径 | 说明 |
|----------|------|
| `/etc/cups/cupsd.conf` | CUPS 主配置文件 |
| `/etc/cups/printers.conf` | 打印机配置 |
| `/etc/cups/ssl/` | SSL 证书目录 |
| `/usr/share/cups/templates-zh_CN/` | 中文界面模板 |
| `/opt/cups-driver-manager/` | 驱动管理器安装目录(可选) |
| `/opt/cups-watchdog/` | 守护脚本安装目录 |
| `/etc/cups-watchdog/network-watchdog.conf` | 网络守护配置,可设置固定 IP、网关、DNS |
| `/etc/cups-watchdog/print-watchdog.conf` | 打印服务守护配置 |
| `/var/log/cups-watchdog/` | 守护脚本日志目录 |
---
## 六、关键配置说明
### cupsd.conf 关键配置
```apache
# 监听所有网络接口
Listen 0.0.0.0:631
# 允许任何主机名访问
ServerAlias *
# 内网允许 HTTP同时接受客户端主动 HTTPS
DefaultEncryption IfRequested
# 中文界面
DefaultLanguage zh
# 允许远程访问
<Location />
Order allow,deny
Allow @LOCAL
</Location>
# 允许远程打印
<Location /printers>
Order allow,deny
Allow @LOCAL
</Location>
```
## 七、常用命令
```bash
# 查看打印机列表
lpstat -p -d
# 重启 CUPS
systemctl restart cups
# 查看 CUPS 日志
tail -f /var/log/cups/error_log
# 检查端口监听
ss -tlnp | grep -E "631|632"
# 查看守护状态
systemctl status cups-network-watchdog.timer cups-print-watchdog.timer
# 手动切 DHCP
/opt/cups-watchdog/network-watchdog.sh dhcp
# 按配置文件手动切回固定 IP
/opt/cups-watchdog/network-watchdog.sh static
# 查看守护日志
tail -f /var/log/cups-watchdog/network.log
tail -f /var/log/cups-watchdog/print.log
```
---
## 八、故障排除
### 问题1Windows 无法连接 IPP 打印机
**原因**:常见原因是客户端缓存了旧队列、服务器 IP 变化,或没有在同一内网网段。
**解决**:删除旧打印机后重新添加,使用 `http://服务器IP:631/printers/打印机名` 或 Windows 设置里的“添加打印机”重新发现。
### 问题2驱动管理器无法打开
**原因**:驱动管理器默认只允许内网来源访问,且需要安装时生成的 `admin` 密码。
**解决**
- 确认客户端和打印服务器在同一内网
- 查看密码:`cat /opt/cups-driver-manager/.password`
- 查看服务状态:`systemctl status cups-driver-manager`
### 问题3打印任务卡住
**解决**
```bash
# 取消所有任务
cancel -a
# 重启 CUPS
systemctl restart cups
```
### 问题4中文界面不生效
**解决**
```bash
# 确保中文模板已安装
ls /usr/share/cups/templates-zh_CN/
# 检查 locale 设置
locale -a | grep zh_CN
```
### 问题5网络守护自动切 DHCP 后要切回固定 IP
**解决**
```bash
nano /etc/cups-watchdog/network-watchdog.conf
/opt/cups-watchdog/network-watchdog.sh static
```
---
## 九、文件清单
```
/root/yuyx/B863AV3.2M刷Armbian教程/
├── setup_cups.sh # 一键安装脚本
├── watchdog/ # 网络和打印服务守护脚本
├── cups-templates-zh_CN/ # 中文界面模板65个文件
├── 刷机教程.md # Armbian 刷机教程
└── CUPS打印服务配置交接文档.md # 本文档
```
---
## 十、待测试项目
- [ ] 局域网 Windows IPP/CUPS 连接
- [ ] 局域网 macOS/iOS AirPrint 自动发现
- [ ] 局域网 Android Mopria 打印
- [ ] 真实 USB 打印机连接测试
- [ ] 断网后网络守护自动切 DHCP
- [ ] CUPS 异常后打印守护自动重启恢复
---
**文档创建时间**2025-11-30
**配置环境**Ubuntu 22.04 / CUPS 2.4