惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
Webroot Blog
Webroot Blog
GbyAI
GbyAI
S
SegmentFault 最新的问题
Cyberwarzone
Cyberwarzone
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 【当耐特】
S
Secure Thoughts
酷 壳 – CoolShell
酷 壳 – CoolShell
AWS News Blog
AWS News Blog
Engineering at Meta
Engineering at Meta
S
Security Affairs
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
Hugging Face - Blog
Hugging Face - Blog
Google DeepMind News
Google DeepMind News
Spread Privacy
Spread Privacy
T
Threatpost
Forbes - Security
Forbes - Security
C
Cisco Blogs
Scott Helme
Scott Helme
Attack and Defense Labs
Attack and Defense Labs
Simon Willison's Weblog
Simon Willison's Weblog
腾讯CDC
The Last Watchdog
The Last Watchdog
Cloudbric
Cloudbric
Last Week in AI
Last Week in AI
Recorded Future
Recorded Future
小众软件
小众软件
V
Vulnerabilities – Threatpost
美团技术团队
人人都是产品经理
人人都是产品经理
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
Hacker News - Newest:
Hacker News - Newest: "LLM"
I
Intezer
月光博客
月光博客
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - 司徒正美
C
Cybersecurity and Infrastructure Security Agency CISA
Martin Fowler
Martin Fowler
博客园 - 聂微东

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
终于可以在 Linux 下愉快打印了:Linux 发行版配置打印机攻略 - 少数派
2024-07-15 · via 少数派

在办公用的操作系统领域,Windows 常年傲视群雄。而近年来,政、企等单位操作系统国产化的进程,让「竞争对手」Linux 的市场份额有所提高 —— 越来越多的政府机构、国有企业都将既有的 Windows 电脑更换为国产电脑,配备银河麒麟、统信 UOS 等国产 Linux 发行版。

不过,对于运维人员来说,面对办公必备的装备——打印机,配置工作并不是那么好做:

  • 原本在 Windows 下,你可以轻松配置打印机。只需插上打印机,下载驱动,运行安装程序,安装完成后就可以马上打印了。
  • 相反,包括国产 Linux 在内的各类发行版,打印机无法即插即用。配置步骤非常繁琐,配套软件、技术支持常常遍地难寻,还要处理各种可能的 Bug,挑战性不小。

好在,这些困难都是可以一一化解的。

笔者在给自己的 Linux 主力机配置打印机时,在一次次的「踩坑」中,积累了不少有用的经验。在这篇文章里,且看我抽丝剥茧,抓住 Linux 打印机配置问题的本质,带领大家一步步完成配置,最终在 Linux 下畅享优质、便捷的打印体验。

熟悉 Windows 的读者都知道,在 Windows 下,打印机作为硬件设备直接由系统管理,是要安装驱动的。安装打印机驱动的过程,和显卡、声卡、网卡等基础硬件如出一辙。

然而,在 Linux 则不同。打印机采用基于软件的 CUPS(Common Unix Printer Service,通用 Unix 打印服务)来管理。CUPS 是苹果公司推出的打印机管理套件,广泛应用于 macOS 与各大 Linux 发行版。

在 Linux 下,打印机不需要安装专门的硬件驱动1,相反你只需要根据你的打印机型号,为CUPS 提供相应的「驱动文件」。这里的「驱动文件」,并不是直接从系统底层操纵设备的驱动,相反更多相当于软件配置,包括(但不限于)打印机的配置文件、过滤器2等。

CUPS 理论上支持市面上绝大部分的打印机,适用面非常广,支持(但不限于)以下几种连接:

  • USB 有线连接
  • IPP(Internet Printer Protocol,Internet 打印机协议):普及度最高的网络打印机协议
  • LPD/LPR:另一种打印机协议,稳定性高
  • SMB:支持访问Windows共享的打印机
  • 蓝牙连接

管理方面,Linux 发行版普遍使用 system-config-printer 这款工具来管理打印机,类似于 Windows 控制面板的「设备和打印机」。它是通用于各款发行版的打印机管理工具,由 RedHat 团队开发,界面简洁、体积轻巧,操作流程有章可循。

部分桌面环境,如 Gnome、KDE、深度桌面(DDE),也提供了自己的打印机管理工具。为方便起见,接下来将全程使用 system-config-printer 来演示。其余桌面环境自带工具的操作思路是相通的34

