如何从终端列出所有可用的打印机?

我需要一个命令来列出我Ubuntu系统中可用的打印机。
这个打印机列表可以是已安装的或共享的?
这个列表还应该显示打印机的状态。
有什么帮助可以帮我实现我的目标吗?
4个回答

命令lpstat -p将列出您桌面上所有可用的打印机。
无论它们是否可用(即它们的状态如何)。

2还适用于 macOS(Ventura 13.0) - Mint
截至2023年,brian_p的回答更正确。 - undefined

如果你只想要打印机的名称:
lpstat -p | awk '{print $2}'

查看他们的姓名和打印队列:
lpstat -p | awk '{print $2}' | xargs -n1 lpq -P

我需要一个命令来列出我在Ubuntu中的可用打印机。
我已将可用加粗,因为原帖作者可能指的是可用。 lpstat -p或lpstat -t均无法列出局域网上所有可用打印机的列表。这两个命令只显示本地(通常称为永久)打印机。这两个命令似乎成为对这个问题不足的回答。
截至2022年,lpstat -e或lpsta -l -e会列出局域网上的所有可用打印机。

要获取关于所有可用打印机的最详细信息,包括本地和局域网打印机,您可以使用-t选项与lpstat一起使用。

它会告诉您以下内容:

  1. 调度程序信息
  2. 默认打印机
  3. 打印机的地址
  4. 启用状态及时间戳
  5. 接受作业状态及时间戳
  6. 打印机当前是否正在打印

以下是示例输出:

> lpstat -t

scheduler is running
system default destination: HP_Ink_Tank_Wireless_410_series_1C5045
device for Deskjet-Ink-Adv-2010-K010: hp:/usb/Deskjet_Ink_Adv_2010_K010?serial=CN12C11MQH05MB
device for HP_Ink_Tank_Wireless_410_series_1C5045: implicitclass://HP_Ink_Tank_Wireless_410_series_1C5045/
Deskjet-Ink-Adv-2010-K010 accepting requests since Saturday 30 April 2022 10:45:04 AM
HP_Ink_Tank_Wireless_410_series_1C5045 accepting requests since Monday 02 May 2022 01:54:54 PM
printer Deskjet-Ink-Adv-2010-K010 is idle.  enabled since Saturday 30 April 2022 10:45:04 AM
printer HP_Ink_Tank_Wireless_410_series_1C5045 now printing HP_Ink_Tank_Wireless_410_series_1C5045-202.  enabled since Monday 02 May 2022 01:54:54 PM
HP_Ink_Tank_Wireless_410_series_1C5045-202 user           679936   Monday 02 May 2022 01:54:54 PM