上一篇
lpr命令无法使用?
- 电脑教程
- 2025-06-11
- 5
lpr命令无法使用通常因为:,1. 打印机未正确配置或未连接;,2. 打印服务(如CUPS)未运行;,3. 用户权限不足;,4. 命令路径错误或未安装打印工具包;,5. 指定了无效的打印机名称,检查打印机状态、服务运行情况、用户权限及命令拼写。
为什么 lpr 命令无法使用?
lpr 是 Linux/Unix 系统中用于打印文件的命令行工具,当它无法使用时,通常由以下原因导致:

常见原因及解决方案
未安装打印服务组件
-
原因:系统缺少 lpr 依赖的 CUPS(通用 Unix 打印系统)或基础工具包。
-
解决方案:
# Debian/Ubuntu 系统 sudo apt update && sudo apt install cups-client lpr # CentOS/RHEL 系统 sudo yum install cups lpr
打印机未配置或未启动
- 原因:未添加打印机或 CUPS 服务未运行。
- 解决方案:
- 启动 CUPS 服务: sudo systemctl start cups # 启动服务 sudo systemctl enable cups # 设置开机自启
- 配置打印机:
- 访问 CUPS 管理页面:http://localhost:631
- 点击 Administration > Add Printer 添加设备。
- 确保打印机状态为 Idle(就绪)。
环境变量未设置
- 原因:系统未指定默认打印机。
- 解决方案:
- 查看可用打印机: lpstat -p -d
- 设置默认打印机(替换 Your_Printer_Name): lpoptions -d Your_Printer_Name
权限问题
- 原因:当前用户无权使用打印机。
- 解决方案:
- 将用户加入 lp 用户组: sudo usermod -aG lp $USER
- 重启服务生效: sudo systemctl restart cups
防火墙阻止打印请求
- 原因:防火墙拦截了 CUPS 端口(默认 631)。
- 解决方案: sudo ufw allow 631/tcp # Ubuntu sudo firewall-cmd --permanent --add-port=631/tcp # CentOS
进阶排查步骤
▶ 检查打印服务状态
lpstat -t # 查看打印机状态 cupsctl --debug-logging # 启用调试日志(日志路径:/var/log/cups/error_log)
▶ 测试打印命令
echo "Test Page" | lpr -P Your_Printer_Name
▶ 验证网络打印机连接
ping Printer_IP # 测试打印机网络连通性
特殊场景处理
-
Windows 共享打印机:
通过 Samba 连接:

-
驱动问题:
安装对应驱动(如 HP 打印机):
sudo apt install hplip # HP 打印机驱动 - 打印机物理连接(USB/网络)。
- 系统日志:tail -f /var/log/cups/error_log。
- 重装 CUPS:sudo apt reinstall cups。
总结建议
若以上步骤仍无效,请依次检查:
重要提示:
大多数 lpr 问题源于服务未启动或权限不足,确保 CUPS 运行正常、用户属于 lp 组,并正确设置默认打印机,如遇复杂问题,可访问 CUPS 官方文档 或社区论坛求助。
引用说明
本文解决方案参考自 CUPS 官方管理指南 及 Linux 手册页(man lpr)。