准备工作:安装必要的软件包

想要顺畅地使用 CUPS 来管理打印机,首先要安装一系列软件包。

一般地,像 Ubuntu、Deepin、Zorin OS 这样的「新手向」发行版,安装时就已经配置好了CUPS 支持,开箱即用。而对于 Arch Linux、Gentoo 等「玩家向」的发行版,则需要自行配置。

安装、启用 CUPS

通常 CUPS 主要包含以下常用软件包:

软件包名说明
cupsCUPS 的本体。通常各大发行版的 CUPS 软件包是一站式的(即「meta package」),能够帮你安装 CUPS 的各个核心组件
cups-browsed用于搜索网络上采用 IPP 的打印机,也可以与其他电脑上安装的CUPS联动。若你希望连接 IPP 的打印机,则需要安装这个包。
bluez-cups用于连接蓝牙打印机。该包属于 Linux 蓝牙协议栈 BlueZ 的模块,若你希望通过蓝牙打印,则需要安装这个包。
cups-pdfCUPS 提供的 PDF 打印机,用于将文档打印成PDF格式。类似于 Microsoft Print To PDF 与 Foxit PDF Printer。

注:除 CUPS 外,其余的都是可选组件。

各大 Linux 发行版都收录了 CUPS,按照以下命令安装(其中可选组件根据你的需求安装)。常用的发行版安装命令如下:

# Arch Linux
sudo pacman -Sy cups cups-browsed bluez-cups cups-pdf

# Debian及衍生版,如:Ubuntu / Deepin / 银河麒麟 / UOS
sudo apt update
sudo apt install cups cups-browsed bluez-cups cups-pdf

# OpenSUSE
sudo zypper install cups cups-browsed bluez-cups cups-pdf

# Fedora
sudo dnf install cups cups-browsed bluez-cups cups-pdf

安装完成后,你需要启动 CUPS 服务:

# 启用CUPS基本服务
sudo systemctl enable cups      # 启用CUPS服务
sudo systemctl start cups       # 立即启动CUPS服务

# 若安装了cups-browsed,你也要单独启用它,因为它是一个独立的服务
sudo systemctl enable cups-browsed
sudo systemctl start cups-browsed

安装打印机管理工具:system-config-printer

system-config-printer 同样收录在发行版的软件仓库中,可以直接安装。部分发行版(如Manjaro、Linux Mint、银河麒麟)也有预装。

常用的发行版安装命令如下:

# Arch Linux
sudo pacman -Sy system-config-printer

# Debian及衍生版,如:Ubuntu / Deepin / 银河麒麟 / UOS
sudo apt update
sudo apt install system-config-printer

# OpenSUSE
sudo zypper install system-config-printer

# Fedora
sudo dnf install system-config-printer

安装主机解析工具 nss-mdns

CUPS 使用 Avahi 来搜索网络打印机。Avahi 是 Linux 上用于搜索网络设备的客户端(基于 mDNS/DNS-SD 协议),兼容苹果的 Bonjour 服务。

但是,在有的电脑上,光有Avahi还不够5——CUPS 能搜索到打印机,但是只能解析打印机的主机名6,却无法解析主机名对应的 IP 地址。主机名并不是域名,仅靠主机名,没有 IP 地址,你是连不上打印机的。

为了补齐这一短板,我们还需要安装 nss-mdns 软件包,它为 Avahi 提供解析网络打印机等网络设备 IP 地址的支持。由于该软件包只是 Avahi 的可选包,我们必须手动安装。

# Arch Linux
sudo pacman -Sy nss-mdns

# Debian及衍生版,如:Ubuntu / Deepin / 银河麒麟 / UOS
sudo apt update
sudo apt install libnss-mdns

# OpenSUSE
sudo zypper install nss-mdns

# Fedora
sudo dnf install nss-mdns

安装打印机驱动包——Foomatic-db

要想正式开始打印,还需要安装打印机驱动包。笔者在上一章提到,这里的「驱动」相当于软件配置,由 CUPS 调用。想要在 Linux 下安装打印机驱动,就离不开 Foomatic-db

