Debian挂载打印机共享
小樊
35
2025-12-27 22:38:41
Debian 挂载并使用共享打印机的实用步骤
一 准备与安装
- 安装打印系统与服务端组件(Debian 11/12 均适用):
- sudo apt update
- sudo apt install cups cups-client cups-bsd foomatic-filters printer-driver-gutenprint
- 对于 HP 设备:sudo apt install hplip hplip-gui
- 启动并开机自启 CUPS:
- sudo systemctl enable --now cups
- 将当前用户加入 lpadmin 组,便于管理打印机(注销后重新登录生效):
- sudo usermod -aG lpadmin $USER
- 防火墙放行 631/tcp(如使用 ufw):
二 作为客户端连接共享打印机
- 方式 A(推荐)通过 CUPS Web 界面添加
- 浏览器访问:http://localhost:631
- 进入 Administration → Add Printer,选择“Network Printer”
- 若共享端是 CUPS/SMB 打印机,可直接选择或通过“Find Network Printer”搜索;若已知地址,可粘贴类似:
- CUPS 打印机 URI:http://打印服务器IP:631/printers/打印机名称
- SMB 打印机 URI:smb://用户名:密码@打印服务器IP/共享名
- 选择驱动(如 Gutenprint、HPLIP 提供的型号驱动),命名后完成添加,打印测试页验证
- 方式 B 命令行快速添加
- 示例(IPP,常见于 CUPS 共享):
- lpadmin -p Office-Printer -E -v ipp://192.168.1.100/ipp/print -m everywhere
- 示例(SMB 共享,按实际替换用户名/密码/共享名):
- lpadmin -p Office-Printer -E -v smb://user:pass@192.168.1.101/HP402dn -m everywhere
- 查看队列与默认打印机:
- 打印测试页:
- lp -d Office-Printer /usr/share/cups/data/testprint
- 备注
- 若共享端为 Windows 打印机,优先使用其 SMB/CUPS 共享地址;Linux 端一般无需额外安装 Samba 客户端即可通过 SMB 打印
三 作为服务器共享本机打印机
- 启用共享(服务器端)
- 编辑 /etc/cups/cupsd.conf:
- 将监听改为:Port 631 或 Listen 0.0.0.0:631
- 在 与 <Location /admin> 段内设置访问控制,例如:
- Order deny,allow
- Allow @LOCAL
- 或指定子网:Allow 192.168.1.0/24
- 重启服务:sudo systemctl restart cups
- 在 CUPS Web 界面(http://服务器IP:631)中,进入 Administration → Add Printer,添加本地 USB/并口 打印机,勾选“Share This Printer”
- 客户端按“二”的方法添加该服务器的共享打印机(使用其 IP 与打印机路径)
四 常见问题与排查
- 访问被拒绝或看不到打印机
- 核对 cupsd.conf 中 Listen 与 Allow 规则;必要时仅对局域网段放行
- 客户端与服务器时间相差过大时,IPP 可能失败,先校准时间
- 驱动不匹配或打印异常
- 优先尝试 Gutenprint 通用驱动;HP 设备使用 HPLIP/hpcups;部分型号需厂商驱动(如 foo2zjs 系列)
- 防火墙/SELinux
- 确认 631/tcp 已放行;SELinux 环境下必要时设为 permissive 或配置相应策略
- USB 打印机未被发现
- 检查设备权限与 udev 规则,确保用户处于 lp 组,重启 CUPS 后再添加
- 打印任务卡住
- 查看队列:lpstat -o;清空队列:cancel -a;重启 CUPS:sudo systemctl restart cups