Linux如何暂停打印任务?暂停操作方法详解

在Linux系统中,打印任务通常由CUPS(Common UNIX Printing System)服务管理,这是一个开源的打印系统,广泛用于各类Linux发行版,要暂停打印操作,可能涉及暂停特定打印任务、暂停整个打印机的打印服务,或临时阻止新任务进入队列,以下是详细的操作方法,涵盖命令行和图形界面两种方式,并包含注意事项和常见问题解答。

linux如何暂停打印

Linux打印系统基础

CUPS是Linux打印的核心,它通过监听631端口提供打印服务,支持本地和网络打印机,打印任务提交后,会进入打印队列,按顺序处理,暂停打印通常有两种场景:一是暂停队列中的某个任务(如用户误提交了错误文档),二是暂停整个打印机的打印服务(如打印机缺纸、卡纸需要维护),理解这两种场景的差异,有助于选择正确的操作方式。

命令行方法暂停打印

命令行是Linux系统管理的常用方式,尤其适用于服务器环境或无图形界面的系统,以下是常用命令及操作步骤:

查看打印队列状态

在暂停打印前,需先确认打印队列中的任务情况,使用lpstat命令可以查看打印机的状态和队列中的任务。

  • 查看所有打印机的状态

    lpstat -a

    输出示例:

    HP_LaserJet_Pro_M404n  accepting requests since Mon 01 Jan 2024 10:00:00 CST  
    Canon_PIXMA_G3000  accepting requests since Mon 01 Jan 2024 10:05:00 CST  

    accepting requests”表示打印机正在接受打印任务,“not accepting requests”则表示暂停接受新任务。

  • 查看队列中的打印任务

    lpstat -o

    输出示例:

    HP_LaserJet_Pro_M404n-1     user1      123     待处理  
    HP_LaserJet_Pro_M404n-2     user2      124     打印中  

    每个任务包含任务ID(123、124)、用户名和状态(待处理、打印中)。

暂停特定打印任务

如果只想暂停队列中的某个任务(如任务ID为123的任务),使用cancel命令:

linux如何暂停打印

cancel 123

执行后,该任务会被从队列中移除,若任务正在打印,则会立即停止,若需强制停止(即使任务处于打印中),可添加-f参数:

cancel -f 123

暂停整个打印机的打印服务

若需要暂停打印机接受所有新任务(如打印机维护),可通过修改打印机属性实现,使用lpadmin命令:

sudo lpadmin -p 打印机名称 -o pause

暂停名为“HP_LaserJet_Pro_M404n”的打印机:

sudo lpadmin -p "HP_LaserJet_Pro_M404n" -o pause

执行后,打印机状态会变为“not accepting requests”,新提交的任务会被拒绝进入队列,但队列中已有的任务仍会继续打印。

恢复打印服务

暂停打印机后,若需恢复打印服务,使用lpadmin命令取消暂停状态:

sudo lpadmin -p 打印机名称 -o resume
sudo lpadmin -p "HP_LaserJet_Pro_M404n" -o resume

使用cupsctl控制打印服务

CUPS还提供了cupsctl命令,用于动态调整打印服务的行为,临时暂停所有打印机的任务处理:

sudo cupsctl --set-device-uri=//no/printer

此命令会将所有打印机的设备URI设置为“//no/printer”,阻止数据发送到打印机,恢复时需重新设置正确的设备URI(可通过lpinfo -v查看打印机URI):

sudo cupsctl --set-device-uri=usb://HP/LaserJet_Pro_M404n?serial=xxx

图形界面方法暂停打印

对于使用图形界面的Linux用户(如Ubuntu、Linux Mint等),可通过系统设置或打印机管理工具暂停打印,操作更直观。

通过系统设置管理打印机

以GNOME桌面环境(Ubuntu默认)为例:

  • 打开“设置”→“打印机”,在列表中选择目标打印机(如“HP_LaserJet_Pro_M404n”)。
  • 点击“打印机选项”或“首选项”,找到“打印机状态”或“管理”选项。
  • 勾选“暂停打印”或“不接受新任务”,点击“应用”即可暂停打印机。
  • 恢复时取消勾选即可。

使用系统打印管理工具

部分发行版(如Fedora、CentOS)提供“打印机配置”工具(system-config-printer):