Foomatic-db 是一套打印机数据库,收录了各大品牌主流型号打印机的配置文件(以 XML 格式编写)。这些配置文件通过配套的 Foomatic-db-engine 工具,转换为 PPD(PostScript Printer Description,PostScript 打印机描述)文件,CUPS 就是根据 PPD 文件来操作打印机的。

一般各大发行版都提供了 Foomatic-db 数据库,以及开箱即用的 PPD 文件合集,无须安装 Foomatic-db-engine 即可使用。

常用发行版的安装命令如下,注意不同发行版要安装的软件包差异极大,请注意区分

# Arch Linux
sudo pacman -Sy foomatic-db foomatic-db-ppds                 # 采用开源协议分发的驱动,支持型号较多
sudo pacman -S foomatic-db-nonfree foomatic-db-nonfree-ppds  # 非开源驱动,通常是厂商的专有驱动程序。支持型号较少

# Debian及衍生版,如:Ubuntu / Deepin / 银河麒麟 / UOS
sudo apt update
sudo apt install foomatic-db foomatic-db-compressed-ppds     # 打印机驱动
sudo apt install foomatic-filters                            # 打印机过滤器

# Fedora
sudo dnf install foomatic-db foomatic-db-ppds foomatic-db-filesystem

注意:OpenSUSE 的软件仓库没有收录 Foomatic-db。希望使用 OpenSUSE 的读者在评论区分享自己配置打印机的经验。

连接USB有线打印机

CUPS 与 Foomatic 驱动包安装好之后,我们就可以着手连接打印机了。如果以 USB 有线方式连接打印机,那么配置相对会简单很多。

在接下来的操作之前,你需要开启打印机,用 USB 线缆将打印机与电脑连接起来。

检查设备连接情况

连接之后,可以使用 lsusb 工具来检测打印机是否正确连接。7在终端中运行 lsusb,此时会列出所有已连接的 USB 设备。

若打印机已连接,则列表中会显示它的厂商名和型号。

启动 system-config-printer,开始添加打印机

通常 system-config-printer 会出现在程序列表里,命名为「打印设置」「打印机配置」等,图标为一台打印机。运行后的界面如下图所示:

system-config-printer 的主界面

点击工具栏的「添加」按钮,启动打印机添加向导。此时,程序会自动扫描当前已连接的打印机,需要等待几秒钟,USB 打印机才会出现在列表中。

笔者手上没有 USB 打印机,无法展示连接打印机后的截屏。实践中,连接的 USB打印机大致会出现在「输入 URI」这一项的下面。

选中 USB 打印机,然后点击「转发」按钮8此时程序会加载驱动列表,注意这个过程耗时较长,需要你耐心等待。

选择厂商与驱动程序

在接下来的界面中,找到你打印机的厂商:

选择打印机的厂商

紧接着,选择打印机型号,随后在右侧会列出该型号支持的驱动。我们优先选择标注有「推荐」的项目。

选择打印机型号,以惠普打印机为例。

为打印机命名

向导的最后一步,程序会让你给打印机命名。其中:

项目说明
打印机名称

是打印机的唯一标识符。

由英文、数字与分隔符「-」组成,不能带空格。

描述

则是在各个软件的「打印」对话框里显示的打印机名称。

建议填写打印机型号、用途等易于分辨的名字。

填写打印机的名称与描述。

设置完成后,单击「应用」,打印机就添加到了列表中。此时程序会询问你是否打印测试页,你可以打印一张测试页来检查打印机的连接情况。9

打印机添加成功。

如果打印机连接正常,稍等片刻就会开始打印。

记得曾经在单位折腾打印机,失败多次后终于选择了正确的驱动,那一刻,听到打印机工作的声响,仿佛就是见证奇迹的时刻,欣喜之情不言而喻。

打印出的测试页类似于这样。

Wi-Fi 无线连接打印机

越来越多的打印机开始摆脱数据线和网线的束缚,支持 Wi-Fi 连接,无疑提升了打印的便捷性。CUPS 对网络打印功能提供了完备的支持,局域网中的 Wi-Fi 打印机自然不在话下,操作步骤与 USB 连接大致相同。

准备工作

在接下来的操作之前,你需要:

  • 确保打印机和电脑连接到同一局域网里;
  • 打印机以固定 IP 地址的方式连接,因为后续的步骤需要直接用到打印机的 IP 地址。

选择打印机连接方式

启动 system-config-printer,点击工具栏上的「添加」按钮,打开添加打印机向导。

