CUPS 打印服务一键配置脚本

适用于 Armbian / Debian / Ubuntu 系统,支持 x86_64 和 ARM 架构。

功能特性

  • 一键安装 CUPS 打印服务
  • 自动配置远程访问和局域网共享
  • 中文 Web 管理界面(含常见驱动选项动态汉化)
  • AirPrint 支持(iOS/macOS 自动发现)
  • 虚拟 PDF 打印机(测试连接用)
  • 多种打印机驱动可选
  • 驱动管理器(默认仅允许内网访问)
  • 网络和打印服务守护(断网自动切 DHCP,CUPS 卡死自动恢复)
  • 静态 IP 支持网关变更自愈:先切 DHCP,再按原静态 IP 尾号迁移到新网段
  • 支持一键卸载

快速安装

# 方式一: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

卸载

# 下载脚本
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/驱动管理器,卡死或异常后自动重启

配置文件:

# 网络守护配置,可在里面设置固定 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

常用命令

# 查看打印机列表
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个文件)
├── cups-docroot-zh_CN/        # CUPS 中文首页和前端汉化脚本
├── README.md                  # 本文档
└── 刷机教程.md                # Armbian 刷机教程

常见问题

手机打印提示"不再接受加密的作业"

脚本现在配置为 DefaultEncryption IfRequested,允许 HTTP,也接受客户端主动发起的 HTTPS。如仍提示,通常是客户端缓存了旧队列,删除后重新发现打印机即可。

手机发送打印任务很慢

脚本已配置 HostNameLookups Off 解决此问题。如果仍然慢,检查网络连接。

更换路由器或网关后找不到打印服务器

网络守护会在连续检测失败后先切换到 DHCP 恢复连接。如果发现 DHCP 获取到的新网关和原静态网关不同,会保留原静态 IP 的最后一段,例如 192.168.11.219 的 219,自动改成新网段下的 x.x.x.219。

界面显示英文

确保安装时下载了中文模板、中文首页和前端汉化脚本。重新运行安装脚本可以修复。

找不到 USB 打印机

  1. 确认打印机已通过 USB 连接到服务器
  2. 运行 lsusb 检查是否识别
  3. 刷新 CUPS 添加打印机页面

仓库地址

更新日志

  • 2024-12-01: 添加卸载功能、优化打印速度
  • 2024-11-30: 修复 CSS 兼容 CUPS 2.4.7、添加 PDF 打印机选项
S
Description
No description provided
Readme
494 KiB
Languages
Shell 47.7%
Python 44.1%
JavaScript 7.2%
HTML 1%