CUPS打印系统完全指南:从安装配置到故障排除

N1盒子通过openwrt的docker安装cups让古董usb打印机实现无线打印和扫描 通过N1 openwrt docker安装cups让usb打印机实现无线打印 阅读详情
AI摘要

本文详细介绍CUPS打印系统的安装、配置、打印机管理和故障排除方法,涵盖跨平台兼容性、IPP协议支持、Web管理界面使用、核心配置文件解析及安全优化策略,适用于Linux和macOS环境下的运维人员。

一、简介

CUPS(Common UNIX Printing System,通用UNIX打印系统)是一个开源的、模块化的打印系统,用于类UNIX操作系统。它最初由Easy Software Products开发,现在由苹果公司维护,已成为Linux和macOS等系统的标准打印架构。

CUPS基于Internet打印协议(IPP),提供了一系列工具和管理界面,支持:

  • 本地和网络打印
  • 打印机发现和共享
  • 打印队列管理
  • 用户权限控制

二、CUPS的优势

1. 跨平台兼容性

支持Linux、macOS、UNIX等多种操作系统

2. 标准化协议

基于IPP(Internet Printing Protocol),兼容性更好

3. 网络打印支持

  • IPP打印
  • LPD/LPR协议
  • Samba共享打印
  • 蓝牙打印
  • 无线打印

4. 驱动程序架构

支持PPD(PostScript Printer Description)文件,兼容大量打印机型号

5. Web管理界面

提供直观的Web配置界面,简化管理操作

三、支持的主流环境

操作系统支持情况备注
Linux发行版原生支持Ubuntu、CentOS、Fedora等默认安装
macOS默认打印系统从OS X 10.2开始使用
FreeBSD/OpenBSD支持通过ports/pkg安装
Windows有限支持通过Samba或IPP客户端

四、安装与基本配置

1. 安装CUPS

Ubuntu/Debian:

sudo apt update
sudo apt install cups cups-client cups-bsd

CentOS/RHEL/Fedora:

sudo yum install cups cups-client
# 或
sudo dnf install cups cups-client

启动CUPS服务:

sudo systemctl start cups
sudo systemctl enable cups  # 开机自启

2. 访问Web管理界面

默认地址:http://localhost:631

启用远程管理:

sudo cupsctl --remote-any
sudo systemctl restart cups

五、打印机管理实战

1. 列出可用驱动程序

# 查看已安装的PPD文件
lpinfo -m | head -20

# 查看可用的USB打印机
lpinfo -v | grep usb

# 查看网络打印机
lpinfo -v | grep socket

2. 添加本地打印机(USB)

方法一:使用命令行

# 查找打印机URI
lpinfo -v

# 示例输出:usb://Brother/HL-2140 series?serial=0000

# 查找合适的驱动程序
lpinfo -m | grep -i brother

# 添加打印机
sudo lpadmin -p Brother-HL2140 -E \
  -v "usb://Brother/HL-2140%20series?serial=0000" \
  -m drv:///brother-pt1.drv/brhl2140.ppd

方法二:使用Web界面

  1. 访问 http://localhost:631/admin
  2. 点击 “Add Printer”
  3. 选择USB打印机
  4. 选择驱动程序或上传PPD文件

3. 添加网络打印机

IPP网络打印机:

sudo lpadmin -p Network-Printer -E \
  -v "ipp://192.168.1.100/ipp/print" \
  -m everywhere

LPD网络打印机:

sudo lpadmin -p LPD-Printer -E \
  -v "lpd://192.168.1.101/queue" \
  -m raw

Windows共享打印机(Samba):

sudo lpadmin -p SMB-Printer -E \
  -v "smb://username:password@workgroup/printserver/printername" \
  -m drv:///sample.drv/generic.ppd

4. 查看和管理打印机

列出所有打印机:

lpstat -p -d

查看打印机状态:

lpstat -p Brother-HL2140

查看打印队列:

lpq -P Brother-HL2140

查看连接协议和URI:

lpstat -v | grep Brother-HL2140

5. 删除打印机

# 禁用并删除打印机
sudo lpadmin -x Brother-HL2140

# 删除打印任务
lprm -

六、配置文件详解

CUPS主要配置文件位于 /etc/cups/:

1. cupsd.conf - 主配置文件

# 监听地址和端口
Listen localhost:631
Listen /var/run/cups/cups.sock