展开界面左侧「网络打印机」,稍等片刻,连接在局域网上的打印机就会出现在列表中。

列表中的Brother DCP-B7535DW就是搜索到的网络打印机。其中,第一次出现是以DNS-SD或LPD/LPR方式连接,而第二次出现则是以IPP方式连接。

往往一台打印机支持多种连接方式,包括 IPP、DNS-SD10、LPD/LPR。因此,正如上面的插图所示,同一台打印机有可能会在列表出现两次(一个是IPP,另一个是其他协议)。你可以根据自己的需要来选择。

就笔者的经验而言:

  • IPP 支持的设备最多,与之关联的 IPP Everywhere™ 还可让打印机真正「免驱」使用(不再依赖厂商的驱动程序)。但是,部分打印机使用IPP时性能不佳,甚至无法连接。11
  • LPD/LPR 兼容性最强,可以解决一些设备的兼容性问题,性能不弱。12
  • DNS-SD 是 IPP 的备用连接方式,体验与 IPP 类似。

连接方式一:IPP Everywhere™

较新的打印机支持 IPP Everywhere™ 技术,无须准备驱动,直接连接打印机即可。因此不妨优先选择。

第一步:在system-config-printer 中,以 IPP 方式连接的打印机,在列表中显示的格式为「打印机型号(<打印机型号名>._ipp._tcp.local)」。选中该项目,右侧的「连接」列表中会显示「Driverless IPP(免驱动的 IPP)」项目。

第二步:点击「转发」按钮。此时依然会搜索驱动,稍微耐心等待。

第三步:在驱动列表中,选择「Generic」,点击「转发」。

驱动程序的厂商列表。选择第一项「Generic」。

然后,再依次选择「IPP Everywhere」→「Genetic IPP Everywhere Printer [en]」。这就是 IPP Everywhere 的驱动程序。点击「转发」按钮确认。

驱动程序列表,如图所示来选择。

第四步:随后会有个选项,询问你的打印机是否安装了双工器(英文版选项为「Duplexer Installed」)。这里的「双工器(duplexer)」正确翻译应当为「双面打印器」,这是部分打印机可拆卸的双面打印组件。13

就我的经验来说,不支持或者内置了双面打印的机型都无须勾选该选项。

「已安装双工器(Duplexer Installed)」选项。

第五步:最后,向导会要求你输入打印机的名称与描述,方法与上一张添加 USB 打印机的步骤相同。

完成向导后,建议打印一张测试页,用以检测 IPP 打印机的连接情况。

连接方式二:LPD/LPR 协议

有的打印机能使用 IPP,但会出现各种兼容性问题,例如连接失败、传输缓慢等。那么,不妨改用 LPD/LPR 方式来连接。

注意:LPD/LPR 需要配合打印机驱动使用。

第一步:在system-config-printer 中,以 IPP 以外方式连接的打印机,在列表中显示的格式为「打印机型号(<打印机序列号>.local)」。不同品牌打印机会有不同的序列号。

选中该项目,右侧的「连接」列表中会显示「LPD/LPR,队列 xxxxx」项目(其中,「xxxxx」视厂家的不同而不同14,通常不必更改)。

第二步:点击「转发」按钮。此时依然会搜索驱动,稍微耐心等待。

第三步:接下来的步骤和上一章「USB 连接打印机」相同——选择驱动、输入打印机名称和描述。这里不再赘述。

为了检测连接状况,笔者同样建议你打印一份测试页。

连接方式三:DNS-SD

DNS-SD 是一种用于检测局域网设备的协议。有的时候,system-config-printer 的添加打印机向导会有 bug,无法为你的打印机显示单独的IPP项目(也就是「Driverless IPP」)。

此时,如果你仍想使用 IPP,就可以尝试以 DNS-SD 连接打印机。连接成功后,系统就能以 IPP 方式操作打印机。

具体的操作方法与上文「连接方式一」大致相同。唯一区别是:选择打印机时,要选择「打印机型号(<打印机序列号>.local)」,随后在右侧列表中选择「通过 DNS-SD 的 IPP 网络打印机」。如下图所示。

通过DNS-SD方式连接打印机

无线打印机无法连接?——手动解析 IP 地址

