CUPS Webインターフェイスを使用して新しいプリンタをインストールすると、ドライバのリストは表示されず、メッセージのみが表示されます。
Unable to get list of printer drivers:
Success
表示されます。プリンタを追加できません。
Q:ここで問題は何ですか?インターネットを検索してみると、問題に関するいくつかのレポートがありましたが、解決策を見つけるのは困難でした。
追加情報:
また、CUPSと通信する他のGUIを介してプリンタを追加することは機能しません。
また、以下を実行します。
lpinfo -m
しばらくすると印刷
lpinfo: success
ドライバリストの代わりに実行
/usr/lib/cups/driver/foomatic list
必要非常にCPUを長時間占有します。
ベストアンサー1
gutenprint
このエラーはfoomatic
、および間の相互作用によって発生しますcups
。
クイックフィックス:
- 削除する
gutenprint
, - または、提供されたパッケージを削除します
/usr/lib/cups/driver/foomatic
(foomatic-db-engine
Arch Linuxの場合)。 - または:ファイルを手動で削除します
/usr/share/foomatic/db/source/driver/gutenprint-ijs*.xml
。
より深く:
この問題について豊富な議論があります。すでにここに]、要約を提供します。
gutenprint
2つのやや大きな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
または、サブパッケージの1つ(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が提供する2つの大容量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
}