CUPS 2.4.1服务器配置:5步开启AirPrint与Windows免驱共享
在家庭或小型办公环境中,旧款打印机往往因为缺乏网络功能而被闲置。通过CUPS(通用Unix打印系统)2.4.1版本,我们可以将这些设备升级为全功能网络打印机,支持苹果AirPrint和Windows免驱打印。本文将详细介绍如何通过五个关键步骤实现这一目标。
1. 基础环境准备与CUPS安装
在开始配置之前,确保您的Linux服务器满足以下条件:
- 运行基于Debian或Ubuntu的系统(其他发行版需调整安装命令)
- 拥有sudo权限的用户账户
- 已通过USB连接打印机并确认设备被系统识别(可通过
lsusb命令验证)
安装CUPS及其相关组件:
sudo apt update sudo apt install -y cups avahi-daemon libnss-mdns关键组件说明:
cups:打印服务核心组件avahi-daemon:实现Bonjour协议,支持AirPrint发现libnss-mdns:提供多播DNS解析支持
安装完成后,验证服务状态:
systemctl status cups正常运行的输出应显示"active (running)"状态。如果服务未自动启动,使用以下命令:
sudo systemctl enable --now cups2. CUPS安全配置与网络共享
CUPS默认配置仅允许本地访问,我们需要修改配置文件以启用网络共享。使用文本编辑器打开配置文件:
sudo nano /etc/cups/cupsd.conf进行以下关键修改(保持其他配置不变):
# 监听所有网络接口 Listen 0.0.0.0:631 # 允许局域网访问 <Location /> Order allow,deny Allow @LOCAL </Location> # 启用打印机共享 Browsing On BrowseLocalProtocols dnssd BrowseRemoteProtocols dnssd保存修改后重启服务使配置生效:
sudo systemctl restart cups防火墙配置(如启用):
sudo ufw allow 631/tcp sudo ufw reload3. 打印机驱动安装与配置
不同品牌打印机需要特定驱动。以惠普P1008为例,演示完整驱动安装流程:
sudo apt install -y hplip安装完成后,运行交互式设置工具:
sudo hp-setup -i按照提示操作:
- 选择连接方式(USB/网络)
- 选择打印机型号
- 当提示需要插件时,按'p'手动指定插件路径
对于其他品牌打印机,可参考以下驱动安装方法:
| 打印机品牌 | 安装命令 | 备注 |
|---|---|---|
| 惠普 | sudo apt install hplip | 需要额外插件 |
| 兄弟 | sudo apt install brlaser | 适用于激光打印机 |
| 佳能 | sudo apt install cndrvcups | 需从官网下载PPD文件 |
| 爱普生 | sudo apt install epson-ink | 喷墨打印机专用驱动 |
驱动问题排查技巧:
- 使用
lpinfo -m查看可用驱动列表 - 从OpenPrinting数据库下载PPD文件:https://www.openprinting.org/printers
- 测试页打印失败时,检查
/var/log/cups/error_log获取详细错误信息
4. AirPrint功能激活
AirPrint功能依赖于Avahi服务正确配置。首先确保服务正常运行:
systemctl status avahi-daemon创建AirPrint服务定义文件:
sudo nano /etc/avahi/services/AirPrint.service添加以下内容(替换为您的打印机信息):
<?xml version="1.0" encoding='UTF-8'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h AirPrint Printer</name> <service> <type>_ipp._tcp</type> <subtype>_universal._sub._ipp._tcp</subtype> <port>631</port> <txt-record>txtvers=1</txt-record> <txt-record>qtotal=1</txt-record> <txt-record>rp=printers/HP_LaserJet_P1008</txt-record> <txt-record>note=Office Printer</txt-record> <txt-record>product=(GPL Ghostscript)</txt-record> <txt-record>printer-state=3</txt-record> <txt-record>printer-type=0x801046</txt-record> <txt-record>URF=DM3</txt-record> </service> </service-group>重启Avahi服务应用更改:
sudo systemctl restart avahi-daemon验证AirPrint功能:
- 在同一网络中的iOS设备上打开照片或文档
- 点击分享图标选择"打印"
- 应能看到您的打印机出现在可用设备列表中
5. Windows免驱打印配置
Windows 10及更高版本原生支持IPP协议,可实现免驱打印。添加打印机步骤如下:
- 打开"设置 > 设备 > 打印机和扫描仪"
- 点击"添加打印机或扫描仪"
- 当列表中未显示打印机时,选择"我需要的打印机不在列表中"
- 选择"使用TCP/IP地址或主机名添加打印机"
- 在主机名或IP地址栏输入:
http://[服务器IP]:631/printers/[打印机名称] - 取消勾选"查询打印机并自动选择要使用的驱动程序"
- 从列表中选择"通用 > 通用IPP打印机"
- 完成安装后打印测试页
常见问题解决方案:
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 打印队列停滞 | 驱动不兼容 | 改用"Generic PostScript Printer"驱动 |
| 无法连接打印机 | 防火墙阻止 | 检查631端口是否开放 |
| 打印乱码 | 字符编码不匹配 | 在CUPS中更换PPD文件 |
| AirPrint设备不可见 | Avahi服务未正确配置 | 检查/etc/avahi/services/下的配置文件 |
| Windows提示需要驱动 | 使用了错误的URL格式 | 确保URL以http://开头且包含端口号631 |
通过以上五个步骤,您的旧打印机已经变身为支持多平台无线打印的现代化设备。实际使用中,建议定期检查CUPS更新以获得更好的兼容性和安全性:
sudo apt update && sudo apt upgrade cups