# 允许的网络段
<Location />
  Order allow,deny
  Allow @LOCAL
</Location>

# Web管理权限
<Location /admin>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @LOCAL
</Location>

# 日志级别
LogLevel warn

2. printers.conf - 打印机配置

<DefaultPrinter Brother-HL2140>
  UUID urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  Info Brother HL-2140 Series
  Location Office
  DeviceURI usb://Brother/HL-2140%20series?serial=0000
  State Idle
  StateTime 1640995200
  ConfigTime 1640995200
  Accepting Yes
  Shared No
  JobSheets none none
  QuotaPeriod 0
  PageLimit 0
  KLimit 0
  OpPolicy default
  ErrorPolicy retry-job
</Printer>

3. ppd文件目录

  • /etc/cups/ppd/ - 系统PPD文件
  • /usr/share/cups/model/ - 驱动程序PPD文件

七、故障排除指南

1. 常见问题诊断

检查服务状态:

systemctl status cups
journalctl -u cups -f  # 实时日志

测试打印:

# 测试页
lp -d Brother-HL2140 /usr/share/cups/data/testprint

# 纯文本测试
echo "Test Print" | lp -d Brother-HL2140

2. 常见错误及解决

问题1:权限拒绝

# 解决方案:添加用户到lpadmin组
sudo usermod -aG lpadmin $USER

# 或修改配置文件
sudo cupsctl --user-group=lpadmin

问题2:驱动程序缺失

# 安装附加驱动包
sudo apt install printer-driver-all  # Ubuntu
sudo yum install gutenprint-cups     # RHEL/CentOS

问题3:网络打印机无法连接

# 测试网络连接
telnet 192.168.1.100 631  # IPP端口
telnet 192.168.1.100 9100 # RAW端口

# 使用ipptool测试
ipptool -t -V 1.0 ipp://192.168.1.100/ipp/print get-printer-attributes.test

3. 调试模式

# 启用调试日志
sudo cupsctl LogLevel=debug2
sudo systemctl restart cups

# 查看详细日志
tail -f /var/log/cups/error_log

八、实用技巧与注意事项

1. 性能优化

# 增加最大客户端数
MaxClients 100
MaxClientsPerHost 50

# 调整缓存大小
CacheDir /var/cache/cups

2. 安全配置

# 限制访问IP
<Location />
  Order deny,allow
  Deny from all
  Allow from 192.168.1.0/24
</Location>

# 启用加密
Listen 0.0.0.0:631
DefaultEncryption Required

3. 备份与恢复

# 备份配置
sudo tar -czf cups-backup.tar.gz /etc/cups /var/spool/cups

# 恢复配置
sudo systemctl stop cups
sudo tar -xzf cups-backup.tar.gz -C /
sudo systemctl start cups

4. 使用脚本自动化

创建打印机自动安装脚本:

#!/bin/bash
# install_printer.sh

PRINTER_NAME="Office-Printer"
PRINTER_URI="ipp://192.168.1.100/ipp/print"
DRIVER="everywhere"

echo "Adding printer: $PRINTER_NAME"
sudo lpadmin -p "$PRINTER_NAME" -E -v "$PRINTER_URI" -m "$DRIVER"

if [ $? -eq 0 ]; then
    echo "Printer added successfully"
    echo "Setting as default"
    sudo lpadmin -d "$PRINTER_NAME"
else
    echo "Failed to add printer"
    exit 1
fi

九、高级功能

1. 打印机类(负载均衡)

# 创建打印机类
sudo lpadmin -p printer1 -E -v socket://192.168.1.101
sudo lpadmin -p printer2 -E -v socket://192.168.1.102
sudo lpadmin -p printer-class -E -c printer1 -c printer2

2. 打印过滤器

自定义过滤器位置:/usr/lib/cups/filter/

3. API接口

CUPS提供RESTful API:

# 获取打印机信息
curl http://localhost:631/printers/

# 提交打印作业
curl -X POST -H "Content-Type: application/pdf" \
  --data-binary @document.pdf \
  http://localhost:631/printers/Brother-HL2140
