为什么打印机无法连接?

在Linux系统中共享打印机,能让多台设备(包括其他Linux、Windows或macOS)通过网络使用同一台打印设备,以下是详细的操作指南,遵循CUPS(Common UNIX Printing System) 这一标准方案,兼顾安全性与兼容性:

  • 通过USB或网络将打印机连接到Linux主机。
  • 在终端输入 lpinfo -v,检查系统是否识别打印机(出现 usb://...dnssd://... 等路径即成功)。
  1. 安装必要工具
    sudo apt update && sudo apt install cups avahi-daemon  # Debian/Ubuntu
    sudo dnf install cups avahi  # Fedora/CentOS
    • cups:打印服务核心。
    • avahi:实现局域网自动发现(类似Bonjour)。

配置CUPS共享打印机

步骤1:启用CUPS远程访问与共享

   sudo cupsctl --remote-any  # 允许任意IP访问
   sudo systemctl restart cups

步骤2:通过Web界面配置打印机

  1. 打开浏览器访问:http://localhost:631/admin
  2. 点击 Add Printer
    • 选择已识别的打印机(如 USB Printer #1)。
    • 设置共享名称(建议无空格,如 OfficePrinter)。
  3. 勾选 Share This Printer(关键步骤)。
  4. 安装驱动:
    • 优先选择打印机品牌官方驱动(如HP用hplip)。
    • 若无匹配驱动,选通用PPD(如Generic PostScript Printer)。

步骤3:修改CUPS配置文件(可选)

   sudo nano /etc/cups/cupsd.conf

修改以下字段确保共享权限:

   Listen *:631                      # 监听所有接口
   <Location />
     Allow all                      # 允许所有用户
   </Location>
   <Policy default>
     <Limit Send-Document Send-URI>
       Require user @OWNER @SYSTEM
     </Limit>
   </Policy>

重启服务生效:sudo systemctl restart cups


其他系统连接共享打印机

► Linux客户端

  1. 自动发现(推荐):
    • 打开系统设置 → 打印机 → 自动搜索网络打印机(协议:IPP)。
    • 或手动添加:URI格式 ipp://<主机IP>/printers/OfficePrinter
  2. 终端命令添加
    lpadmin -p OfficePrinter -E -v ipp://192.168.1.100/printers/OfficePrinter -m everywhere

► Windows客户端

  1. 打开 控制面板 → 设备和打印机 → 添加打印机
  2. 选择 “按地址添加打印机” → 协议选 HTTP,URL填写:
    http://<Linux主机IP>:631/printers/OfficePrinter
  3. 安装对应驱动(从Windows库选择或手动上传)。

► macOS客户端

  • 系统设置 → 打印机与扫描仪 → 点击”+” → 自动发现共享打印机(协议:IPP)。

高级共享方案:Samba(兼容旧版Windows)

若需支持SMB协议(如Windows XP/7):

  1. 安装Samba:
    sudo apt install samba
  2. 编辑Samba配置:
    sudo nano /etc/samba/smb.conf

    末尾添加:

    [printers]
    path = /var/spool/samba
    browseable = yes
    printable = yes
    guest ok = yes
    create mask = 0700
  3. 重启服务:
    sudo systemctl restart smbd
  4. Windows客户端通过 \\<Linux主机IP>\OfficePrinter 添加。

故障排查

问题 解决方法
客户端找不到打印机 检查防火墙:sudo ufw allow 631/tcp
打印任务卡住/失败 清除队列:sudo cancel -a -x
Windows提示驱动错误 在Windows端手动安装匹配驱动
权限拒绝(403 Forbidden) 确保cupsd.confAllow all生效

安全建议

  1. 限制访问IP
    cupsd.conf中用 Allow from 192.168.1.* 替代 Allow all
  2. 启用加密
    访问 https://localhost:631(需配置SSL证书)。
  3. 定期更新
    sudo apt update && sudo apt upgrade cups  # 保持CUPS最新

Linux通过CUPS实现打印共享,兼顾高效性与跨平台兼容性,配置时注意驱动匹配与网络权限,90%的故障可通过检查防火墙和CUPS日志(/var/log/cups/error_log)解决,对于企业环境,建议启用用户认证(通过cupsd.conf设置Require user @AUTH)提升安全性。

引用说明

  • 官方CUPS文档:https://www.cups.org/doc/
  • Linux基金会打印工作组标准:https://openprinting.github.io/
  • Samba共享配置参考:https://www.samba.org/samba/docs/

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4755.html

(0)
酷番叔酷番叔
上一篇 2025年6月17日 09:45
下一篇 2025年6月17日 09:56

相关推荐

  • Linux如何解压bin文件?

    在Linux系统中,bin文件并非标准压缩格式,其内容可能因来源不同而差异较大,可能是二进制可执行文件、自解压脚本、光盘镜像(如ISO)或经过特定工具压缩的数据,解压bin文件需先明确其类型,再选择对应方法,本文将详细讲解不同类型bin文件的识别与解压步骤,帮助用户高效处理此类文件,判断bin文件类型:关键第一……

    2025年9月10日
    5000
  • 如何安全删除Linux系统用户文件的操作步骤与注意事项?

    在Linux系统中删除用户文件是一项需要谨慎操作的任务,因为错误的删除可能导致系统故障或数据丢失,无论是删除特定用户的个人文件,还是彻底移除用户及其所有关联数据,都需要遵循规范的流程,并充分理解操作的影响,本文将详细讲解不同场景下的文件删除方法、注意事项及常用工具,帮助用户安全、高效地完成操作,删除前的准备工作……

    2025年9月15日
    4200
  • linux如何把一个文件夹下

    Linux中,可使用“mv 源文件夹/* 目标文件夹/”命令把一个

    2025年8月18日
    5400
  • 硬盘装Linux竟如此简单?

    创建Linux启动盘,备份数据后启动安装程序,手动或自动分区硬盘(分配根目录/、交换空间swap等),选择安装位置,设置用户名密码,安装完成后重启进入新系统。

    2025年8月5日
    5900
  • 如何在Linux系统安装QQ软件?

    在Linux系统中安装QQ一直是许多用户关注的问题,由于腾讯官方对Linux原生客户端的支持有限,目前主要通过官方Linux版、Wine兼容层或第三方工具实现,以下是几种主流安装方法的详细步骤及注意事项,安装官方Linux版QQ(推荐首选)腾讯曾推出过Linux原生QQ客户端,基于Electron开发,支持Ub……

    2025年9月18日
    4600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信