Printing
CUPS:添加列印機失敗並顯示“無法獲取列印機驅動程序列表:成功”
使用 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/foomatic
(foomatic-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 建構系統,或者通過安裝
yaourt
和customizepkg
設置),可以將以下更新檔應用於 以PKGBUILD
在gutenprint
包中進行修改:--- 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 }