当前位置:首页>Linux>如何在Linux上搭建打印共享服务器:从CUPS搭建到跨平台客户端连接

如何在Linux上搭建打印共享服务器:从CUPS搭建到跨平台客户端连接

  • 2026-09-09 11:47:03
如何在Linux上搭建打印共享服务器:从CUPS搭建到跨平台客户端连接

如何在Linux上搭建打印共享服务器:从CUPS搭建到跨平台客户端连接

在Linux系统中共享打印机,最主流的方式是使用 CUPS (通用Unix打印系统) 作为基础,并视客户端情况,决定是否配合 Samba 服务。这个方案非常稳定,能良好地支持Windows、macOS和Linux等多种客户端。

这里为你整理了两种主流配置方案的详细步骤,你可以根据网络中的客户端类型来选择。

方案一:仅使用CUPS共享(适用于Linux/macOS客户端)

如果你的局域网内主要是Linux和macOS设备,仅配置CUPS就足够了,它使用IPP(互联网打印协议)进行通信。

1. 在作为服务器的Linux主机上操作

  • • 安装CUPS:在终端中执行以下命令。
    1
    2

    sudo apt updatesudo apt install cups

    注意:对于CentOS/RHEL系统,安装命令为 sudo yum install cups。

  • • 将用户加入管理组:将当前用户添加到lpadmin组,以获得管理打印机的权限。
    1

    sudo usermod -aG lpadmin $USER

    (执行后需重新登录或重启才能使变更生效)

  • • 允许远程管理:启用CUPS的远程管理功能。
    1

    sudo cupsctl --remote-any

  • • 添加并共享打印机:
    1. 1. 在浏览器中访问CUPS管理界面:http://localhost:631。
    2. 2. 点击 Administration (管理) 选项卡,然后选择 Add Printer (添加打印机)。
    3. 3. 根据向导提示,连接并安装你的打印机驱动程序。
    4. 4. 在添加成功的打印机页面,勾选 Share This Printer (共享此打印机)。
  • • 配置防火墙:确保防火墙放行CUPS服务端口。
    1

    sudo ufw allow 631/tcp

    注意:CentOS/RHEL系统使用firewall-cmd,命令为 sudo firewall-cmd --permanent --add-port=631/tcp 和 sudo firewall-cmd --reload。

2. 在客户端(Linux/macOS)上连接

  • • 通过图形界面:
    1. 1. 打开“设置” -> “打印机”。
    2. 2. 点击“添加打印机”。
    3. 3. 选择“网络打印机”。
    4. 4. 在地址栏输入:ipp://<服务器IP地址>/printers/<共享打印机名称>。
      • • 例如:ipp://192.168.1.100/printers/HP_LaserJet_1020。
    5. 5. 按提示完成驱动安装。
  • • 通过命令行(快速添加) :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

    # 安装CUPS客户端工具sudo apt install cups-client# 添加打印队列lpadmin -p myprinter -E -v ipp://192.168.1.100/printers/HP_LaserJet_1020 -m everywhere# 设为默认打印机lpoptions -d myprinter# 打印测试页验证lp -d myprinter /usr/share/cups/data/testprint


方案二:使用CUPS + Samba共享(兼容Windows客户端)

为了让Windows电脑也能方便地发现和使用共享打印机,需要在CUPS的基础上配置Samba服务。

1. 在作为服务器的Linux主机上操作

  • • 前提:请确保已按“方案一”的步骤完成CUPS的安装和打印机共享配置。
  • • 安装Samba:
    1

    sudo apt install samba

  • • 配置Samba:
    1. 1. 编辑Samba配置文件:
      1

      sudo nano /etc/samba/smb.conf

    2. 2. 在[global]部分,确保工作组的设置与你的网络环境一致(通常是WORKGROUP):
      1

      workgroup = WORKGROUP

    3. 3. 找到并修改[printers]共享部分,允许来宾用户访问:
      1
      2
      3
      4
      5
      6
      7
      8

      [printers]    comment = All Printers    browseable = yes    path = /var/spool/samba    printable = yes    guest ok = yes    read only = yes    create mask = 0700

    4. 4. (可选)添加[print$]部分以提供Windows驱动程序下载,这会使客户端体验更好。
      1
      2
      3
      4
      5
      6

      [print$]    comment = Printer Drivers    path = /var/lib/samba/printers    browseable = yes    read only = yes    guest ok = no

    5. 5. 保存文件并退出。
  • • 重启Samba服务:
    1

    sudo systemctl restart smbd

  • • 配置防火墙:放行Samba服务端口。
    1

    sudo ufw allow samba

    注意:CentOS/RHEL系统命令为 sudo firewall-cmd --permanent --add-service=samba 和 sudo firewall-cmd --reload。

2. 在Windows客户端上连接

  • • 方法一:通过网络发现(推荐)
    1. 1. 在文件资源管理器的地址栏输入 \\<服务器IP地址> 并按回车。
    2. 2. 双击出现的共享打印机图标,Windows会自动安装驱动并完成添加。
  • • 方法二:通过“添加打印机”向导
    1. 1. 打开“控制面板” -> “设备和打印机” -> “添加打印机”。
    2. 2. 选择“我所需的打印机未列出”。
    3. 3. 选择“按名称选择共享打印机”,并输入:\\<服务器IP地址>\<共享打印机名称>。
    4. 4. 按向导提示完成安装。

常见问题排查

最新文章

随机文章