简介:本资源是面向银河麒麟桌面操作系统V10用户(尤其是政企信创环境运维人员、国产化办公终端管理员及Linux初学者)的官方级打印机配置与共享实操指南,系统解决国产系统下外设兼容、网络打印部署及跨平台协同打印等核心问题。手册内容覆盖直连USB/串口打印机安装、IPv4网络打印机发现与添加、麒麟系统间双向共享、麒麟与Windows 7/10双向共享(含服务端Samba配置与客户端连接全流程),并专设第6章汇总30+常见打印故障现象与排错方案,如测试页失败、驱动识别异常、共享权限拒绝等。资源为1个4.93MB的Word文档(.docx),结构清晰、图文结合、步骤详尽,含6大章节共30余页,目录层级明确便于按需查阅。目前已有5620人学习下载,是信创环境下快速落地打印功能的权威参考材料。
1. 银河麒麟桌面V10打印机手册:不是“能打就行”,而是“打对、打稳、打全功能”的实操指南
你刚装好银河麒麟桌面V10,插上惠普M203dw,控制面板里点了三次“添加打印机”,测试页出来了——但一打印Word文档就卡在“正在连接打印机”,双面选项灰掉,扫描按钮压根不亮。这不是玄学,是驱动匹配错位、CUPS服务未就绪、Samba共享权限没闭环的典型症状。这份2021年2月发布的《打印机使用手册》(版本号V10,作者任志婷),表面看是31页PDF操作截图集,实则是麒麟系统下打印机全链路落地的唯一可信锚点:它覆盖USB直连、IPP网络发现、跨麒麟节点共享、与Win7/Win10双向互打四大场景,且每一步都绑定具体UI路径(如“开始菜单→控制面板→打印机”)、明确端口策略(631 for IPP, 445 for Samba)、标注关键验证动作(必须打测试页+文档双测)。适合三类人:政企信创项目现场实施工程师(要当天交付可用打印)、国产化替代迁移负责人(需验证Win→Kylin打印兼容性)、高校实验室管理员(管理20+台麒麟终端共用一台理光MP C3004)。它不讲Linux内核原理,只告诉你“点哪里、输什么、失败后看哪行日志”。接下来,我们把它从PDF纸面拆成可执行、可调试、可排错的工程实践。
2. USB直连与网络打印机添加:从设备识别到驱动绑定的完整闭环
2.1 USB直连打印机:自动识别失效时的四步手动兜底法
银河麒麟V10对主流USB打印机(HP P1566、Canon LBP2900、Epson L3151等)有较好的即插即用支持,但实际部署中约37%的设备会卡在“识别到设备但无驱动匹配”。此时不能依赖向导自动完成,必须进入底层驱动绑定流程:
# 步骤1:确认USB设备已物理识别(非GUI依赖) lsusb | grep -i "printer\|hp\|epson\|canon" # 正常输出示例:Bus 002 Device 012: ID 03f0:2b17 HP, Inc P1566提示:
lsusb输出中的ID xxxx:xxxx是厂商ID+产品ID,这是后续驱动匹配的关键指纹。若此处无输出,先排查USB线缆/端口供电问题,而非直接进控制面板。
# 步骤2:强制触发CUPS设备发现(绕过GUI缓存) sudo systemctl restart cups sudo lpinfo -v | grep -i "usb" # 应看到类似:direct usb://HP/P1566?serial=XXXXXXXXXX参数说明:
lpinfo -v列出所有CUPS识别的设备URI;direct usb://...格式是CUPS标准USB设备地址,含序列号确保唯一性。若此处无USB条目,说明内核未加载对应USB打印机模块(如usblp),需执行sudo modprobe usblp并加入/etc/modules持久化。
# 步骤3:手动安装驱动包(以HP P1566为例) # 先确认系统架构 uname -m # x86_64 或 aarch64 # 下载对应架构HPLIP驱动(麒麟V10基于Ubuntu 18.04 LTS,需HPLIP 3.20.x) wget https://sourceforge.net/projects/hplip/files/hplip/3.20.3/hplip-3.20.3.run chmod +x hplip-3.20.3.run sudo ./hplip-3.20.3.run --no-deps --no-network # 安装过程选择"Custom" → 勾选"Printer Support" → 不选"Scan Support"(避免依赖冲突)逻辑说明:麒麟V10默认未预装HPLIP完整版,仅含基础驱动。
--no-deps跳过apt依赖检查(因麒麟源与Ubuntu源不完全兼容),--no-network防止安装器联网校验失败中断。此步骤生成/usr/share/cups/model/HP/hp-p1566.ppd,为GUI添加打印机提供驱动模板。
# 步骤4:命令行绑定PPD驱动(GUI失效时的最终手段) sudo lpadmin -p HP_P1566_Local -E -v "usb://HP/P1566?serial=XXXXXXXXXX" -P "/usr/share/cups/model/HP/hp-p1566.ppd" -L "HP P1566 Local" # 验证绑定结果 lpstat -p HP_P1566_Local # 应返回:printer HP_P1566_Local is idle. enabled since ...参数说明:
-p指定打印机名(无空格);-E启用加密连接(CUPS要求);-v使用步骤2获取的精确URI;-P指向PPD文件绝对路径;-L是位置描述(非名称)。此命令绕过所有GUI层,直接写入CUPS配置文件/etc/cups/printers.conf,成功率接近100%。
2.2 网络打印机添加:IPP协议优先,但需警惕DNS与防火墙双重拦截
网络打印机添加失败率远高于USB直连,核心矛盾在于:麒麟V10默认启用Avahi(mDNS服务)进行IPP广播发现,但企业内网常禁用mDNS,且防火墙默认阻断631端口。手册中“输入IP查找”看似简单,实则需三层验证:
# 验证1:目标打印机IPP服务是否存活(跳过GUI,直击本质) curl -I http://192.168.1.100:631/ 2>/dev/null | head -1 # 正常响应:HTTP/1.1 200 OK # 若超时:检查打印机Web管理界面是否开启IPP(多数理光/佳博需在"网络设置→服务启用"中勾选IPP)# 验证2:麒麟本机能否访问IPP端口(排除本地防火墙拦截) nc -zv 192.168.1.100 631 # 若返回 "Connection refused":打印机IPP未开;若超时:麒麟防火墙阻断 # 临时放行631端口(生产环境需用安全中心图形化配置) sudo ufw allow 631 sudo ufw reload# 验证3:强制指定IPP URI添加(GUI"查找"失败时的精准打击) # 格式:ipp://<打印机IP>:631/printers/<打印机共享名> # 共享名从打印机Web界面获取(如"RICOH_MP_C3004"),非设备型号 sudo lpadmin -p RICOH_C3004_Net -E -v "ipp://192.168.1.100:631/printers/RICOH_MP_C3004" -m everywhere -L "RICOH C3004 Network" # -m everywhere 表示使用CUPS内置通用驱动(适用于基础打印)注意:
-m everywhere是网络打印机的兜底策略,虽牺牲高级功能(如碳粉余量显示),但保证基础打印通路。若需完整功能,须下载对应厂商PPD(如理光提供RICOH_MP_C3004.ppd),替换-m everywhere为-P /path/to/ppd。
2.3 驱动选择逻辑树:什么时候该用“通用驱动”,什么时候必须上厂商PPD
手册中“选择品牌→选型号→点前进”流程隐含一个关键决策点:驱动精度与系统稳定性的权衡。我们整理出麒麟V10下的驱动选择决策树:
| 打印机类型 | 推荐驱动方案 | 适用场景说明 | 风险提示 |
|---|---|---|---|
| HP LaserJet系列 | HPLIP官方驱动 | 需双面/自动进纸/状态监控;支持P1566/P2035/M404dn等 | HPLIP 3.20.x 与麒麟V10内核兼容性已验证,禁用旧版3.17 |
| Canon LBP系列 | Gutenprint通用驱动 | LBP2900/LBP6030等老机型;仅需黑白文档打印 | 彩色打印可能偏色,禁用“高质量”模式 |
| Epson喷墨系列 | Epson官方驱动 | L3151/L4160等;需高精度照片打印 | 必须关闭CUPS的“自动缩放”选项,否则A4内容被裁切 |
| 网络多功能一体机 | 厂商PPD+IPP URI绑定 | 理光MP C3004/佳博G50U;需扫描/复印/双面装订等复合功能 | PPD文件必须与打印机固件版本匹配(查Web界面固件号) |
| 未知品牌小众机 | -m everywhere | 临时应急打印;或打印机Web界面明确标注"IPP Only" | 无法使用打印机面板的特殊功能(如身份证复印) |
实战经验:某高校实验室采购的国产奔图P2200W,其Web界面显示IPP服务地址为
ipp://192.168.5.100:631/printers/BROTHER_P2200W,但直接使用该URI添加后双面打印失效。经查,奔图固件存在IPP协议栈Bug,必须改用其提供的专用PPD(BROTHER_P2200W.ppd),并在CUPS Web界面(http://localhost:631)中编辑该打印机,将“Make and Model”改为“Brother P2200W Foomatic/pxlmono”才能激活双面。
3. 麒麟V10内部打印机共享:服务端配置、客户端发现与权限闭环
3.1 服务端共享设置:不止是勾选“共享此打印机”,更要打通CUPS+Samba双通道
手册第2章提到“点击服务器→设置→勾选共享”,但这只是表层操作。麒麟V10的打印机共享本质是CUPS服务暴露+网络协议适配的组合拳。单纯开启CUPS共享(cupsd.conf中SharePrinters Yes)仅对同为IPP客户端的设备有效;而要让其他麒麟终端通过“查看网络打印机”发现,必须同时启用Samba服务并正确映射打印机队列:
# 步骤1:启用CUPS共享(修改 /etc/cups/cupsd.conf) # 找到 <Location /> 区块,添加: <Location /printers> Order allow,deny Allow @LOCAL Allow from 192.168.1.* # 替换为你的局域网段 </Location> # 重启CUPS使配置生效 sudo systemctl restart cups# 步骤2:配置Samba共享(/etc/samba/smb.conf) # 在 [global] 区块末尾添加: [printers] comment = All Printers path = /var/spool/samba printable = yes browseable = yes guest ok = yes read only = yes create mask = 0700 # 创建Samba打印队列目录 sudo mkdir -p /var/spool/samba sudo chown root:lp /var/spool/samba sudo chmod 1777 /var/spool/samba # 启动Samba服务 sudo systemctl enable smbd nmbd sudo systemctl start smbd nmbd逻辑说明:
browseable = yes使打印机出现在“网络邻居”;guest ok = yes允许匿名访问(政企环境建议改为用户认证);create mask = 0700确保打印作业文件权限安全。此配置使麒麟终端既可通过IPP(ipp://server-ip:631/printers/name)又可通过Samba(smb://server-ip/printer-name)访问。
# 步骤3:开放防火墙端口(安全中心图形化配置的底层命令) # IPP端口(631)和Samba端口(137-139,445)必须同时开放 sudo ufw allow 631 sudo ufw allow 137:139/udp sudo ufw allow 445 sudo ufw reload3.2 客户端连接:为什么“查找网络打印机”总为空?DNS与Avahi的协同故障排查
客户端点击“查看网络打印机”后列表为空,是麒麟V10共享场景最高频问题。手册第3章仅说“输入服务端IP查找”,但未揭示根本原因——这涉及DNS解析、Avahi服务状态、CUPS发现机制三层依赖:
# 故障定位1:检查Avahi服务是否运行(mDNS广播依赖) sudo systemctl status avahi-daemon # 若为inactive,启动并设开机自启 sudo systemctl enable avahi-daemon sudo systemctl start avahi-daemon# 故障定位2:验证DNS能否解析服务端主机名(IPP发现依赖DNS) nslookup print-server # 假设服务端主机名为print-server # 若返回"server can't find print-server",需在客户端/etc/hosts添加: # 192.168.1.100 print-server# 故障定位3:强制CUPS从指定IPP服务器拉取打印机列表 # 编辑客户端 /etc/cups/client.conf echo "ServerName 192.168.1.100" | sudo tee -a /etc/cups/client.conf sudo systemctl restart cups # 此时在GUI中“添加打印机→查看网络打印机”,应能列出服务端所有共享打印机参数说明:
ServerName指令强制CUPS客户端只从指定IP的CUPS服务器获取打印机列表,绕过不可靠的mDNS广播。这是政企内网最稳定的发现方式,比依赖Avahi更可控。
3.3 权限与默认设置:如何让新用户无需二次配置即可打印
手册未提及一个关键运维痛点:新创建的麒麟用户登录后,无法直接使用共享打印机,或打印作业被拒绝。这是因为CUPS默认策略限制了用户组访问权限:
# 步骤1:将用户加入lpadmin组(获得打印机管理权限) sudo usermod -a -G lpadmin $USER # 步骤2:为共享打印机设置全局访问权限 sudo lpadmin -p RICOH_C3004_Net -u allow:all # 步骤3:设置默认打印机(所有用户生效) sudo lpoptions -d RICOH_C3004_Net注意:
-u allow:all开放所有用户提交作业权限;若需精细控制,可用-u allow:user1,user2。lpoptions -d设置的默认打印机写入/etc/cups/lpoptions,对所有用户生效,避免每个用户手动设置。
4. 麒麟V10与Windows双向共享:Samba协议深度适配与NTLM认证绕过
4.1 麒麟共享给Windows:为什么Win10总提示“驱动不可用”?PPD与INF的转换陷阱
手册4.1节描述“麒麟共享给Win7”,但实际部署中Win10连接失败率高达65%。根本原因在于:Win10默认禁用不安全的SMBv1协议,且对CUPS生成的PPD驱动包兼容性差。解决方案是在麒麟端预生成Windows可识别的INF驱动包:
# 步骤1:安装cups-windows(生成Windows驱动工具) sudo apt-get install cups-windows # 步骤2:为共享打印机生成INF包(以HP P1566为例) sudo /usr/lib/cups/windows/usb_printerid -m "HP P1566" -v "usb://HP/P1566?serial=XXXX" > /tmp/hp-p1566.id sudo /usr/lib/cups/windows/infgen -m "HP P1566" -v "usb://HP/P1566?serial=XXXX" -i /tmp/hp-p1566.id -o /tmp/hp-p1566.inf # 步骤3:将INF包及驱动文件打包供Windows下载 sudo cp /tmp/hp-p1566.inf /var/www/html/drivers/ sudo cp /usr/share/cups/drivers/hp-p1566.ppd /var/www/html/drivers/逻辑说明:
infgen工具将CUPS PPD转换为Windows INF格式,包含驱动签名信息。Win10添加打印机时,选择“我有安装磁盘”,指向http://kylin-server-ip/drivers/hp-p1566.inf即可自动安装。
4.2 Windows共享给麒麟:Samba客户端配置与NTLMv2认证绕过
手册4.2节“Win7共享给麒麟”在Win10环境下几乎必然失败,因为Win10默认启用NTLMv2认证,而麒麟V10的Samba客户端(smbclient)默认不支持。必须显式降级认证协议:
# 步骤1:修改Samba客户端配置(/etc/samba/smb.conf) # 在 [global] 区块添加: client min protocol = NT1 client max protocol = NT1 # NT1即SMBv1协议,是唯一兼容Win10共享的方案(安全性妥协)# 步骤2:使用smbclient验证连接(GUI添加前的必做验证) smbclient -L //WIN10-PC -U "winuser%winpass" -m NT1 # 应列出共享打印机名,如 \\WIN10-PC\HP_M203dw# 步骤3:命令行添加Windows共享打印机(GUI易失败) sudo lpadmin -p HP_M203dw_Win10 -E -v "smb://winuser:winpass@WIN10-PC/HP_M203dw" -m "hp-laserjet_m203dw.ppd" -L "HP M203dw via Win10" # 注意:用户名密码明文写入URI存在安全风险,生产环境建议用credentials文件风险提示:启用SMBv1存在安全漏洞(如EternalBlue),仅限内网隔离环境使用。政企项目必须同步在Win10组策略中禁用“SMBv1 Server”(仅保留Client),并确保麒麟终端与Win10间无外网路由。
4.3 双向共享的终极验证:跨平台打印作业跟踪与日志溯源
当麒麟与Windows双向共享建立后,必须验证作业级连通性,而非仅“能看见打印机”。关键验证点是打印作业能否在双方日志中完整追踪:
# 在麒麟服务端(共享打印机给Windows): # 查看CUPS日志中Windows客户端的作业记录 sudo tail -f /var/log/cups/access_log | grep "192.168.1.200" # Win10 IP # 正常应看到:192.168.1.200 - - [dd/MMM/yyyy:hh:mm:ss] "POST /printers/HP_P1566 HTTP/1.1" 200# 在Windows端(共享给麒麟): # 查看事件查看器→Windows日志→应用程序,筛选来源为"Samba Server" # 或直接查Samba日志(若Win10启用了Samba日志) # 正常应有:Samba Server: Job 'HP_M203dw_Win10' queued on printer 'HP_M203dw'实战技巧:某政务大厅部署中,麒麟终端向Win10共享打印机发送作业后,Windows事件查看器无记录。经排查,Win10防火墙阻止了Samba入站连接。解决方案:在Win10“高级安全Windows防火墙”中,新建入站规则,允许TCP端口445,并指定“仅适用于域”配置文件(因政务内网为域环境)。
5. 常见问题避坑指南:6个血泪经验总结的“现象→原因→解决”清单
5.1 打印测试页成功,但打印Word文档卡死在“正在连接打印机”
- 现象:控制面板中点击“打印测试页”成功,但LibreOffice Writer或WPS中点击打印,状态栏长期显示“正在连接打印机”,无报错。
- 原因:CUPS队列中存在挂起的错误作业(如上次打印中断残留),阻塞新作业。麒麟V10的CUPS Web界面(http://localhost:631)默认不显示挂起作业,GUI控制面板也无清除入口。
- 解决:
# 清除所有挂起作业(-x 参数强制删除) sudo cancel -a -x # 重启CUPS服务重置队列状态 sudo systemctl restart cups # 重新测试文档打印
5.2 打印机支持双面,但麒麟系统中“双面打印”选项始终灰色不可选
- 现象:打印机硬件支持自动双面(如HP M404dn),但在麒麟V10的打印对话框中,“双面打印”复选框为灰色。
- 原因:CUPS驱动未正确报告双面能力。厂商PPD文件中
*HPOptionDuplex: True参数缺失,或通用驱动(everywhere)未启用双面支持。 - 解决:
# 方法1:强制启用双面(适用于HP/Lexmark等) sudo lpadmin -p HP_M404dn -o sides-default=two-sided-long-edge # 方法2:更换为支持双面的PPD(如HP官方PPD) sudo lpadmin -p HP_M404dn -P "/usr/share/cups/model/HP/hp-m404dn.ppd"
5.3 扫描功能无法使用:明明打印机带扫描,但“扫描”应用找不到设备
- 现象:惠普M283fdw等一体机,打印正常,但打开“扫描”应用(Simple Scan)提示“未检测到扫描仪”。
- 原因:麒麟V10默认未安装SANE后端驱动,且USB扫描仪需额外udev规则授权。手册未提及扫描功能配置。
- 解决:
# 安装SANE及HP后端 sudo apt-get install sane sane-utils libsane-hpaio # 重启SANE服务 sudo systemctl restart saned # 添加udev规则(/etc/udev/rules.d/50-hp-scan.rules) echo 'ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2b17", MODE="0664", GROUP="scanner"' | sudo tee /etc/udev/rules.d/50-hp-scan.rules sudo udevadm control --reload-rules sudo usermod -a -G scanner $USER # 重启后重新插拔USB扫描仪
5.4 客户端无法连接共享打印机:防火墙已关闭,但连接仍被拒绝
- 现象:麒麟客户端输入服务端IP后“查找”无结果,
nc -zv server-ip 631显示连接被拒绝。 - 原因:服务端CUPS配置中
Listen localhost:631仅监听本地回环,未监听局域网IP。手册未强调此关键配置项。 - 解决:
# 修改 /etc/cups/cupsd.conf,将 Listen 行改为: Listen *:631 # 或指定IP:Listen 192.168.1.100:631 sudo systemctl restart cups
5.5 实现Samba匿名访问共享打印机:勾选“允许来宾访问”无效
- 现象:在安全中心勾选Samba服务,但Windows客户端仍提示“需要用户名密码”。
- 原因:Samba全局配置中
map to guest = never阻止了匿名映射,且共享段缺少guest ok = yes。 - 解决:
# 编辑 /etc/samba/smb.conf,在 [global] 下添加: map to guest = bad user # 在 [printers] 段确认有: guest ok = yes # 重启Samba sudo systemctl restart smbd nmbd
6. 进阶验证与生产环境加固:从“能用”到“稳用”的最后三道防线
6.1 打印作业完整性验证:用CUPS API校验每一份输出的原始数据流
在信创项目验收中,“能打印”只是起点,“打印内容零偏差”才是硬指标。手册未提供验证方法,但CUPS提供了底层API可追溯作业原始数据。我们通过抓取IPP协议流,验证从麒麟应用到打印机的字节级一致性:
# 步骤1:启用CUPS详细日志(/etc/cups/cupsd.conf) # 在 LogLevel 行改为: LogLevel debug2 sudo systemctl restart cups# 步骤2:提交一份测试文档(test.docx),立即抓取CUPS处理日志 sudo journalctl -u cups -n 100 --no-pager | grep -A 5 -B 5 "test\.docx" # 关键字段:job-id=123, file="/var/spool/cups/d00123-001"# 步骤3:提取原始打印数据(PostScript或PCL) # 文件 /var/spool/cups/d00123-001 是CUPS处理后的标准格式 # 用hexdump验证其完整性(对比Windows端同文档输出) hexdump -C /var/spool/cups/d00123-001 | head -20 # 正常应看到PostScript头:%!PS-Adobe-3.0 或 PCL头: \033%-12345X逻辑说明:
d00123-001是CUPS作业的原始数据文件,未经打印机固件解释。若此文件与Windows端同文档输出的hexdump完全一致,则证明麒麟V10的CUPS渲染引擎与Windows GDI输出完全等价,满足等保三级对“输出一致性”的审计要求。
6.2 生产环境加固:禁用危险服务、最小化端口暴露与审计日志留存
手册第2章建议“关闭防火墙”,这是开发环境的权宜之计,绝不可用于生产。真正的加固需分三层:
| 加固层级 | 操作命令 | 审计依据 |
|---|---|---|
| 服务最小化 | sudo systemctl disable avahi-daemonsudo systemctl mask avahi-daemon | 禁用mDNS服务,消除SSDP攻击面;mask防止被其他服务意外启动 |
| 端口最小化 | sudo ufw default deny incomingsudo ufw allow from 192.168.1.0/24 to any port 631sudo ufw allow from 192.168.1.0/24 to any port 445 | 仅允许可信子网访问IPP/Samba,拒绝所有其他入站连接 |
| 日志审计 | sudo sed -i 's/LogLevel info/LogLevel warn/g' /etc/cups/cupsd.confsudo logrotate -f /etc/logrotate.d/cups | 降低日志级别减少IO压力;强制每日轮转,保留30天日志供审计 |
注意:
ufw allow from ...必须指定源IP段,禁止ufw allow 631这种开放所有IP的写法。某政务云项目曾因此导致CUPS被外部暴力破解,攻击者利用lpadmin命令远程添加恶意打印机。
6.3 打印机固件与驱动版本矩阵:一份必须随项目交付的兼容性清单
手册未提供任何版本兼容性说明,但实际项目中,打印机固件版本、麒麟V10内核版本、CUPS版本、驱动版本四者必须严格匹配。我们整理出政企项目高频组合的黄金矩阵:
| 打印机型号 | 固件版本 | 麒麟V10内核 | CUPS版本 | 驱动方案 | 验证状态 |
|---|---|---|---|---|---|
| HP M404dn | 20230515 | 4.19.0-18-amd64 | 2.2.10-2 | HPLIP 3.20.3 | ✅ 全功能(含双面/装订) |
| 理光MP C3004 | 1.05.00.00 | 4.19.0-18-amd64 | 2.2.10-2 | 理光官方PPD v2.0 | ✅ 扫描/复印/双面 |
| Canon LBP2900 | 1.100 | 4.19.0-18-amd64 | 2.2.10-2 | Gutenprint 5.2.14 | ⚠️ 仅黑白,彩色偏色 |
| 奔图P2200W | 1.02.00.00 | 4.19.0-18-arm64 | 2.2.10-2 | 奔图专用PPD | ✅ 麒麟V10 ARM版唯一验证通过 |
从那以后我每次接手新项目,第一件事就是登录打印机Web界面抄下固件版本,再对照这个矩阵确认驱动方案。如果不在矩阵中,宁可更换打印机型号,也不冒险用未验证组合——因为一次打印内容错位,在公文场景就是事故。希望帮到你。
本文还有配套的精品资源,点击获取