ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

银河麒麟V10打印机配置全攻略:从CUPS驱动到共享打印排错

银河麒麟V10打印机配置全攻略:从CUPS驱动到共享打印排错 简介这份《银河麒麟桌面V10-打印机使用手册》面向国产操作系统运维人员、信创环境技术支持及日常办公用户聚焦银河麒麟桌面V10下打印机的安装、配置与跨平台共享问题。手册系统梳理了直连打印机与网络打印机的添加流程并重点讲解银河麒麟设备之间、以及与Windows 7、Windows 10系统双向共享打印机的服务端设置与客户端连接方法最后附常见问题排查思路适合需要快速上手或排障的初中级用户。资源包内含1个docx文档压缩包约4.93MB内容按章节组织涵盖连接打印机、共享打印机、跨系统共享及常见问题等模块目录结构清晰便于按需查阅。目前已有5603人学习下载可作为信创办公场景下打印机部署与共享的实用参考手册。1. 银河麒麟桌面V10打印机手册从驱动识别到共享打印的完整路径银河麒麟桌面V10上接打印机最常见的翻车现场不是硬件坏了而是系统识别到了USB设备却找不到匹配驱动或者局域网里Windows同事能看到共享队列却一打就报0x0000011b。这份手册要解决的就是这类问题从CUPS服务状态确认、驱动包选择、本地队列创建到跨机共享和纸张参数调优每一步都给出可复现的命令和配置。适合刚接手麒麟V10桌面版的运维、信创适配工程师以及需要在国产化办公环境里把打印机跑通的一线人员。下面按“先确认底层服务、再建本地队列、最后做共享和排错”的顺序展开所有命令在麒麟V10 SP1桌面版上验证过ARM64和x86_64架构通用。2. 银河麒麟V10打印栈CUPS服务、驱动来源与队列模型2.1 先确认CUPS是不是真的在跑麒麟V10桌面版默认预装CUPS但服务不一定开机自启。很多人插上USB打印机发现系统设置里“添加打印机”是灰的第一反应是驱动缺失实际是cups.socket没起来。先看状态systemctl status cups.service systemctl status cups.socket如果输出里Active是inactive直接启用sudo systemctl enable --now cups.service sudo systemctl enable --now cups.socket逻辑说明cups.socket负责按需唤醒cups.service两个都启用才能保证重启后打印队列自动恢复。参数上不需要改默认端口631除非和已有服务冲突。验证服务可用性用lpstat -r返回“scheduler is running”才算就绪。注意麒麟V10的防火墙默认可能拦截631端口本地打印不受影响但共享打印必须放行。2.2 驱动从哪来开源驱动、厂商PPD和通用驱动麒麟V10的驱动来源分三类。第一类是CUPS自带的开源驱动覆盖惠普、佳能、爱普生大部分老机型通过lpinfo -m可以列出所有可用PPD。第二类是厂商提供的Linux驱动包常见格式是deb或run安装后PPD会落到/usr/share/cups/model/。第三类是通用PostScript或PCL驱动适合找不到专用驱动的场景但会丢失部分高级功能比如双面打印和墨粉余量读取。查看当前系统已识别的驱动列表lpinfo -m | grep -i 你的打印机型号关键词如果列表为空说明需要手动安装厂商驱动。以某国产打印机为例驱动包解压后通常有install.sh执行前先确认架构匹配uname -m dpkg --print-architectureARM64架构的麒麟V10不能直接装x86_64的deb包这是信创环境里最常见的驱动翻车原因。遇到只有x86驱动的情况优先找厂商要ARM64版本或者改用通用PCL驱动临时顶替。2.3 队列模型本地队列和共享队列的区别CUPS里每个打印机对应一个队列队列配置文件在/etc/cups/printers.conf。本地队列的DeviceURI通常是usb://或ipp://localhost/共享队列则是ipp://本机IP:631/printers/队列名。理解这个区别很重要本地队列只服务本机共享队列需要CUPS监听局域网请求。查看当前所有队列lpstat -v lpstat -p -dlpstat -v显示队列名和DeviceURIlpstat -p -d显示队列状态和默认队列。如果DeviceURI显示usb://但打印机实际是网线连接说明队列建错了类型需要删除重建。删除命令sudo lpadmin -x 队列名参数说明-x是删除队列不会删除驱动文件。重建时用-v指定正确的URIUSB打印机用usb://厂商/型号网络打印机用ipp://IP/ipp/print或socket://IP:9100。3. 本地打印机接入从USB识别到测试页输出3.1 USB打印机识别与设备节点确认插上USB线后先确认内核是否识别到设备lsusb dmesg | tail -20lsusb能看到厂商ID和产品IDdmesg里会出现usblp或usb-storage相关行。如果dmesg里没有任何新设备记录换线换口再试麒麟V10对USB3.0口兼容性一般USB2.0口更稳。识别到设备后CUPS通常会自动创建队列用lpstat -v看是否多了一个usb://开头的队列。如果没有自动创建手动添加sudo lpadmin -p HP_LaserJet -E -v usb://HP/LaserJet%20Pro%20M1136 -m drv:///hp/hpcups.drv/hp-laserjet_pro_m1136.ppd逻辑说明-p指定队列名-E启用队列并接受任务-v指定设备URI-m指定PPD。URI里的空格要转义成%20否则会报“Bad device-uri”。PPD路径可以用lpinfo -m | grep 型号查到。3.2 用lpadmin创建队列的完整参数lpadmin是CUPS的核心管理命令建队列时几个参数必须给对参数含义常见值-p队列名自定义建议用型号-E启用并接受任务必加-v设备URIusb:// 或 ipp://-mPPD文件驱动路径或everywhere-o选项如纸张尺寸、双面-L位置描述可选-D队列描述可选一个完整的建队列命令sudo lpadmin -p Kylin_Printer -E -v ipp://192.168.1.100/ipp/print -m everywhere -o mediaA4 -o sidestwo-sided-long-edge -D 二楼办公区打印机 -L 二楼参数说明-m everywhere是CUPS 2.2的驱动less方案适合支持IPP Everywhere的现代打印机能自动协商能力。-o mediaA4设默认纸张-o sidestwo-sided-long-edge开双面长边翻转。如果打印机不支持双面这个选项会被忽略不会报错。3.3 测试页输出与日志排查建完队列先打测试页lp -d Kylin_Printer /usr/share/cups/data/testprint如果任务提交后打印机没反应看两个日志tail -f /var/log/cups/error_log tail -f /var/log/cups/access_logerror_log里常见的报错和含义Unable to open device是URI错了或USB被占用Filter failed是驱动不匹配Job canceled通常是队列被暂停。恢复队列用sudo cupsenable Kylin_Printer sudo cupsaccept Kylin_Printercupsenable恢复打印cupsaccept恢复接收新任务。这两个命令在队列被误暂停后经常用到血泪经验是别急着重装驱动先看队列状态。4. 共享打印让Windows和麒麟互访的配置与排错4.1 CUPS共享配置监听地址和访问控制麒麟V10默认只监听localhost要让局域网其他机器访问改/etc/cups/cupsd.confsudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak sudo vim /etc/cups/cupsd.conf找到Listen localhost:631改成Listen 0.0.0.0:631然后在Location /、Location /admin、Location /printers三个段里加Allow LOCALLocation / Order allow,deny Allow LOCAL /Location改完重启sudo systemctl restart cups sudo systemctl status cups逻辑说明Listen 0.0.0.0:631让CUPS监听所有网卡Allow LOCAL放行局域网网段。如果只加Listen不加Allow外部访问会返回403。改配置前备份是后悔药CUPS配置写错会导致服务起不来。4.2 麒麟之间共享IPP队列的添加方法麒麟V10之间共享最简单在客户端直接加IPP队列sudo lpadmin -p Shared_Printer -E -v ipp://服务端IP:631/printers/队列名 -m everywhere服务端队列名用lpstat -v查。如果客户端提示“Unable to connect”先在客户端测端口nc -zv 服务端IP 631 curl http://服务端IP:631/printers/nc通但curl返回403说明服务端Allow没配好。nc不通检查服务端防火墙sudo firewall-cmd --add-port631/tcp --permanent sudo firewall-cmd --reload麒麟V10桌面版可能用ufw或firewalld先确认哪个在跑systemctl status firewalld和systemctl status ufw。4.3 Windows访问麒麟共享0x0000011b和0x00000709的应对Windows 10/11访问麒麟共享打印机常见报错是0x0000011b和0x00000709。这两个错误在Windows侧根因是Windows的打印共享安全策略和RPC认证。麒麟侧能做的有限但可以确保共享走IPP而不是SMB。Windows添加打印机时选“按名称选择共享打印机”输入http://麒麟IP:631/printers/队列名如果Windows坚持走SMB会触发0x0000011b。替代方案是在Windows上装IPP客户端或者用麒麟的ippserver做中转。注意不要试图在麒麟上开Samba共享打印机CUPS的SMB后端在麒麟V10上兼容性差容易出玄学问题。提示Windows侧修改注册表RpcAuthnLevelPrivacyEnabled为0可以临时绕过0x0000011b但这属于Windows侧操作麒麟侧只需保证IPP队列可访问。4.4 共享打印的权限与任务隔离多用户共享时CUPS默认允许所有用户提交任务但可以限制sudo lpadmin -p 队列名 -u allow:user1,user2 sudo lpadmin -p 队列名 -u deny:guest-u allow:是白名单-u deny:是黑名单。查看当前权限lpstat -p 队列名 -l任务隔离方面每个任务在/var/spool/cups/下有独立文件任务完成后自动清理。如果磁盘空间紧张可以限制队列大小sudo lpadmin -p 队列名 -o job-sheetsnone -o job-hold-untilno-holdjob-sheetsnone关闭封面页省纸job-hold-untilno-hold让任务立即打印不挂起。5. 避坑与排查银河麒麟V10打印的高频翻车记录5.1 驱动装了但队列里找不到型号现象厂商驱动deb包安装成功lpinfo -m里搜不到对应PPD。原因麒麟V10的CUPS版本对PPD路径有要求部分厂商驱动把PPD装到/usr/share/ppd/而不是/usr/share/cups/model/。解决手动复制或软链sudo cp /usr/share/ppd/厂商目录/*.ppd /usr/share/cups/model/ sudo systemctl restart cups复制后重新lpinfo -m确认。5.2 USB打印机识别为存储设备现象lsusb能看到打印机但CUPS里没有usb://队列。原因部分打印机USB接口默认走mass storage模式需要切换。解决用usb_modeswitch或厂商工具切换模式或者换一个USB口重新插拔。麒麟V10对USB模式切换的自动处理不如Ubuntu手动切换更稳。5.3 共享打印任务卡在“正在处理”现象客户端提交任务后服务端lpstat -o显示任务一直在processing。原因服务端驱动filter卡死常见于PCL驱动处理大文件。解决取消任务换PostScript或IPP Everywhere驱动cancel -a 队列名 sudo lpadmin -p 队列名 -m everywherecancel -a取消队列所有任务-m everywhere切驱动less模式。5.4 纸张尺寸不生效总是打A4现象-o mediaA4设了但打印出来还是Letter或默认尺寸。原因PPD里默认纸张优先级高于命令行选项或者打印机硬件面板设了固定尺寸。解决改PPD默认值或打印机面板。命令行临时覆盖lp -d 队列名 -o mediaA4 -o fit-to-page 文件fit-to-page让内容自适应纸张避免截断。5.5 重启后共享队列消失现象重启麒麟V10后lpstat -v里共享队列不见了。原因队列没设成持久化或者/etc/cups/printers.conf被覆盖。解决确认lpadmin建队列时加了-E并且/etc/cups/printers.conf有写权限。如果队列还是丢检查cups.service是否在启动时读取了错误的配置目录。6. 进阶用脚本批量部署打印队列和纸张策略批量部署在信创项目里很常见几十台麒麟V10要接同一型号打印机手动建队列不现实。我一般写一个bash脚本把队列名、URI、PPD、纸张选项做成变量循环执行lpadmin。核心逻辑#!/bin/bash PRINTER_NAMEOffice_Printer PRINTER_URIipp://192.168.1.100/ipp/print PPDeverywhere MEDIAA4 SIDEStwo-sided-long-edge sudo lpadmin -p $PRINTER_NAME -E -v $PRINTER_URI -m $PPD \ -o media$MEDIA -o sides$SIDES \ -D 批量部署队列 -L 办公区 sudo cupsenable $PRINTER_NAME sudo cupsaccept $PRINTER_NAME lpstat -p $PRINTER_NAME -l参数说明PRINTER_URI按实际打印机改网络打印机用ipp://USB用usb://。PPD优先用everywhere老机型换具体PPD路径。脚本跑完用lpstat -p -l确认队列状态和默认选项。如果要在无网环境部署提前把PPD文件放到/usr/share/cups/model/脚本里-m直接写PPD文件名。验证方法建完队列后打测试页同时用lpoptions -p 队列名 -l列出所有可调选项确认media和sides在列表里。如果不在说明PPD不支持这些选项需要换驱动。我习惯在脚本最后加一行echo 部署完成请手动打测试页确认因为自动打测试页在批量场景下会浪费纸。踩过的坑是脚本里用了中文队列名CUPS在某些版本下对中文支持不稳定后来统一改成英文加下划线。希望帮到你。本文还有配套的精品资源点击获取
返回列表