Printing

CUPS:添加列印機失敗並顯示“無法獲取列印機驅動程序列表:成功”

  • April 12, 2021

使用 CUPS Web 界面安裝新列印機時,僅顯示消息而不是顯示驅動程序列表

Unable to get list of printer drivers:
Success

被陳列。不能添加列印機。

問題:這裡有什麼問題?在 Internet 上搜尋可以提供有關該問題的多個報告,但很難找到解決方案。

更多資訊:

通過與 CUPS 通信的其他 GUI 添加列印機也不起作用。

此外,執行

lpinfo -m

一段時間後列印

lpinfo: success

而不是驅動程序列表,並執行

/usr/lib/cups/driver/foomatic list

CPU使用時間長。

此錯誤作為和之間gutenprint的互動觸發。foomatic``cups

快速解決方法:

  • 刪除gutenprint,
  • 或者:刪除提供的包/usr/lib/cups/driver/foomaticfoomatic-db-engine在 Arch Linux 上),
  • 或:手動刪除文件/usr/share/foomatic/db/source/driver/gutenprint-ijs*.xml

更深入:

有一個關於這個問題的內容豐富的討論[已經在這裡],所以我只提供一個摘要:

  • gutenprint安裝兩個相當大的 XML 文件,即/usr/share/foomatic/db/source/driver/gutenprint-ijs-simplified.5.2.xml/usr/share/foomatic/db/source/driver/gutenprint-ijs.5.2.xml(在撰寫本文時的目前版本中)。
  • foomatic或其中一個子包(foomatic-db-engine在 Arch Linux 中)安裝 perl 腳本/usr/lib/cups/driver/foomatic
  • 當 CUPS 嘗試獲取列印機驅動程序列表時,/usr/lib/cups/driver/foomatic list會呼叫它,這在大型 XML 文件上花費的時間太長(這是 的故障/usr/lib/cups/driver/foomatic)。最終,它可能會完成,但 CUPS 在沒有得到任何有關列印機驅動程序的資訊的情況下提前超時並產生這個奇怪Success的錯誤。由於它沒有獲得有關列印機驅動程序的資訊,因此除了手動編輯配置文件之外,無法通過任何介面將列印機添加到 CUPS。

因此,只要/usr/lib/cups/driver/foomatic不固定在大文件上更快,可能最好的解決方法是,如果想要同時安裝gutenprint和完整foomatic安裝,手動刪除由gutenprint 提供的兩個大 XML 文件。(增加 CUPS 的超時時間並不好,因為可能要等上幾個小時。)

對於 Arch Linux,如果在本地建構包(例如,通過 Arch 建構系統,或者通過安裝yaourtcustomizepkg設置),可以將以下更新檔應用於 以PKGBUILDgutenprint包中進行修改:

--- PKGBUILD.old        2016-04-14 18:13:15.000000000 +0200
+++ PKGBUILD.new        2016-04-14 18:41:47.000000000 +0200
@@ -47,5 +47,8 @@
package() {
  cd ${pkgname}-${pkgver}
  make DESTDIR=${pkgdir} install
+
+  # The following line was added by '"'customizepkg-scripting'"', script '"'$0'"', in order to work around the bug described at https://bugs.archlinux.org/task/47718
+  rm -fv "${pkgdir}"/usr/share/foomatic/db/source/driver/gutenprint-ijs*.xml
}

引用自:https://unix.stackexchange.com/questions/276736