linux如何暂停打印

  • 在终端运行system-config-printer命令,打开图形界面。
  • 选择目标打印机,点击“打印机”菜单→“暂停打印”。
  • 恢复时再次点击“暂停打印”取消勾选。

暂停特定任务(图形界面)

在“打印机配置”工具中,切换到“队列”选项卡,可以看到所有打印任务,右键点击需暂停的任务,选择“暂停”或“取消”,即可暂停或移除该任务。

注意事项

  1. 权限问题
    命令行操作中,lpadmincupsctl需要管理员权限(sudo),普通用户只能管理自己提交的任务(如cancel 123只能取消当前用户的任务123)。

  2. 打印机状态检查
    暂停打印后,建议通过lpstat -a确认打印机状态是否变为“not accepting requests”,避免因状态未更新导致操作无效。

  3. 任务恢复
    使用cancel命令暂停的任务无法直接恢复,只能重新提交;暂停的打印机可通过lpadmin -p 打印机名称 -o resume恢复,但队列中的任务会继续处理。

  4. 网络打印机
    若为网络打印机,需确保CUPS服务允许远程连接(修改/etc/cups/cupsd.conf中的Listen 631Allow @LOCAL),否则无法远程管理打印任务。

常用命令速查表

命令 功能 示例
lpstat -a 查看所有打印机状态 lpstat -a
lpstat -o 查看队列中的打印任务 lpstat -o
cancel 任务ID 取消暂停指定任务 cancel 123
sudo lpadmin -p 打印机名称 -o pause 暂停整个打印机 sudo lpadmin -p "HP_LaserJet" -o pause
sudo lpadmin -p 打印机名称 -o resume 恢复打印机打印服务 sudo lpadmin -p "HP_LaserJet" -o resume
sudo cupsctl --set-device-uri=//no/printer 动态暂停所有打印机 sudo cupsctl --set-device-uri=//no/printer

相关问答FAQs

问题1:使用cancel命令取消任务时提示“cancel: Bad job ID”,怎么办?
解答:该错误通常是因为任务ID不存在或已处理完成,可通过lpstat -o查看当前队列中的有效任务ID,确保输入正确的ID,若任务已完成,则无需操作;若任务ID正确但仍报错,可能是CUPS服务异常,尝试重启CUPS服务:sudo systemctl restart cups

问题2:暂停打印机后,新提交的任务仍进入队列,是什么原因?
解答:可能是暂停操作未生效,检查打印机状态:lpstat -a | grep "打印机名称",若仍显示“accepting requests”,说明暂停命令执行失败,常见原因包括:① 未使用sudolpadmin需要管理员权限);② 打印机名称输入错误(可通过lpstat -p查看所有打印机名称);③ CUPS服务异常(重启服务:sudo systemctl restart cups),重新执行暂停命令并确认状态即可。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28226.html

(0)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

  • linux如何登录root用户

    Linux 中,可通过输入 su 或 sudo -i 命令,然后

    2025年8月14日
    2200
  • linux如何查询vlan

    Linux系统中,可以使用ip link show命令查看VLAN配置,或使用`ifconfig

    2025年8月17日
    1900
  • 如何制作Linux安装U盘?详细步骤与工具有哪些?

    制作Linux安装U盘是安装Linux系统的关键前置步骤,通过将Linux镜像文件写入U盘,可引导电脑进入安装环境,以下是详细的制作流程,涵盖工具准备、操作步骤及注意事项,帮助不同操作系统用户顺利完成制作,准备工作在开始制作前,需确保以下工具和材料准备到位:硬件设备U盘:容量建议≥8GB(Linux镜像文件通常……

    2025年8月27日
    1900
  • Linux下Tomcat如何安全启动?

    启动前的准备工作安装Java环境Tomcat依赖Java,需先安装JDK:sudo apt updatesudo apt install openjdk-11-jdk # 以Ubuntu为例,推荐JDK 8/11/17验证安装:java -version下载并解压Tomcat从Apache Tomcat官网下载……

    2025年7月24日
    2800
  • Linux中怎么用vi编辑器快速打开文件?

    在 Linux 终端输入 vi 文件名 启动 vi 编辑器打开文件,启动后处于命令模式,按 i 键进入编辑模式修改内容,编辑完毕按 Esc 返回命令模式,输入 :wq 保存并退出,或 :q! 不保存强制退出,使用方向键或 h、j、k、l 键移动光标。

    2025年7月2日
    3900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信