温馨提示×

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):
    • sudo ufw allow 631/tcp

二 作为客户端连接共享打印机

  • 方式 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/共享名
    • 选择驱动(如 GutenprintHPLIP 提供的型号驱动),命名后完成添加,打印测试页验证
  • 方式 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
    • 查看队列与默认打印机:
      • lpstat -p -d
    • 打印测试页:
      • 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 中 ListenAllow 规则;必要时仅对局域网段放行
    • 客户端与服务器时间相差过大时,IPP 可能失败,先校准时间
  • 驱动不匹配或打印异常
    • 优先尝试 Gutenprint 通用驱动;HP 设备使用 HPLIP/hpcups;部分型号需厂商驱动(如 foo2zjs 系列)
  • 防火墙/SELinux
    • 确认 631/tcp 已放行;SELinux 环境下必要时设为 permissive 或配置相应策略
  • USB 打印机未被发现
    • 检查设备权限与 udev 规则,确保用户处于 lp 组,重启 CUPS 后再添加
  • 打印任务卡住
    • 查看队列:lpstat -o;清空队列:cancel -a;重启 CUPS:sudo systemctl restart cups

0