树莓派配置CUPS远程打印服务 把家里吃灰的树莓派安装了CUPS 2.3.3op2,用来做打印机服务器。想法是想把公司的打印机接到树莓派的USB口上,然后家里的电脑添加公司里的网络打印机。在家里的电脑点打印后,公司里的打印机就可以正常打印出内容。但是目前仅限于局域网内的访问,想要在外网(这里只家里)访问内网(这里只公司)的树莓派,还是无法做到的。其实这个界面已经是说明外网成功访问了内网,只不过是CUPS限制了访问请求而已。本章节主要记录一下配置CUPS,以便让家里的电脑可以正常添加到公司的网络打印机。这是可以看到已经可以正常访问了。 阅读详情

相关推荐

linux安装cups与打印机驱动配置共享打印机

sudo systemctl enable cups 添加到cups启动项。2、修改cups配置文件:sudo vim /etc/cups/cupsd.conf。sudo systemctl status cups 查看cups状态。sudo systemctl start cups 启动cups。3、重启cups:sudo systemctl restart cups。1、安装cups:sudo apt install cups。

cyz141001的博客 8840

玩客云刷完海纳思(hinas)安装cups并配置网络打印机

我安装完海纳思后么有看到cups的图标,看来又要自己折腾了设备:玩客云 v1.3安装的镜像是:hinas_s805_eMMC.burn.img在海纳斯的官网上是默认已安装CUPS的,不是为什么给玩客云的这个被删除了,还在这东西自己也可以折腾玩玩,也算是一个不错的体验把。不知道后面还能让我再折腾一点什么出来玩玩呢?

realbear2的博客 2万+

46、CUPS 打印系统全面指南

本文全面介绍了CUPS打印系统的配置与管理,涵盖多打印机队列设置、网络打印、过滤器机制、服务器管理及故障排查等内容。通过命令行工具、GUI配置、高级技巧和性能优化建议,帮助用户高效管理和使用CUPS打印系统,适用于本地与网络环境下的各类打印需求。

jupyter5notebook的博客 80

Linux(Centos 7) 安装CUPS服务器 与 共享使用

CUPS(Common UNIX Printing System,即通用Unix打印系统)是FedoraCore3中支持的打印系统,它主要是使用IPP(Internet PrintingProtocol)来管理打印工作及队列,但同时也支持”LPD”(Line Printer Daemon)和”SMB”(ServerMessage Block)以及Socket等通信协议。 在Unix/Linux发展之初,打印总是会受到各种各样的限制,最初的打印都是用LPD(命令行方式的打印守护程序)

weixin_54141696的博客 9610

一文掌握SourceTree使用(超级详细)

SourceTree是一款开源的代码仓库客户端工具,界面美观,操作简单,具有代码克隆、本地创建、提交代码、撤销修改,拉取(pull)代码、上传(push)代码、合并分支等操作。对于软件开发人员是一款必备的应用软件。

GM_115的博客 3万+

一起学习Avalonia(十三)

Avalonia 前面已经简单介绍了一下相关开发,有一个系统的了解。 到今天Avalonia已经基本成熟,但是扩展支持的还是不可能达到大企业的,我估计这也不可能。考虑了下,微软的MAUI框架可能会普及性更高,Avalonia也是我无意间知道的。 微软毕竟是会宣讲的全球。并且微软全球研发投入很大,全部专职开发,这种速度当然大。但是MAUI根据计划,可能还要很长时间,而且是社区支持Linux,估计时间更久。这不能适应现在的国产化开发。 预计一段时间还是需要Avalonia作为优先。当前Avalonia使

jinyuttt的专栏 4086

N1刷armbian,安装docker和cups(惠普打印机)

自用,网络设置还是没有搞懂

m0_73676027的博客 1万+

图形引擎实战:镭射效果制作分享

该方案的优势1.遵循物理的2.可以使用少量的参数去调控镭射的效果。计算相对简单,缺点仍是颜色不能够自定义,还有一种常见的方案是采样一张镭射贴图来模拟,好处是颜色可以自定义同时性能上还很高效没有复杂的公式计算。我查阅了网上普遍的方案,常见的做法是制作一个Ramp图生成工具,然后将生成好的ramp图赋给材质。这两个方案的好处是美术同学可以手动的去控制镭射的颜色。最后就是Shader中对Ramp图的采样的部分,Ramp图的UV坐标是使用fresnel作为Ramp的U轴坐标,0.5作为V轴坐标。

qq_41166022的博客 1353

archinstall打印服务配置:CUPS与网络打印机集成方案

