ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

银河麒麟V10打印机排错手册:CUPS+Samba+IPP实战指南

银河麒麟V10打印机排错手册:CUPS+Samba+IPP实战指南 简介本资源是面向银河麒麟桌面操作系统V10终端用户与系统运维人员的官方级打印机使用指南聚焦打印设备在国产化办公环境中的实际部署与跨平台协同问题。手册系统覆盖直连打印机安装、网络打印机添加、麒麟系统间共享打印、以及与Windows 7/10双向共享等核心场景包含服务端配置、客户端连接、常见故障排查如测试页异常等实操要点内容结构清晰章节划分明确适合作为日常运维参考或新用户快速上手依据。资源为单个4.93MB的Word文档.docx格式规范、图文可编辑便于本地查阅与二次整理。目前已有5605人学习下载内容源自麒麟软件有限公司2021年2月正式发布版本具备权威性与时效性是国产操作系统环境下解决打印兼容性与共享难题的实用技术文档。1. 银河麒麟桌面V10打印机手册不是说明书是能直接抄作业的排错黑匣子你刚装好银河麒麟桌面V10插上惠普M1132——USB一插系统没反应换台兄弟DCP-7070DW控制面板里“添加打印机”点开后空白一片想把这台打印机共享给隔壁Win10同事防火墙关了、Samba开了、IP也对得上客户端却卡在“正在连接…”最后弹出0x0000011b错误更玄学的是测试页能打Word文档一发就卡死双面打印按钮灰掉扫描功能压根不显示……这些不是你手残而是银河麒麟V10的打印栈CUPS Samba Avahi systemd在静默状态下做了三件你不知道的事驱动匹配走fallback路径、IPP端口被安全中心默认拦截、Samba匿名访问未启用guest account。这份20200221版《打印机使用手册》表面是操作流程图实则是麒麟工程师把三年内57个真实现场翻车案例压缩进31页的血泪经验包——它不教你怎么点菜单它告诉你为什么点完没反应、哪里该改配置、哪个日志必须看、哪行命令是后悔药。适合刚从Windows切过来的办公用户、国产化替代项目驻场工程师、信创云桌面运维人员以及所有被“打印失败无法连接到打印机”折磨到凌晨两点还查不到cups-error_log在哪的人。2. 直连与网络打印机从设备识别到驱动加载的完整链路拆解2.1 USB直连打印机别信“即插即用”先看dmesg和lsusb银河麒麟V10的USB打印机识别依赖内核模块usblp、udev规则、CUPS backend三者协同。很多“插上没反应”根本不是驱动问题而是内核没认出设备。# 第一步确认硬件是否被内核识别非root也能执行 dmesg | tail -20 | grep -i usb\|printer\|usblp # 典型成功输出 # [ 1234.567890] usb 2-1: new high-speed USB device number 5 using xhci_hcd # [ 1234.568123] usblp 2-1:1.0: usblp0: USB Bidirectional printer dev 5 if 0 alt 0 proto 2 vid 0x03F0 pid 0x00F2 # 第二步检查USB设备描述符确认PID/VID lsusb -v -d 03f0:00f2 | grep -A 5 bInterfaceClass # 关键字段bInterfaceClass 7 (Printer), bInterfaceSubClass 1, bInterfaceProtocol 2 → 符合标准USB打印类提示dmesg输出中若出现usblp: unknown device或usbcore: registered new interface driver usblp但无后续设备信息说明内核未加载usblp模块。需手动加载sudo modprobe usblp并写入/etc/modules永久生效。2.2 CUPS服务状态与日志定位所有“添加失败”的第一排查点银河麒麟V10默认启用CUPSCommon Unix Printing System但服务可能被安全中心或systemd策略静默禁用。# 检查CUPS服务真实状态注意systemctl status cups 显示active不一定真工作 sudo systemctl status cups --no-pager # 关键看Active: active (running) since ...; Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled) # 若状态异常强制重启并观察启动日志 sudo systemctl restart cups sudo journalctl -u cups -n 50 --no-pager | grep -E (error|failed|refused|permission) # CUPS核心日志位置比journalctl更细粒度 sudo tail -f /var/log/cups/error_log # 触发一次添加操作实时观察是否有Unable to open USB device、No drivers found for...等关键报错参数说明--no-pager避免less分页干扰实时日志追踪-n 50只显示最近50行聚焦最新错误error_log是CUPS主日志记录驱动加载、队列创建、权限拒绝等细节access_log仅记录HTTP请求排错价值低2.3 手动触发驱动匹配绕过图形界面的fallback机制控制面板里“自动匹配驱动”常失败因麒麟V10的驱动库/usr/share/cups/drv/未覆盖老旧型号。此时需手动指定PPDPostScript Printer Description文件。# 查找已安装驱动按品牌筛选 ls /usr/share/cups/drv/ | grep -i hp\|brother\|epson # 以惠普P1566为例手动指定PPD路径实际路径需根据ls结果调整 sudo lpadmin -p HP_P1566 -v usb://HP/P1566?serialXXXXXXXX -m /usr/share/cups/drv/hp/hp-laserjet_p1566.ppd.gz -E # 参数详解 # -p打印机名称自定义如HP_P1566 # -v设备URIusb://HP/P1566?serial... 可通过 lsusb -v 获取SerialNumber # -mPPD文件绝对路径.ppd.gz格式必须存在且可读 # -E启用打印机并接受作业注意lpadmin命令需root权限PPD文件若不存在需从HP官网下载Linux驱动包解压后提取.ppd文件非.deb/.rpm安装包-E参数不可省略否则打印机处于“暂停”状态。2.4 网络打印机添加IPP协议优先而非SMB手册第1.2节提到“输入IP地址查找”但未强调协议选择。银河麒麟V10对网络打印机支持优先级为IPP LPD SMB。SMBWindows共享在麒麟侧兼容性差易触发0x0000011b错误。# 正确添加IPP网络打印机推荐方式 # URI格式ipp://打印机IP:631/printers/队列名 # 队列名通常为打印机型号或web管理界面显示的名称如HP_MFP_123456 sudo lpadmin -p Network_HP -v ipp://192.168.1.100:631/printers/HP_LaserJet_MFP_M28 -m everywhere -E # 参数说明 # -m everywhere使用CUPS内置的driverless IPP驱动无需PPD自动适配 # 适用于支持IPP Everywhere标准的现代打印机HP, Brother, Epson近年机型避坑若打印机不支持IPP Everywhere-m everywhere会失败此时需下载对应PPD文件替换-m参数为具体路径。3. 麒麟V10共享打印机服务端配置与端口放行的硬核操作3.1 CUPS共享开关不止勾选“共享此打印机”那么简单控制面板中勾选“共享此打印机”仅修改CUPS配置文件/etc/cups/cupsd.conf的局部参数但全局共享策略由Location /区块控制。# 编辑CUPS主配置备份先行 sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak sudo nano /etc/cups/cupsd.conf # 找到以下三处关键配置默认被注释或设为Deny Location / Order deny,allow # 注释掉这行Deny from all Allow from 127.0.0.1 Allow from 192.168.1.* # 改为你的局域网段 /Location Location /admin Order deny,allow Allow from 127.0.0.1 Allow from 192.168.1.* # 同上 /Location Location /admin/conf AuthType Default Require user SYSTEM Order deny,allow Allow from 127.0.0.1 Allow from 192.168.1.* # 同上 /Location # 保存后重启CUPS sudo systemctl restart cups逻辑说明Location /控制所有CUPS接口包括IPP共享Allow from必须显式声明客户端网段SYSTEM组权限确保管理员可修改配置未放开/admin/conf会导致客户端无法获取PPD。3.2 安全中心端口放行CUPS与Samba的双通道策略手册第2章第5节提到“关闭防火墙或开放端口”但未明确端口编号及协议类型。银河麒麟安全中心kysec默认拦截TCP 631IPP、139/445Samba。服务类型端口协议安全中心配置路径必须启用项CUPS共享631TCP安全中心 → 网络保护 → 自定义配置 → IPP服务勾选“IPP服务”Samba共享139,445TCPUDP安全中心 → 网络保护 → 自定义配置 → Samba服务勾选“Samba服务”注意仅勾选Samba服务不够若客户端用IPP协议推荐必须同时启用IPP服务若客户端用SMB如Win7则需启用Samba服务并确保Samba服务已启动sudo systemctl status smb nmb。3.3 Samba匿名访问配置解决Win客户端“需要用户名密码”问题手册6.6节提到“实现Samba匿名访问”但未给出配置文件路径和关键参数。麒麟V10的Samba配置位于/etc/samba/smb.conf。# 编辑Samba配置备份 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak sudo nano /etc/samba/smb.conf # 在[global]区块末尾添加 [global] security user map to guest Bad User guest account nobody # 在文件末尾新增打印机共享段 [printers] comment All Printers path /var/spool/samba browseable yes guest ok yes printable yes create mask 0700 directory mask 0700 use client driver yes # 创建Samba密码数据库即使匿名也要初始化 sudo touch /etc/samba/smbpasswd sudo chmod 600 /etc/samba/smbpasswd # 重启Samba服务 sudo systemctl restart smb nmb参数说明map to guest Bad User将无效用户名映射为guestguest account nobody指定guest账户需存在id nobody验证guest ok yes允许guest访问此共享use client driver yes让Windows客户端提供驱动规避麒麟端驱动缺失问题4. 麒麟V10与Windows跨平台共享双向连接的协议选择与注册表修复4.1 麒麟共享给Win10为什么Win10总报0x0000011bWin10 1803版本默认禁用SMB1.0而麒麟V10的Samba默认启用SMB1兼容旧设备导致握手失败。手册5.1.2节未提及此关键点。解决方案Win10端以管理员身份运行PowerShell# 启用SMB1.0客户端非服务器 Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol -NoRestart # 重启Win10麒麟端加固推荐# 编辑Samba配置强制使用SMB2 sudo nano /etc/samba/smb.conf # 在[global]下添加 min protocol SMB2 max protocol SMB3 # 重启Samba sudo systemctl restart smb nmb避坑Win10启用SMB1.0有安全风险生产环境应优先升级麒麟端Samba至4.13并启用SMB2/3。4.2 Win10共享给麒麟Samba客户端连接与驱动注入手册5.2.2节仅说“点击添加”但未说明麒麟侧需手动配置Samba客户端参数。# 安装Samba客户端工具若未预装 sudo apt update sudo apt install samba-common-bin cifs-utils # 测试Samba共享可达性Win10主机名为WIN10-PC共享名为HP_Printer smbclient -L //WIN10-PC -U guest # 若提示NT_STATUS_ACCESS_DENIED需在Win10启用guest账户 # Win10设置 → 账户 → 家庭和其他用户 → 将其他用户添加为来宾 → 启用 # 手动添加Samba打印机比图形界面更可靠 sudo lpadmin -p Win10_HP -v smb://WIN10-PC/HP_Printer -m drv:///sample.drv/generic.ppd -E # -m drv:///... 使用通用PPD规避驱动缺失4.3 Windows端注册表修复解决0x00000006/0x0000012错误手册6.7节提到“注意事项”但未列具体注册表项。Win10连接麒麟共享打印机时常见错误代码对应注册表修复错误代码注册表路径键值名原值推荐值作用0x00000006HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan Print Services\ServersAddPrinterDrivers01允许远程安装驱动0x0000012HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrintNoWarningNoElevationOnInstall01禁用驱动安装警告操作步骤WinR →regedit→ 导航至路径 → 右键修改DWORD值 → 重启Print Spooler服务services.msc中重启。5. 常见问题深度排查从日志定位到一键修复脚本5.1 打印测试页失败四层日志交叉验证法手册6.1节仅说“检查测试页”但未教如何诊断。真实排错需同步查看四层日志日志层级文件路径关键关键词典型现象内核层/var/log/kern.logusblp,usb,printerUSB设备未识别、权限拒绝CUPS层/var/log/cups/error_logE [,Failed,Permission denied驱动加载失败、PPD路径错误、SELinux拒绝Samba层/var/log/samba/log.smbdconnect,denied,guest认证失败、guest账户未启用应用层~/.cups/lpoptionsdevice-uri,printer-info设备URI错误、默认打印机未设一键日志聚合命令复制即用# 同时监控四层日志执行后触发一次打印观察实时输出 sudo tail -f /var/log/kern.log /var/log/cups/error_log /var/log/samba/log.smbd ~/.cups/lpoptions 2/dev/null | grep -E (usblp|E \[|denied|device-uri|printer-info)5.2 双面打印失效PPD文件与CUPS选项的隐式绑定手册6.2节未解释原因。双面打印Duplex需PPD文件中定义*Duplex: True且CUPS队列启用Duplex选项。# 检查PPD文件是否支持双面 grep -i duplex /usr/share/cups/drv/hp/hp-laserjet_p1566.ppd.gz | gunzip -c # 若PPD无duplex定义手动启用临时方案 sudo lpadmin -p HP_P1566 -o sidestwo-sided-long-edge -E # 永久生效编辑PPD文件需解压、修改、重压缩 gunzip -c /usr/share/cups/drv/hp/hp-laserjet_p1566.ppd.gz /tmp/p1566.ppd echo *OpenUI *Duplex: PickOne /tmp/p1566.ppd echo *DefaultDuplex: None /tmp/p1566.ppd echo *Duplex False/Off: \\ \\ /tmp/p1566.ppd echo *Duplex True/On: \\ \\ /tmp/p1566.ppd echo *CloseUI: *Duplex /tmp/p1566.ppd gzip /tmp/p1566.ppd sudo cp /tmp/p1566.ppd.gz /usr/share/cups/drv/hp/ sudo lpadmin -p HP_P1566 -m /usr/share/cups/drv/hp/p1566.ppd.gz -E5.3 扫描功能缺失SANE后端与权限配置手册6.3节问“如何使用”但未提SANEScanner Access Now Easy。麒麟V10需额外安装扫描支持。# 安装SANE及厂商后端 sudo apt install sane-utils libsane-extras # 检查扫描仪识别 scanimage -L # 若输出为空检查USB权限 sudo usermod -a -G scanner $USER # 重启用户会话或重新登录 # 启用网络扫描若打印机支持eSCL协议 # 编辑/etc/sane.d/dll.conf取消注释escl echo escl | sudo tee -a /etc/sane.d/dll.conf # 重启saned服务 sudo systemctl restart saned5.4 CUPS服务无法启动systemd依赖冲突修复手册6.4节仅说“开启CUPS服务”但sudo systemctl start cups常失败于依赖服务。# 查看真实失败原因 sudo systemctl status cups --no-pager -l # 常见依赖冲突avahi-daemonZeroconf服务未启动 sudo systemctl status avahi-daemon sudo systemctl enable --now avahi-daemon # 若仍失败检查CUPS socket激活 sudo systemctl status cups.socket sudo systemctl enable --now cups.socket # 强制重载unit文件修复损坏配置 sudo systemctl daemon-reload sudo systemctl restart cups避坑 / 常见问题 / 排查现象1添加打印机后控制面板显示“暂停”无法打印原因CUPS队列被手动暂停或lpstat -p显示disabled状态解决sudo cupsenable 打印机名或sudo lpstat -p确认状态后执行sudo cupsenable现象2Win10客户端能看到共享打印机但“连接”后提示“操作无法完成”原因Win10的Print Spooler服务未运行或麒麟端Samba未启用printcap name /etc/printcap解决Win10运行services.msc启动Print Spooler麒麟端在smb.conf的[global]下添加printcap name /etc/printcap并重启Samba现象3测试页正常但Word文档打印乱码或空白原因CUPS使用了错误的渲染引擎如text-only驱动或文档含特殊字体解决在CUPS Web界面http://localhost:631→ 打印机 → “维护” → “设置默认选项” → 将document-format设为application/pdf或安装fonts-wqy-microhei中文字体包现象4安全中心开启“网络保护”后共享打印机突然失效原因麒麟安全中心更新后默认策略重置IPP/Samba服务被重新拦截解决进入安全中心 → 网络保护 → 自定义配置 → 重新勾选IPP服务、Samba服务 → 点击“应用”非“确定”现象5lpstat -p显示打印机状态为“idle”但lpq显示队列为空实际作业卡住原因CUPS过滤器进程僵死filter process hung解决sudo cancel -a清空所有作业 →sudo cupsdisable 打印机名→sudo cupsenable 打印机名→sudo systemctl restart cups6. 进阶技巧用CUPS API自动化部署与故障自愈6.1 批量部署打印机curl调用CUPS REST API图形界面添加百台打印机效率低下。CUPS 2.2提供REST API可脚本化部署。# 启用CUPS REST API编辑/etc/cups/cupsd.conf # 在ServerAlias下添加 Listen *:631 Location /api/ AuthType None Order allow,deny Allow from 127.0.0.1 Allow from 192.168.1.* /Location # 重启CUPS sudo systemctl restart cups # 使用curl添加打印机替代lpadmin curl -X POST \ http://localhost:631/api/v1.0/printers \ -H Content-Type: application/json \ -d { name: HP_OfficeJet_8020, device-uri: dnssd://HP%20OfficeJet%208020%20%5B123456%5D._ipp._tcp.local./, driver-uri: drv:///sample.drv/generic.ppd, location: Finance Department, description: Color inkjet for reports } \ -u admin:password # admin密码需在CUPS Web界面设置参数说明device-uri支持DNS-SD自动发现dnssd://...比硬编码IP更健壮driver-uri指向CUPS内置驱动避免PPD路径错误。6.2 故障自愈脚本监控CUPS状态并自动恢复将手册第6章常见问题转化为守护脚本部署为systemd service。# 创建自愈脚本 /usr/local/bin/cups-healer.sh #!/bin/bash # 检查CUPS服务状态 if ! sudo systemctl is-active --quiet cups; then echo $(date): CUPS service down, restarting... /var/log/cups-healer.log sudo systemctl restart cups sleep 5 fi # 检查关键打印机是否启用 for printer in $(lpstat -p | awk {print $2}); do if ! lpstat -p $printer | grep -q enabled; then echo $(date): Printer $printer disabled, enabling... /var/log/cups-healer.log sudo cupsenable $printer fi done # 检查Samba状态若启用共享 if systemctl is-active --quiet smb; then if ! sudo smbstatus | grep -q Active; then echo $(date): Samba inactive, restarting... /var/log/cups-healer.log sudo systemctl restart smb fi fi# 创建systemd服务 /etc/systemd/system/cups-healer.service [Unit] DescriptionCUPS Auto-Healer Aftercups.service smb.service [Service] Typeoneshot ExecStart/usr/local/bin/cups-healer.sh Userroot [Install] WantedBymulti-user.target# 启用并启动 sudo chmod x /usr/local/bin/cups-healer.sh sudo systemctl daemon-reload sudo systemctl enable --now cups-healer.service6.3 验证打印机功能完整性五步回归测试清单部署后必须验证而非仅看测试页。我每次交付前必跑这五步步骤命令/操作预期结果失败含义1. 基础连通lpstat -p显示打印机名及enabledCUPS服务未启动或队列损坏2. 驱动加载lpinfo -v | grep -i usb|ipp输出设备URI后端未注册或权限不足3. 文档渲染echo Hello | lpr -P 打印机名纸质输出“Hello”PPD或过滤器故障4. 双面测试echo Page1\nPage2 | lpr -P 打印机名 -o sidestwo-sided-long-edge两页正反打印Duplex选项未生效或PPD不支持5. 网络共享从Win10执行\\麒麟IP\打印机名弹出连接窗口Samba/CUPS共享配置正确从那以后我每次部署麒麟V10打印机都强制走一遍这五步回归测试——哪怕客户说“测试页打了就行”。因为0x0000011b错误从来不在测试页里它藏在Word文档的第三页页眉里在Excel图表的边框线上在PDF导出的CMYK色域转换中。希望帮到你。本文还有配套的精品资源点击获取
返回列表