通常情况下,配合 nss-mdns 软件包,Avahi 会自动在后台解析打印机的 IP 地址,因此只要根据上一章的步骤就可以使用无线打印机。但是,因不明原因,在笔者的 Arch Linux 上,Avahi 解析 IP 地址的能力「失灵」了,导致无论采取何种协议,都无法用 Wi-Fi 连接打印机。

此时,可以考虑手动解析打印机的 IP 地址,并在添加打印机时,手工将主机名替换为 IP 地址。解析的方式是使用 Avahi 自带工具进行 mDNS 查询。

第一步:启动 system-config-printer,打开添加打印机向导。待你的打印机扫描出来后,观察列表,括号中显示为「xxxxxxx.local」的地址就是打印机的主机名。

红框中,括号内的内容就是打印机的主机名。

第二步:打开终端,运行以下命令,解析打印机地址。

avahi-resolve-host-name <主机名>

运行结果类似于下图:

此时已经解析出了打印机地址。

第三步:记下打印机的 IP 地址,随后在添加打印机向导中,将打印机地址或主机名进行如下替换:

  • IPP 方式连接时:将 IPP 路径中的主机名替换为 IP 地址,例如ipp://Brother%20DCP-B7535DW%20series._ipp._tcp.local/替换为ipp://192.168.200.1/15
  • LPD/LPR 方式连接时:直接将「主机」文本框的内容改为 IP 地址。
若以 LPD/LPR 方式连接,直接将主机名替换为打印机的IP地址即可。

第四步:后续按照上一章的教程,正常添加打印机即可,这里不再赘述。

找不到驱动程序?

尽管 Foomatic-db 收录的驱动程序包罗万象,但是在实践中,找不到驱动的情况仍然比比皆是。笔者最深刻的体验是:仅靠 Foomatic-db,是无法「征服」我历来接触过的打印机型号的(涵盖 Canon、Epson、Brother 等品牌),因为它们根本就没被收录在数据库中。

若无法找到驱动程序,你就需要另辟蹊径,通过以下渠道来为你的打印机寻找驱动。

品牌官网

一些打印机品牌提供了完备的跨平台支持,提供了 Linux 平台下的驱动。你可以在打印机官方网站的「技术支持」板块下载。

实战举例:下载兄弟(Brother)HL-3190CDW 打印机的驱动

第一步:检索并打开兄弟打印机的技术支持页面。

在必应中搜索到的兄弟打印机技术支持链接

第二步:技术支持页面中,搜索打印机型号「HL-3190CDW」,随后进入产品页面。

兄弟产品的技术支持页面,即可直接输入型号检索,也可分门别类检索。

第三步:在产品页面中,可见兄弟公司同时提供了三大平台的驱动。选择「Linux」,此时你可以视你的发行版,选择 RPM 或 DEB 格式的驱动包。

兄弟打印机的驱动下载页面

点击「确认」后,网站会要求你重新选择语言。选择「English」后,点击下方的「Linux printer driver (deb package)」(或「rpm package」),按提示操作即可下载。

第四步,安装驱动包。你需要直接使用发行版底层的驱动管理工具(rpmdpkg)来安装。

# Debian及其衍生发行版(Ubuntu、Deepin、银河麒麟、UOS等)
sudo dpkg -i hl3190cdwpdrv-1.0.2-0.i386.deb

# Red Hat及其衍生发行版(Fedora、RHEL、OpenSUSE、CentOS、AlmaLinux等)
sudo rpm -i hl3190cdwpdrv-1.0.2-0.i386.rpm

提醒:兄弟这类打印机大厂普遍保守,要经过多道步骤才能让你下载到驱动程序。你需要保持耐心。

其他品牌打印机查找驱动的思路是相同的,不必担心找不着方向。通常大部分驱动都可以从官方网站找到16

其他部分厂家提供的 Linux 驱动

佳能官方技术支持网站
爱普生官方技术支持网站,针对国产 Linux 发行版提供了多个处理器架构的驱动。
得力打印机驱动程序。得力网站上找驱动程序很费劲,还得在网站上搜索一番才能找到能。

一个特例是,惠普的 Linux 驱动由第三方的 HPLIP 项目提供支持。通常各大 Linux 发行版都提供了hplip软件包,开箱即用。

HPLIP官方网站

Arch Linux用户:可以从软件源安装