在Arch Linux系统中,打印服务的配置通常依赖于CUPS(Common UNIX Printing System,通用UNIX打印系统)。本文将详细介绍如何在archinstall环境中配置CUPS服务,并实现网络打印机的集成,帮助用户快速搭建稳定高效的打印解决方案。 ## CUPS服务基础 ### CUPS简介 CUPS是一个开源的打印系统,它允许计算机作为打印服务器,管理本地和网络打印

gitblog_00332的博客 1215

PX4 Gazebo仿真进阶:自定义飞机模型和地图的完整指南

本文详细介绍了如何在PX4 Gazebo仿真中自定义飞机模型和地图模型,包括文件架构解析、参数调整指南、地图定制技巧及常见问题解决方案。通过实战步骤和性能优化建议,帮助开发者高效完成复杂场景的飞行控制算法测试。

weixin_29081101的博客 386

Synares病毒实战:如何从U盘感染中恢复你的Excel和EXE文件(附专杀工具推荐)

本文详细介绍了Synares感染型病毒的典型特征与传播机制,特别是其通过U盘感染Excel和EXE文件的行为。文章提供了一套从应急隔离、诊断到使用专杀工具进行深度清除与文件恢复的完整实战流程,并推荐了有效的安全软件和修复方法,旨在帮助用户最大程度救回重要数据并构建长效安全防护习惯。

weixin_29230649的博客 1820

跨平台开源打印系统终极配置指南:从零到精通CUPS

在当今多平台办公环境中,一个稳定高效的打印系统对于个人用户和企业来说都至关重要。CUPS(Common UNIX Printing System)作为一个跨平台的开源打印系统,不仅支持Linux、macOS等UNIX系统,还能在Windows环境下运行,为不同操作系统的用户提供统一的打印解决方案。本文将带你从零开始,全面掌握CUPS的配置技巧,让你成为打印系统管理的高手!👍 ## 理解CUPS

gitblog_00487的博客 1008

