打印机驱动程序在哪里

打印机驱动程序在哪里

我的电脑上有一个 ppd 文件,是针对特定打印机的。我该去哪里找这个 PPD 文件?我查看了 /usr/share/cups,但没有看到任何针对我的设备的文件。但也许我没有找到正确的东西。

以下是打印机设置的一部分: cat /etc/cups/printers.conf

<DefaultPrinter Durp>
UUID urn:uuid:dbf63043-fa91-00-71a4-6dea70508ddc
Info Canon iR-ADV 4245/4251 PPD
Location Room
MakeModel Canon iR-ADV 4245/4251 PPD
DeviceURI socket://address:9100/
State Idle
StateTime 1475107341
ConfigTime 1475107011
Type 8433876
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
Attribute marker-colors \#000000,none,#000000
Attribute marker-levels 13,-1,-1
Attribute marker-names Canon GPR-42 Black Toner,Waste Toner,Black Drum Unit
Attribute marker-types toner,waste-toner,opc
Attribute marker-change-time 1475107341
</DefaultPrinter>

从这里,我看不到 Foomatic 驱动程序在哪里,也看不到它正在使用哪个 ppd 文件。我应该寻找打印机的特定 PPD 文件吗?在 /etc/cups/ppd/ 中,我看到了有问题的打印机的 ppd 文件,但它来自哪里,又是如何生成的?PPD 文件的来源在哪里?/etc/cups/ppd 中的 ppd 文件只是正在使用的文件。其他地方有完整的列表吗?

答案1

查看下/usr/share/ppd,可能有一个或两个子目录,但最终您的驱动程序应该在那里的某个地方。

答案2

cups 守护进程会定期读取和更新文件 Printers.conf。后台使用的技术是基于 Bonjour 或 Zeroconf 的 mdns,它允许本地网络上的设备发布服务。在最新版本的 Ubuntu 中,此功能由 avahi-daemon 实现。发布的服务可以用 列出avahi-browse -at。选项 -a 表示所有服务,选项 -t 表示不继续监听并终止。就我而言,当我断开打印机连接时,它什么也没有列出。如果我重新连接,它会列出打印机发布的许多可用连接。如果我关闭打印机,avahi 守护进程会注意到这一点,并且它再次什么也没有列出。

与此相关,我遇到的问题是,在“设置”->“打印机”中,显示了许多我无法使用 本地找到的打印机lpstat -p。它们是由与打印机关联的连接中的 avahi-daemon 找到的。我找不到 avahi-daemon 的任何配置来避免这种情况:任何阻止发现额外打印机的配置也会破坏原本正确的打印机。我不得不修改打印机本身的网络配置。我删除了允许发现的所有方式、所有功能,除了基本的 ipv4、ipv6、dhcp、Bonjour 和 IPP。我重新启动了 avahi-daemon 和 cups 守护程序,并且我只在“设置”->“打印机”中找到了正确的打印机。

当然,如果打印机位于可能需要其他功能的网络中,那么这不是一个解决方案。在这种一般情况下,解决方案将需要一个更灵活的 avahi 守护程序或由设置->打印机提供的更灵活的界面,或者在这两者之间具有所需灵活性的东西,比如 cups 守护程序。

相关内容