CUPS 打印服务一键配置脚本

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

功能特性

  • 一键安装 CUPS 打印服务
  • 自动配置远程访问和局域网共享
  • 中文 Web 管理界面(含常见驱动选项动态汉化)
  • AirPrint 支持iOS/macOS 自动发现)
  • 虚拟 PDF 打印机(测试连接用)
  • 多种打印机驱动可选
  • 驱动管理器(默认仅允许内网访问)
  • 网络和打印服务守护(断网自动切 DHCPCUPS 卡死自动恢复)
  • 支持一键卸载

快速安装

# 方式一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个文件
├── README.md                  # 本文档
└── 刷机教程.md                # Armbian 刷机教程

常见问题

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

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

手机发送打印任务很慢

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

界面显示英文

确保安装时下载了中文模板。重新运行安装脚本可以修复。

找不到 USB 打印机

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

仓库地址

更新日志

  • 2024-12-01: 添加卸载功能、优化打印速度
  • 2024-11-30: 修复 CSS 兼容 CUPS 2.4.7、添加 PDF 打印机选项
Description
No description provided
Readme 241 KiB
Languages
Shell 71.1%
Python 28.9%