华为OD机考双机位C卷 - 斗地主之顺子 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 斗地主之顺子(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 9693

Sway打印服务:CUPS集成与打印机配置

Sway作为一款现代化的i3兼容Wayland合成器,虽然本身不直接提供打印服务功能,但可以完美集成Linux系统的标准打印解决方案——CUPS(Common UNIX Printing System,通用UNIX打印系统)。本文将详细介绍在Sway环境下配置和使用打印服务的完整流程。 ## CUPS打印系统基础 ### 什么是CUPS? CUPS是Linux和类UNIX系统的标准打印系统,...

gitblog_00831的博客 1020

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

视觉人机器视觉的博客 2639

【AI编程干货】Vibe Coding 技巧(适用于AI编程IDE)

用 AI 写代码这件事门槛低,谁都能对着对话框输入几句话让它生成代码,但生成的东西能不能用、出了问题能不能兜住,这中间的差距比想象中大得多。 我从去年开始把 AI 编码工具作为主力开发手段,中间经历过项目失控、代码雪崩、反复返工,慢慢摸索出一套相对稳定的工作方式。这篇把核心的五个习惯拆开聊聊,都是实际项目里验证过的。

blues_C的博客 621

CUPS打印系统终极指南:从零开始掌握开源打印技术

想要在Linux或macOS系统上实现高效打印管理?🎯 CUPS(通用UNIX打印系统)正是你需要的解决方案!作为Apple开发的开源打印系统,CUPS基于标准的Internet打印协议(IPP),为各类UNIX系统提供了强大的打印服务支持。 ## 🚀 快速上手:5分钟完成CUPS配置 ### 安装CUPS打印服务 根据你的操作系统选择合适的安装方式: **Ubuntu/Debian系统

gitblog_00576的博客 1000

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

如何高效配置企业级打印系统:CUPS Web界面实战指南

**CUPS(Common UNIX Printing System)** 是由Apple开发的开源打印系统,为macOS和类UNIX操作系统提供完整的打印解决方案。作为基于标准的打印系统,CUPS通过直观的Web界面让管理员能够轻松配置打印队列、管理打印机和监控作业状态,彻底改变了传统命令行配置的复杂性。本文将深入探讨CUPS Web界面的核心功能、配置技巧和最佳实践,帮助企业技术团队快速构建稳

gitblog_00956的博客 827

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

终极CUPS打印系统配置指南:10分钟快速上手

每天面对打印机连接失败、打印队列堵塞、格式不兼容等问题,你是否感到无比沮丧?传统打印系统的复杂性让无数用户头疼不已。CUPS打印系统作为开源打印解决方案的领导者,能够彻底解决这些痛点,为你带来前所未有的顺畅打印体验。 ## CUPS打印系统:重新定义打印效率 CUPS(Common UNIX Printing System)是一个基于标准的开源打印系统,采用现代化的IPP(Internet P

gitblog_01067的博客 1132

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

OpenPrinting CUPS完全指南:从入门到精通的开源打印系统教程

OpenPrinting CUPS是一款基于标准的开源打印系统,专为Linux和类Unix操作系统设计。它支持AirPrint、IPP Everywhere打印机、网络和本地USB打印机,提供命令行与Web界面双重管理方式,是构建高效打印环境的理想选择。 ## 🖨️ 什么是CUPS?深入了解开源打印系统 CUPS(Common Unix Printing System)是一个模块化的打印系统

gitblog_00402的博客 405

CUPS打印系统完全攻略:从零开始掌握企业级打印管理

还在为复杂的打印配置而头疼吗?想要一个既简单又强大的打印解决方案?CUPS(Common UNIX Printing System)正是你需要的答案!作为开源打印系统的标杆,CUPS让打印变得前所未有的简单高效。📄✨ ## 🎯 CUPS打印系统核心功能详解 ### 智能化打印队列管理 CUPS提供完整的打印队列管理功能,能够自动处理: - 多任务并行打印调度 - 打印优先级智能分配 -

gitblog_00605的博客 526

如何快速掌握CUPS开源打印系统:从零配置到高效管理完整指南

Apple CUPS开源打印系统作为业界标准的打印解决方案,为macOS和类UNIX系统提供了强大而稳定的打印管理功能。这个基于Internet Printing Protocol(IPP)的系统不仅支持本地和网络打印机,还提供了Web界面、命令行工具和C API等多种管理方式,让打印管理变得前所未有的简单高效。无论你是个人用户还是企业IT管理员,CUPS都能帮助你构建专业的打印环境,实现跨平台的

gitblog_00010的博客 733

CUPS打印系统实战指南:企业级开源打印解决方案深度解析

CUPS(Common Unix Printing System)是Apple开发的开源打印系统,为macOS和类UNIX操作系统提供基于互联网打印协议(IPP)的标准化打印解决方案。作为技术决策者和开发者,掌握CUPS意味着能够构建稳定、高效、可扩展的企业打印基础设施,实现从本地USB打印机到跨互联网打印服务的统一管理。 ## 价值主张与定位:为什么CUPS是现代打印基础设施的首选? CUP

gitblog_00516的博客 967

如何快速配置Linux打印机:CUPS与HPLIP终极指南

在Linux系统中配置打印机常常让新手感到困惑,但实际上通过正确的工具和步骤,你可以轻松完成打印机设置。本文将为你提供从基础安装到高级配置的完整解决方案。 ## 快速开始:打印机配置检查清单 在开始详细配置前,先确认你的准备工作是否完成: | 检查项目 | 状态 | 说明 | |---------|------|------| | 打印机型号确认 | □ | 记录打印机品牌和型号 | | 连

gitblog_01037的博客 566

基于Web的CUPS打印系统配置与管理:实现高效打印队列管理

CUPS(Common UNIX Printing System)作为Apple开发的开源打印系统,通过其Web界面为系统管理员提供了直观的打印队列配置和管理解决方案。本文将深入探讨CUPS Web界面的技术实现、配置调优和故障排除,帮助技术爱好者和系统管理员构建稳定高效的打印环境。 ## CUPS系统架构与Web管理原理 CUPS采用模块化设计,其Web界面基于CGI技术实现,通过cupsd

gitblog_00434的博客 1025

CUPS Web界面管理:通过浏览器轻松配置打印队列

CUPS(Common UNIX Printing System)是由Apple开发的基于标准的开源打印系统,广泛应用于macOS和类UNIX操作系统。其直观的Web界面让用户无需复杂命令行操作,即可轻松完成打印队列配置、打印机管理和作业监控等任务。 ## 为什么选择CUPS Web界面? 传统打印服务器配置往往需要记住繁琐的命令参数,而CUPS提供的Web管理界面具有以下优势: - **直观

gitblog_00476的博客 1240
上一篇: DNS入门完全指南:从原理到配置,一篇文章读懂域名解析
下一篇: rsync远程文件同步实用指南
FED_AF
博客等级 码龄11年 21粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值