首页/系统/信创系统运维速查/使用 Windows 共享打印机打印
迁移适配65 条

使用 Windows 共享打印机打印

信创终端经 SMB 用 Windows 共享打印机:CUPS 添加 smb:// 队列,依赖 samba-client 与凭据;迁移期常见的过渡打印方案。

信创系统运维速查系统更新于 2026-10-13

使用 Windows 共享打印是做什么的

信创终端迁移过程中,原有打印机常挂在 Windows 服务器或同事的机器上共享,短时间内无法全部更换。Linux 侧通过 CUPS 添加 smb:// 队列即可直接打印该共享打印机,实现方式是客户端把打印任务通过 SMB 协议投递到共享主机。这属于迁移期的过渡方案,依赖 samba 客户端组件与 Windows 端的共享及打印授权。

基本信息

依赖组件cups 与 samba-client
队列地址smb://<主机IP或主机名>/<共享名>
添加命令lpadmin -p 队列名 -E -v smb://... -m everywhere
凭据需要账号的共享在 CUPS 中配置认证信息
验证命令lpstat -p 队列名、lp -d 队列名 测试文件

典型使用场景

  • 迁移期先用现有共享打印机满足办公需求,等打印设备统一更换后再切换为网络打印
  • 共享印量集中在一台 Windows 主机上,信创终端通过该主机转发打印任务
  • 临时办公点没有独立网络打印机,借用邻近部门的共享设备
  • 测试阶段快速验证打印链路是否通,不需要提前配置驱动
  • 排障时对比同一共享在 Windows 与信创终端上的差异,定位问题在哪一侧
  • 迁移调研阶段统计哪些打印机暂无适配驱动,需要走共享过渡

添加 SMB 打印队列

添加 SMB 打印队列
dnf install -y cups samba-client          # 或 apt install cups smbclient
systemctl enable --now cups
lpstat -p                                 # 查看现有队列
# 共享地址形如 smb://10.0.0.5/HP-M401
lpadmin -p Win-M401 -E -v smb://10.0.0.5/HP-M401 -m everywhere
lpoptions -p Win-M401 -o auth-info-required=username,password   # 需要账号的共享
lpstat -p Win-M401                        # 确认队列已就绪
lp -d Win-M401 /usr/share/cups/data/testprint   # 打印测试页
cancel -a Win-M401                        # 卡任务时清空队列

常见故障对照

现象常见原因处理方向
队列创建失败smb 协议未安装或地址写错确认 samba-client 已装、共享名大小写一致
任务一直排队Windows 端未开打印权限共享权限与打印权限是两套,两个都要开
提示认证失败缺凭据或口令过期在 CUPS 中配置认证信息并核对系统时间
任务卡死不动队列有异常任务阻塞cancel -a 清队列后重试
打印乱码或空白驱动或页面描述不匹配改用合适的打印模型或由服务端渲染
排查打印问题先看服务端日志 /var/log/cups/error_log,再确认 Windows 侧的共享与安全设置;跨系统打印问题时,明确是哪一侧拒绝通常比反复重建队列有效得多。
需要账号的共享要把凭据交给 CUPS 保存,注意该凭据的权限与轮换;匿名共享虽方便但审计困难,生产环境建议统一使用专门打印账号。

易错点

  • 只开 Windows 共享权限不开打印权限,队列能建但任务永远失败,排查时容易只看一侧
  • 共享名大小写或主机名解析不一致导致队列失效,改用 IP 或统一维护 hosts 更稳定
  • 把共享打印当作长期方案,迁移验收后无人跟进,后续共享主机下线直接导致打印中断
  • 队列卡死后反复重建打印任务,不清空积压任务,新任务同样被阻塞

数据来源与参考

  • CUPS 官方文档(SMB 后端)
  • Samba 官方文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