Ubuntu 安装网络打印机
Ubuntu 使用 CUPS 管理打印队列。添加网络打印机时,优先顺序建议为:IPP/IPPS 自动发现 → 厂商驱动或通用驱动 → AppSocket/JetDirect → LPD。IPP 能携带更多打印能力和状态信息;只有设备不支持 IPP 时,再使用传统 9100 端口。
一、操作前准备
- 获取打印机 IP、型号和所在网络;
- 确认电脑能够访问打印机;
- 从打印机厂商官网下载与 Ubuntu 版本和 CPU 架构匹配的驱动;
- 不要从第三方驱动站下载未知安装包;
- 记录原有打印队列,避免覆盖正在使用的配置。
ping -c 4 打印机IP
nc -vz 打印机IP 631 # IPP
nc -vz 打印机IP 9100 # AppSocket/JetDirect
二、图形界面添加
- 打开“设置—打印机”,点击“添加打印机”。较旧桌面环境可能需要打开“额外打印机设置”。
- 等待系统自动发现打印机。如果出现 IPP 或驱动免安装队列,优先选择并打印测试页。
- 未发现时,选择“网络打印机”,输入打印机 IP。
- 使用 IPP 时,设备 URI 通常类似:
ipp://192.168.32.230/ipp/print
- 使用 AppSocket/HP JetDirect 时,主机填写打印机 IP,端口通常为
9100。
- 系统无法自动识别型号时,再选择厂商提供的 PPD 或驱动包。PPD 必须与型号及功能匹配,不能仅按名称相近选择。
- 设置清晰的队列名称和位置,例如
17F-KOC266、17F打印区,然后打印测试页。
三、使用 CUPS 管理界面
如果图形设置中没有所需选项,可安装并启用 CUPS:
sudo apt update
sudo apt install -y cups
sudo systemctl enable --now cups
systemctl status cups --no-pager
浏览器打开 http://localhost:631/admin 添加打印机。执行管理操作的账号应属于 lpadmin 组:
sudo usermod -aG lpadmin "$USER"
重新登录后生效。不要把 CUPS 管理页面直接开放到互联网。
四、命令行添加示例
以下只是示例,URI 和驱动需要按实际设备修改:
sudo lpadmin -p 17F-printer -E \
-v ipp://192.168.32.230/ipp/print \
-m everywhere
lpstat -t
lp -d 17F-printer /usr/share/cups/data/testprint
支持 IPP Everywhere 的设备优先使用 -m everywhere,可以减少传统 PPD 兼容问题。
五、常见故障
能发现但无法打印
检查队列是否暂停、纸张规格和认证方式:
lpstat -t
lpoptions -p 17F-printer -l
journalctl -u cups --since "30 min ago"
任务长期停留在处理中
查看 /var/log/cups/error_log,必要时临时提高 CUPS 日志级别,问题解决后恢复,避免日志持续增长。
中文乱码或缺少装订、双面功能
更新厂商驱动或选择正确的设备型号,不要通过反复创建多个同 IP 队列解决。检查应用程序使用的字体和页面语言。
打印机 IP 经常变化
在 DHCP 服务器上创建地址保留,或按照网络规范配置静态地址;不要让终端依赖可能变化的临时 IP。
官方参考:Ubuntu CUPS 打印服务文档