如果你使用 Arch Linux 及其衍生版(Manjaro、SteamOS 等),查找驱动要更为方便。AUR 和 Arch Linux CN 软件源是个大宝库,往往Foomatic没有收录的驱动程序常常可以从这两个渠道找到。

其中:

  • AUR 收录的品牌和型号最全,打印机驱动常常可以具体到某种型号。
  • Arch Linux CN 收录的驱动程序很少。

注意:在继续之前,请确保你安装了AUR助手,例如Yay。下文将使用 Yay 来演示。

第一步,为了确保你的目标品牌驱动程序有收录,你需要先用yay -Ss来检索打印机品牌名称。该命令同时也会检索 Arch Linux CN 源的内容。

例如,可分别使用以下四个命令,检索兄弟(Brother)、佳能(Canon)、爱普生(Epson)、三星(Samsung)这四个品牌的驱动程序:

yay -Ss brother
yay -Ss canon
yay -Ss epson
yay -Ss samsung

随后 Yay 会自动检索 AUR 软件源。仅仅是兄弟打印机,就可以搜索到近百个驱动,以下是搜索结果的节选:

...
aur/brother-hl1210w 3.0.1-2 (+10 0.07) 
    Brother HL-1210W CUPS driver. After installing this, install printer from CUPS web interface
aur/brother-hll2320d 3.2.0_1-1 (+7 0.00) 
    Brother HL-L2320D CUPS driver
aur/brother-lpr-drivers-common 1.0.0-1 (+54 0.00) 
    This package provides common files for Brother LPR drivers packages.
aur/brother-dcp7055 2.0.4-2 (+14 0.00) 
    LPR and CUPS driver for the Brother DCP7055
...
aur/brother-hl1118 3.0.2-1 (+12 0.00) 
    LPR and CUPS driver for the Brother HL-1110, HL-1110R, HL-1111, HL-1112, HL-1112R, HL-1118
aur/brother-hll2300d 3.2.0_1-1 (+11 0.02) 
    Brother HL-L2300D CUPS driver
aur/brother-hl2140 2.0.2_1-4 (+15 0.00) 
    LPR and CUPS driver for the Brother HL2140
aur/brother-brgenml1 3.1.0_1-3 (+32 0.00) 
    LPR and CUPS driver for various Brother DCP, HL and MFC models.
aur/brother-dcp7030 2.0.2-4 (+17 0.00) 
    Brother cupd and lpd driver for DCP-7030
aur/brother-hll2350dw 4.0.0-2 (+22 0.21) 
    Brother HL-L2350DW CUPS driver
...
aur/brother-hl2030 2.0.1-6 (+35 0.00) 
    Brother HL-2030 CUPS driver
aur/brother-hl3170cdw 1.1.4-1 (+10 0.00) 
    LPR and CUPS driver for the Brother HL3170CDW
archlinuxcn/brother-mfcj450dw 3.0.0-2 (1.5 MiB 4.5 MiB) 
    LPR and CUPS driver for the Brother MFC-J450DW
archlinuxcn/brother-hl3170cdw 1.1.4-1 (428.3 KiB 3.3 MiB) 
    LPR and CUPS driver for the Brother HL3170CDW

第二步,检索具体的打印机型号。注意在检索型号时,要把型号拆开来写,例如兄弟 HL-2240 打印机,检索型号时的关键字为hl 2240。如下所示:

➜  ~ yay -Ss hl 2240
aur/brother-hl2240-lpr-bin 2.1.0-1 (+0 0.00) 
    LPR driver for Brother HL-2240 printer
aur/brother-hl2240-cups-bin 2.0.4-2 (+0 0.00) 
    CUPS wrapper for Brother HL-2240 printer
aur/brother-hl2240d 2.0.4_2-1 (+4 0.07) (已安装)
    LPR and CUPS driver for the Brother HL-2240D printer

注意:有的打印机驱动同时提供了独立的 LPR、CUPS 版本,应当优选 CUPS版,或二者兼备的版本。

一个特殊的例子是三星打印机驱动,部分驱动程序同时适用于同系列的多款型号,所以输入具体型号反而检索不出来。此时你仍然需要直接检索厂商名(而非具体型号),翻翻列表,才能找到。

aur/samsung-ml191x-series 1.00.21-1 (+0 0.00) 
    CUPS printer driver for Samsung ML-191x Series
