6.3 查看打印机是如何连接的

lpstat -s

笔记本计算机用户将会发现接下来介绍的这个命令非常有用,因为它能够告诉他们如何访问可用的打印机。在第一次安装一台打印机时,必须指定如何连接到它。可以有如下几种选择。

  • 本地(通过并口、串口或USB接口连接)
  • 远程LPD队列
  • SMB共享打印机(Windows系统)
  • 网络打印机(TCP)
  • 远程CUPS服务器(IPP/HTTP)
  • 使用IPP的网络打印机(IPP/HTTP)

要找出计算机上配置了哪些打印机,以及如何连接到这些打印机,可以使用带有-s选项的lpstat命令。

  1. $ lpstat -s
  2. system default destination: bro
  3. device for bro: socket://192.168.0.160:9100
  4. device for bro_wk: socket://192.168.1.10:9100
  5. device for wu: socket://128.252.93.10:9100

在这个例子中,每个打印机都是网络打印机,所以使用socket://,后面跟着每个打印机的IP地址和端口号(9100是大多数网络打印机的标准端口,可能有时也能够看到使用35端口的情况)。现在还非常简单,不过情况马上就变得复杂了。

虽然CUPS在很多情况下都是用户友好的,但是当涉及使用URI(Uniform Resource Indicators,统一资源定位符)标识Linux计算机中打印机的位置时,它出奇地迟钝。表6-1列出了你可能见过的每种连接方法和URI类型,可以帮助理解运行lpstat –s命令时看到的打印机和URI列表。

说明 假设在接下来的例子中,使用的打印机的名称是bro,其网络IP地址为192.168.0.160。当然,这一假设并不是在每种情况下都有用。如果打印机是通过并行接口的电缆连接的,那么它的IP地址则无关紧要。

表6-1 打印机连接和CUPS URI

连接方法 URI示例(打印机bro位于192.168.0.160)
并行接口 parallel:/dev/lp0
串行接口 serial:/dev/ttyS1?baud=115200
USB接口 usb:/dev/usb/lp0
远程LPD队列 lpd://192.168.0.160/LPT1
SMB共享打印机 (Windows系统) smb://username:password@192.168.0.160/bro
网络打印机(TCP) socket://192.168.0.160:9100
远程CUPS服务器(IPP/HTTP) ipp://192.168.0.160:631/printers/bro、 http://192.168.0.160/printers/bro
使用IPP的网络打印机(IPP/HTTP) ipp://192.168.0.160:631/printers/bro、 http://192.168.0.160/printers/bro

由于过去几年中网络打印的发展,现在通过socketipp、或http等方式连接到打印机已经变得越来越简单了。尽管如此,你仍然可能会遇到传统打印机(legacy printer),它们需要使用旧的、更复杂的连接方法,所以让自己先熟悉它们还是不错的。

提示 有一个额外的收获就是,lpstat –s本质上复制了lpstat-p–d的功能,除了默认打印机以外,它也列出了系统中能识别出的所有打印机。如果你想快速获取打印机的所有信息,这是一个非常好用的命令。