如何在Ubuntu中清除打印队列?

我是一个完全的Ubuntu初学者,我的H.P. 840C打印机似乎有一长串的文件等待打印。
5个回答

问题是如何终止所有作业。 终止所有作业的简单方法:
lprm -

复杂的 Linux 传统方式如下:
命令行:
lpstat -o

查看未完成的打印任务。
cancel -a {printer}

取消所有工作或...

cancel {printerjobid}

取消1个任务。

man page 取消


1当我在命令行中输入代码时,显示了一个打印作业列表。然后我输入$ cancel -a(printer),下一个命令行显示:- bash:syntax error near unexpected token "("。 - Norman Woodcock
嗯,这很奇怪。你确定你插入了打印机ID吗? - Rinzwind
对我来说没用。:( - some_other_guy
嗨,这对我也没有起作用。不过,删除打印机然后重新添加它就完成任务了。 - João Silva
没成功的人,第二步是什么? lpstat -o 的输出应该类似于 <yourusername_printername>。只需将其完全输入到第二步中的 {printer} 中即可。在Ubuntu 15.04上运行良好。谢谢 Rinzwind :) - Manuel
@Manuel 欢迎你 :) - Rinzwind
很有趣,这个工作得很好,但在使用gnome-printers图形界面时不行。太糟糕了! - Gerhard Stein
@Gerstrong 你收到通知了吗?因为这完全超出了gnome-printers的范围。在这里,命令行总是胜出的 ;) - Rinzwind
没有任何通知,没有任何反应。工作还在那里。而命令行则将其删除。 - Gerhard Stein
很可能你需要从图形界面使用sudo。 - Rinzwind

要么

  1. 使用打印机对话框:在搜索栏中键入“打印机”,然后导航到打印机
  2. 使用CUPS Web界面:在浏览器中输入 http://localhost:631/jobs/ 并从那里继续
  3. 使用命令行界面:使用 lpq 查看作业,使用 lprm 删除。有关更多信息,请参阅 man lprm

有没有类似于 lprm * 的东西可以取消所有作业?还是我们必须逐个取消? - MichaelChirico
@MichaelChirico man lprm | grep "cancel all jobs" - zwets

使用
lpstat -W completed -o

查看已完成的工作列表。
使用
lpstat -o

查看未完成工作列表。

要删除工作列表,只需使用此命令:

cancel -a -x

这将取消所有待处理的任务,并将其删除。

5这应该是被接受的答案。 - vcarel

嗯,这里给出的答案对我没用,所以我做了以下操作 -
ps aux | grep printer
kill {printer job}

我尝试使用 lpstatlprm,但无法弄清楚诸如作业编号之类的基本信息。相反,我使用了以下命令:
lpq

这产生了:
zac@computer:~$ lpq
lpq: Error - no default destination available.

一个快速的互联网搜索,然后我尝试了一下:
zac@computer:~$ lpq -a
Rank    Owner   Job     File(s)                     Total Size
1st     zac     85      TorahNT.odt                 59392 bytes

终于我找到了非常重要的工作号码:85!
现在我运行lprm命令:
zac@computer:~$ lprm 85
zac@computer:~$

确认我做了这件事:

和确认我做了这件事:

zac@computer:~$ lpq -a
no entries
zac@computer:~$ 

终于,打印队列已经清空。

非常好的清晰回答——对于不熟悉命令的人来说非常有帮助,谢谢! - Zanna