单位办公区最近换了一批统信UOS系统的电脑,其他都还好,就是打印机这块让人头疼。尤其是富士施乐DocuCentre S2520这种A3数码复合机,市面上几乎找不到一份能直接照着操作的UOS安装教程。我前前后后折腾了两周,把图形界面、命令行、扫描配置、故障排查全走了一遍,踩了不少坑,今天把完整过程写出来,希望能帮到正在被同样问题折磨的运维朋友。
这篇文章覆盖S2520系列打印机在UOS桌面系统上的完整安装与配置方案,包括驱动选型思路、固定IP、添加打印机、命令行批量部署、扫描功能打通、双面打印设置,以及几个高频故障的解决实录。不管你是公司IT运维、单位网管,还是自己家里在UOS上办公的普通用户,按着步骤走基本都能搞定。
1. 装打印机之前的准备工作:先摸清S2520的脾气
1.1 先搞清楚S2520的硬件底细和网络状态
富士施乐DocuCentre S2520是A3黑白数码多功能一体机,打印、复印、扫描三合一,打印速度25页/分钟,最大支持A3幅面。这台机器的打印语言是PCL6和PostScript 3,但注意一个关键点:PostScript 3是选配组件,不是所有机器都装了。这一点直接决定了后面驱动选型的走向,很多人在UOS下装上PostScript驱动后打印出现乱码,原因就是机器压根没有PS组件。
拿到机器后,第一步先确认打印机的网络状态。S2520标配网口,在企业环境里一般走网络打印。在机器面板上按“菜单/状态”按钮,找到“网络设置”或者“系统设置”,查看IPv4地址。如果显示0.0.0.0,说明还没获取到IP,需要检查网线连接,或者在面板上手动配置。
建议直接通过浏览器访问打印机IP,进入Web管理界面确认更详细的网络参数。S2520的Web界面默认管理员账号通常是admin,密码默认是admin或者打印在机器背面的标签上,登录后可以看到完整的网络配置、固件版本和组件状态。
1.2 驱动选型:为什么我最终放弃了官方驱动
富士施乐官网确实提供Linux驱动下载,有rpm包和deb包,但我在UOS上实测下来问题非常多。官方Linux驱动的内核模块编译依赖旧版本的内核头文件,UOS的内核版本较新,安装时十有八九报依赖错误。即使强行装上,驱动模块也无法正常加载,打印机列表里根本识别不到设备。
我后来换了思路,直接用UOS自带的CUPS通用驱动,重点是Generic PCL 6/PCL XL Printer这个驱动。原因很简单:
| 驱动方案 | 优点 | 缺点 | 我的建议 |
|---|---|---|---|
| 富士施乐官方Linux驱动 | 功能完整,有专用面板 | 依赖老旧内核模块,UOS下安装成功率低 | 不推荐 |
| Generic PCL 6/PCL XL | 系统自带免安装,PCL6是S2520标准打印语言,兼容稳定 | 部分高级功能(如双面器自动检测)需要手动开启 | 推荐 |
| Generic PostScript | 对复杂排版支持好 | S2520的PS组件是选配,部分机器没装,会乱码 | 仅在确认机器有PS组件时推荐 |
| IPP Everywhere | 免驱动自动发现 | 老款S2520固件可能不支持AirPrint | 可用但稳定性一般 |
S2520出厂自带PCL6打印语言,这是一个通用标准,任何支持PCL6的驱动都能驱动它。UOS自带的Generic PCL6驱动本质上是告诉CUPS“用PCL6语言去跟打印机通信”,不依赖任何厂商私有库,所以跨系统兼容性反而最好。这也是我反复试错后最终确定的最优解。
1.3 UOS打印系统的底层逻辑
要顺利配置打印机,得先理解UOS下的打印体系。UOS桌面系统自带CUPS,这是Linux环境下最主流的打印子系统,图形管理工具是“打印管理器”,在终端里执行system-config-printer也可以打开同一个界面。
打印链路是这样的:应用程序把文档交给CUPS,CUPS根据打印机对应的PPD文件(PostScript Printer Description,打印机描述文件)把文档转换成打印机能识别的语言,再通过网络协议发送给打印机。PPD文件记录了打印机的分辨率、纸张规格、双面打印能力、纸盒数量等参数,驱动选型其实就是选对PPD文件。
一句话总结:UOS下装打印机,本质就是给CUPS选一个正确的PPD,再指定一个正确的网络地址,听起来简单,但实际操作里全是细节。
2. UOS添加打印机的完整实操流程
2.1 第一步:把打印机地址固定下来
打印机默认使用DHCP动态获取IP地址,这在UOS下配置打印机时是个隐患。你辛辛苦苦配好了打印机,结果打印机第二天重启后IP变了,打印任务全部失败。我接手过的环境里,至少有三次打印机“莫名其妙连不上”都是这个原因。
解决方法是给打印机设置静态IP。在S2520的Web管理界面里,找到“网络设定”或“Network Settings”菜单,把IPv4地址从DHCP改成手动模式,填入一个和办公网同网段的空闲地址。比如局域网网关是192.168.1.1,那给打印机分配192.168.1.200,子网掩码255.255.255.0,DNS可以留空或者填网关地址。
设置完静态IP后,建议在电脑上ping一下打印机地址,确认网络通路正常。这一步看似多此一举,却能在后续排查时帮你省掉大量时间。
2.2 一步步配置:图形界面添加打印机
UOS的图形界面操作对普通用户最友好,整个过程大概三分钟。
打开启动器,搜索“打印机”,进入打印管理器。点击“添加打印机”按钮,系统会自动扫描局域网内可用的打印机设备。如果运气好,S2520会直接出现在列表里,系统自动识别为“Fuji Xerox DocuCentre S2520”,这时选中它,点击下一步就能完成添加。
如果扫描不到设备,不用慌。点击“手动输入URI”,在地址栏输入:
socket://192.168.1.200注意这里用的是socket协议,也就是Linux下常说的“JetDirect直连”,走打印机9100端口。这个协议最简单稳定,不依赖额外服务,S2520基本都支持。很多教程推荐用ipps或ipp协议,但对老款复合机来说,socket协议才是兼容性最好、故障率最低的选择。
接下来是驱动选择界面。如果系统已经自动识别出Fuji Xerox DocuCentre S2520的型号,直接下一步即可。如果列表里没有,就展开“Generic”分类,找到“Generic PCL 6/PCL XL Printer”并选中。选好驱动后,系统会生成对应的PPD文件。建议点击“打印测试页”验证一下效果,测试页能正常输出,说明整个链路已经通了。
最后一步是命名打印机。建议名称用S2520-01这种格式,方便后续命令行管理和多台打印机区分。默认打印机建议勾选“设置为默认打印机”,不然每次打印都要手动选一次。
2.3 命令行快速添加:适合批量部署场景
如果你需要给几十台UOS电脑配置打印机,一台台去点图形界面效率太低。用命令行可以快速完成,而且可以写脚本批量执行。
这里分享一个我实测可用的命令行方案:
# 安装打印机驱动包(如果系统提示缺少cups驱动,先补齐) sudo apt install cups cups-client cups-filters # 查看系统自带的PPD文件中是否有可用的Generic PCL6驱动 lpinfo -m | grep -i pcl # 添加打印机,-p 指定打印机名称,-v 指定连接协议和地址,-m 指定驱动模型 sudo lpadmin -p S2520-01 -E -v socket://192.168.1.200 -m "lsb/usr/cupsfilters/Generic-PCL_6_PCL_XL-Printer.ppd" # 设置默认打印机 sudo lpadmin -d S2520-01 # 查看打印机状态,确认已启用 lpstat -p -d如果lpinfo -m命令的输出里找不到Generic PCL6相关条目,说明系统缺少对应的PPD文件,可以手动创建PPD目录并复制文件:
# 创建自定义PPD目录 sudo mkdir -p /usr/share/ppd/custom # 从已配置好的机器上复制PPD文件,或从CUPS官网下载通用PCL6 PPD # 假设你已经有Generic-PCL_6_PCL_XL.ppd文件 sudo cp Generic-PCL_6_PCL_XL.ppd /usr/share/ppd/custom/ # 重新添加打印机,使用绝对路径指向PPD文件 sudo lpadmin -p S2520-01 -E -v socket://192.168.1.200 -P /usr/share/ppd/custom/Generic-PCL_6_PCL_XL.ppd批量部署时可以这样写一个简单循环:
#!/bin/bash # 打印机IP列表 PRINTERS="192.168.1.200 192.168.1.201 192.168.1.202" for IP in $PRINTERS; do sudo lpadmin -p S2520-$IP -E -v socket://$IP -m "lsb/usr/cupsfilters/Generic-PCL_6_PCL_XL-Printer.ppd" sudo lpadmin -d S2520-$IP done lpstat -p -d这个脚本我在三台UOS专业版(版本号1050)上跑过,都能正常添加,测试打印输出无异常。需要注意,如果系统用户在部署时提示认证失败,要先确认当前用户已加入lpadmin组,这个我在后面的权限部分会详细说。
2.4 添加成功后先做这3件事
打印机添加成功只是第一步,我每次配置完会立刻做三项检查,能避免后面大量返工。
第一项,打印测试页。图形界面添加时可以直接点测试页,命令行方式用命令:
lp -d S2520-01 /etc/nsswitch.conf第二项,确认双面打印选项存在。打开打印机的打印首选项,看看“双面打印”选项是否可选。S2520标配双面器,但如果PPD选错,双面选项会消失。如果选的是Generic PCL6但双面选项没出现,可以尝试换用“Generic PCL 6/PCL XL”的另一个变体,或者干脆手动编辑PPD文件,在文件末尾添加:
*OpenUI *Duplex/双面打印: PickOne *DefaultDuplex: DuplexNoTumble *Duplex None/单面: "" *Duplex DuplexNoTumble/长边翻转: "<</Duplex true/Tumble false>>setpagedevice" *Duplex DuplexTumble/短边翻转: "<</Duplex true/Tumble true>>setpagedevice" *CloseUI: *Duplex第三项,检查纸张规格。在打印首选项里把默认纸张设为A4,纸张来源设为“自动选择纸盒”。如果要做A3打印,后续打印时手动选择纸张规格即可,不影响默认设置。
3. 扫描与高级功能配置:把S2520的潜力挖出来
3.1 扫描功能:用SMB共享方式打通电脑端
S2520的扫描功能在Windows下配置比较简单,UOS下稍麻烦一些,因为富士施乐的扫描驱动和工具都是Windows优先。我的方案是使用打印机自带的“扫描到SMB”功能,让打印机直接把扫描文件推送到UOS电脑的共享文件夹,完全绕开驱动问题。
先在UOS电脑上准备一个共享目录。打开文件管理器,在/home/当前用户名/下新建一个scan文件夹。右键点击文件夹,选择“共享属性”,勾选“共享此文件夹”,设置共享名scan,权限勾选“可写”,访问权限设置允许匿名访问或者指定用户名密码。
然后在S2520的Web管理界面里,找到“扫描”或“Scan”菜单,选择“扫描到文件夹”或“Scan to SMB”,新增一个SMB配置。需要填写的关键参数:
- 共享名称格式:\192.168.1.100\scan(192.168.1.100是UOS电脑的IP地址)
- 用户名:UOS系统的登录用户名
- 密码:对应用户的登录密码
- 协议:SMB 2.0(S2520固件较老的话选SMB 1.0,视固件版本而定)
配置完成后,到打印机面板上按“扫描”按钮,选择“扫描到SMB”,选好配置的路径,按下启动键,扫描结果会自动保存到UOS电脑的scan文件夹里。
我在配置过程中遇到过一个问题:UOS默认开启防火墙,SMB端口(445)和NetBIOS端口(139)可能被拦截,导致打印机无法访问共享。解决办法是放行端口,执行:
# 放行SMB相关端口 sudo ufw allow 139/tcp sudo ufw allow 445/tcp sudo ufw allow 137/udp sudo ufw allow 138/udp sudo systemctl restart ufw如果UOS电脑和打印机不在同一个网段,还需要确认路由可达,最好直接把扫描目的地设置成打印机同网段的电脑,省事很多。
3.2 用SANE工具直接扫描:不分担文件共享的替代方案
如果SMB共享方案因为权限、网络等问题实在配不通,还有一个替代方案:在UOS上直接用SANE协议扫描。
UOS自带的“扫描易”(Simple Scan)工具支持网络扫描,底层用的是SANE(Scanner Access Now Easy)框架。安装扫描易:
sudo apt install simple-scan sane-utils打开扫描易,点击“扫描”按钮右侧的源选择,如果S2520出现在列表中,直接选中就能扫描。如果扫描不到,可能是缺少sane-airscan这个插件导致无法发现网络扫描仪,安装一下:
sudo apt install sane-airscan装完重开扫描易,让系统重新探测网络设备,S2520通常就会出现。这种方式比SMB更直接,缺点是网络扫描速度取决于文件大小和网络质量,扫描大幅面图纸时可能略慢。
3.3 双面打印、A3纸盒和打印质量调优
S2520的双面器是标配,但在UOS下双面打印默认可能是关闭的,需要在打印首选项里手动开启。打开任意文档的打印对话框,在“打印”界面的“属性”或“首选项”里找到“双面打印/双面翻转”,选择“长边翻转”适合文档装订,“短边翻转”适合N合一排版。建议直接把系统默认打印机的双面打印设为“长边翻转”,这样以后打印普通文档默认就是双面,不用每次手动选。
纸张设置方面,S2520有纸盒1和纸盒2,纸盒1默认是A4,纸盒2可以放A3。在打印对话框的“纸张”设置里,把来源设为“自动选择纸盒”,这样打印A4时自动用纸盒1,打印A3时自动用纸盒2。这个设置是在PPD层面实现的,Generic PCL6驱动能正确读取S2520的纸盒信息,这一点实测没问题。
打印质量调优有个容易被忽略的细节。S2520的碳粉浓度和打印对比度也可以在打印首选项里调整。如果打印出来整体发灰,文字不够黑,可以在“图像质量”或“高级”设置里把浓度调到+2,对比度调高一点。如果打印速度快但文字有轻微拖尾,可以把浓度降低,速度优先模式下拖尾现象会减轻。
3.4 设置省墨模式和打印配额
S2520这种老机器在办公室里的一个痛点就是耗材成本。UOS下可以通过PPD设置省墨模式。在打印首选项的“合成”或“高级”里寻找“节省模式/节约墨粉”选项,选择“开”或“节省模式”,这样默认打印所有文档都会用省墨模式,适合内部资料输出。正式对外文件可以在打印时临时关闭省墨模式。
如果有多个人共用的打印机,建议在CUPS里给不同用户设置打印配额。UOS的CUPS支持通过cupsd.conf配置文件实现简单的配额策略,但操作相对复杂。更简单的办法是在打印机Web后台开启作业日志审计,定期导出打印记录,手工统计使用情况。这一点企业内部可以根据实际情况调整,我只是提供一个思路。
4. 常见问题排查:亲测有效的解决实录
4.1 问题速查表:从“打印机连不上”到“打出来是乱的”
我在部署和维护S2520的过程中,整理了下面这份问题速查表,基本覆盖了UOS环境下能遇到的八成问题。
| 故障现象 | 可能原因 | 排查步骤与解法 |
|---|---|---|
| 打印任务一直显示“已停止” | 打印机IP变更或网络不通 | 先ping打印机IP,不通则检查网线和静态IP设置;通的话在打印管理器右键点击打印机,选择“启用” |
| 打印输出乱码 | 驱动选错,用了不支持的PostScript驱动 | 确认S2520是否安装PS组件,未安装则改用Generic PCL 6驱动 |
| 只能打第一页,后续页面空白 | PPD中纸张类型设置错误 | 在打印首选项里把纸张类型改为“普通纸”,关闭“节省模式” |
| 打印时间很长,附加大文件经常卡死 | S2520内存偏小,PCL6光栅化负担过重 | 在打印首选项里把分辨率降到600dpi,开启“快速打印”模式 |
| 找不到局域网内的打印机 | 防火墙拦截端口 | 放行9100端口:sudo ufw allow 9100/tcp |
| 已经设为默认打印机,但文档仍打到其他设备 | CUPS默认打印机状态异常 | 终端执行lpadmin -d 打印机名称,再执行lpstat -d确认 |
| 打印机显示“校验和错误” | PPD文件损坏 | 删除打印机重新添加,重新生成PPD |
| 打印内容整体偏移或只有一半 | 纸张来源设置错误,纸盒缺纸 | 在打印首选项里把纸张来源改为“自动选择”,确认对应纸盒有纸 |
4.2 打印队列卡死:三条命令挽救局面
生产环境里最头疼的就是打印队列卡死。打印机硬件显示正常,电脑端任务却一直停在“已发送”状态,新任务全部排队等待。这种问题多半是某个打印任务在传输过程中中断,CUPS认为打印机还在处理上一个任务,后续任务全部阻塞。
处理方法是清空队列并重启CUPS服务,完整执行这三条:
# 查看当前队列状态 lpstat -p -d # 删除打印机上所有任务 cancel -a # 重启CUPS服务,让打印缓存重置 sudo systemctl restart cups在执行这段命令前建议先确认没有重要文档正卡在队列里,cancel -a会删除当前打印机上的全部打印任务。清完队列后再打印测试页,验证是否恢复正常。有个小细节:重启CUPS后,打印机配置不会丢,因为配置保存在/etc/cups/printers.conf里,重启服务不影响这个文件。
4.3 权限问题:用户没有权限打印怎么办
新装的UOS系统,非管理员用户经常遇到打印时提示“cupsd:抱歉,不允许打印”或者打印任务提交失败的情况。原因是当前用户不在lpadmin权限组里,CUPS拒绝普通用户管理打印队列。
解决办法是把用户加入lpadmin组:
# 把当前用户加入lpadmin组 sudo usermod -aG lpadmin $USER # 让组权限立即生效(重新登录或重启) sudo systemctl restart cups加入之后,需要退出当前会话重新登录,让组权限生效。如果公司电脑是通过域管同步用户的话,需要在域策略里给用户组添加lpadmin权限。
另外一个容易忽略的权限问题是PPD文件权限。如果手动放置了PPD文件,而文件权限不正确,CUPS会报“无法读取PPD文件”。确保PPD文件所在目录和文件本身权限为可读:
sudo chmod 644 /usr/share/ppd/custom/Generic-PCL_6_PCL_XL.ppd sudo chown root:root /usr/share/ppd/custom/Generic-PCL_6_PCL_XL.ppd4.4 UOS装了多台同型号打印机后如何区分
办公室里有好几台S2520时,用户在打印对话框里面对多个同名设备根本分不清。我建议在命名打印机时直接带上位置信息,比如“S2520-财务室-01”“S2520-前台-01”。图形界面添加时自定义名称即可,命令行方式用-p参数指定:
sudo lpadmin -p S2520-CaiWu-01 -E -v socket://192.168.1.200 -m "lsb/usr/cupsfilters/Generic-PCL_6_PCL_XL-Printer.ppd" sudo lpadmin -p S2520-QianTai-01 -E -v socket://192.168.1.201 -m "lsb/usr/cupsfilters/Generic-PCL_6_PCL_XL-Printer.ppd"多个同型号打印机共用同一个PPD文件,不会产生冲突,CUPS根据设备URI区分物理设备。这样用户打印时一目了然,也方便运维人员远程排查。
4.5 升级系统后打印机突然失效的修复方向
UOS系统升级内核或CUPS组件后,偶尔会出现打印机配置丢失或显示“不可用”的情况。排查思路按照这个顺序来:
先看CUPS服务是否运行正常:
systemctl status cups如果服务异常,尝试重启并重新加载配置:
sudo systemctl restart cups再看打印机是否还在系统中:
lpstat -p -d如果打印机列表为空,说明升级过程中CUPS配置被重置了,需要按之前的方法重新添加。如果打印机还在但打印失败,尝试删除打印机再重新添加,并验证PPD文件是否被覆盖成了不兼容版本。
升级后第二天我通常会主动跑一遍打印测试页,提前发现问题,避免用户用到的时候才报障。
写在最后的实操心得
S2520这种老一代A3复合机,在UOS生态里反而比新机型好伺候,因为它是标准PCL/PS架构,不依赖厂商私有协议和在线服务。我配置了这么多台,最深的感受是:驱动选Generic PCL6,连接协议用socket,先把网络地址固定死,再动其他配置,这个顺序不要颠倒。
如果你手头有一批同样的机器,建议把命令行添加方式做成脚本,配上PPD文件,一台台批量操作,能省下大量重复劳动。另外提醒一句,S2520的Web管理界面默认密码记得改掉,这台机器自带Web后台权限很高,改扫描设置、网络设置都能通过它完成,属于办公网里容易被忽略的安全点。
最后说个小技巧:每次配置完打印机后,在打印管理器里把该打印机的属性中“双面打印”初始值设为长边翻转,再把“节省模式”打开,这样办公室日常输出能省不少纸张和碳粉,用户满意度反而更高。这个细节是我跟一位老前辈学到的,实测下来很实用。