aur/samsung-ml1860series 1.00.21-1 (+1 0.00) 
    CUPS printer driver for Samsung ML-1860 Series
aur/samsung-m262x-m282x 1.00.36_00.91-2 (+1 0.00) 
    CUPS driver for Samsung Xpress M262x and M282x printers

第三步,安装驱动程序。例如,安装兄弟 HL-2240D 的驱动程序:

yay -S brother-hl2240d

随后按提示操作即可。17

在安装驱动后……

确认驱动安装完成后,你就可以在 system-config-printer 的驱动列表中找到它了。按照前文配置打印机的教程正常配置即可。

刚刚从 AUR 安装的 HL-2240D 驱动程序出现在了列表中

小技巧:OEM / 贴牌打印机找驱动

部分品牌的打印机,例如联想、柯尼卡美能达(Konica Minorta),它们的一些型号无论怎么找都未必能找到驱动。实际上,它们或许是「贴牌打印机」—— 表面上是 A 品牌,实际上不过是 B 品牌的打印机以 A 品牌的名义发售(即 OEM 产品)。

往往,一台贴牌打印机,与它们对应的原厂型号机器在外观上极其相似。你可以通过对比外观,来找到贴牌机「表皮」下的真实型号,从而找到真正适用于该打印机的驱动。

下面就以笔者的经历,来告诉大家如何为贴牌打印机找驱动。

笔者曾经接触过一台打印机——柯尼卡美能达的 Bizhub 12p,要连接到自己的 Arch Linux 笔记本上。然而该驱动不仅没有被收录到 Foomatic-db 与 AUR 中,官方网站甚至根本不提供 Linux 平台下的驱动。

这台就是 Bizhub 12p

正当我一筹莫展的时候,我想起另一位朋友也安装了银河麒麟,配备的打印机是联想 LD 系列的一款激光打印机,外观和 Bizhub 12p 一样方方正正。于是我借他的电脑,查看这台打印机的驱动,竟然用的是兄弟打印机 HL 系列的一个型号。去兄弟的官网查询该型号,果然这台联想 LD 打印机与兄弟该型号的区别,就只是颜色不同、商标不同而已。

受此启发,我看了看 Bizhub 12p 的外观,想起兄弟的打印机也具有如此高辨识度的方正造型,我就判断出 Bizhub 12p 很可能是兄弟某款打印机的贴牌机。

果不其然,检索兄弟打印机的产品页面,我发现了意外惊喜:

我就在这里发现了惊喜
HL-2240打印机(图源:兄弟中国官方网站

且看HL-2240、HL-2260D 这两款打印机,外观与 Bizhub 12p 非常相近。尤其是指示灯、按键的布局,就是一个模子里刻出来的。

抓住这条线索,我立即连接 Bizhub 12p,在自己的 Arch Linux 系统上,通过 AUR 安装了 HL-2240 的驱动程序,配置打印机,结果顺利打印了测试页

至此,就可以证明 Bizhub 12p 为 HL-2240 的贴牌机,在 Linux 下也通用后者的驱动18。对于银河麒麟,由于我做测试那会儿,还没有 HL-2240 的驱动,于是在麒麟客服的建议下,先用 HL-2260D 的驱动,也成功带动了 Bizhub 12p。

如果你一直找不到打印机的驱动,尤其是一些非一线品牌的打印机,那么首先就可以假设它是贴牌机,然后从一些主流品牌的打印机入手(尤其是像兄弟这样经常做 OEM 产品的品牌),寻找与该打印机外观相似的型号,往往你就能找到合适的驱动程序19

写在最后

和 Windows 与 macOS 不同,Linux 下配置打印机是个技术活。为了让部分型号的打印机能正常使用,的确需要「折腾」一番,对使用国产 Linux 的政企客户来说更是如此。

正是在这样的背景下,笔者写下这篇打印机安装攻略,为大家「抽丝剥茧」,将 Linux 配置打印机的步骤和要点写清、写透。相信无论是运维人员,还是更广大的 Linux 发行版用户,在阅读这篇教程后,能够轻松配置打印机,在 Linux 下享受畅快、自然的打印体验。

期待本文能给大家帮助和启发。

> 关注 少数派公众号小红书,感受精彩数字生活 🍃

> 实用、好用的 正版软件,少数派为你呈现 🚀