Epson EP4004 ( wifiでネットワーク接続 )をCUPSで使います。
Common Unix Printing System. Linuxでプリンタを使えるようにしてくれます。 plamo linux をセットアップしたときに一緒に入ってました。

Epsonのサイトからダウンロードしてインストールします。
日付の新しかった ESC/P-R Driver (generic driver) を選びました。 さらにページをめくって、 「epson-inkjet-printer-escpr-1.7.26-1lsb3.2.x86_64.rpm」(64bit用 rpmを選びました) をダウンロード。
rpm から tarに変換したのち、管理者権限で /opt 以下へ展開。
$ rpm2tar epson-inkjet-printer-escpr-1.7.26-1lsb3.2x86_64.rpmcupsで印刷するために必要なファイルが入ってます。
$ cd /opt $ tree -d epson-inkjet-printer-escpr epson-inkjet-printer-escpr/ ├── cups │ └── lib │ └── filter '<----filterプログラムが格納されてます' ├── doc ├── lib64 ├── ppds '<---- PPDファイルが格納されてます' │ └── Epson └── share
「状態」に"Filter failed" と出てるとき。
filterプログラムがエラーとなって起動できてない模様です。
filterプログラムは/opt/epson-inkjet-printer-escpr/cups/lib/filter/に格納されているのですが、試しにコマンド実行してみるとエラーになります。
# cd /opt/epson-inkjet-printer-escpr/cups/lib/filter/↓よくあるエラーの場合。リンクエラーを疑って、lddで確認してみると共有ライブラリに行き着かず「not found.」と表示されます
$ ldd ./a.out ... libcudart.so.7.0 => not found
のですが、filterプログラムを試してみたとき↓は「not found.」の表示は出てきません。
# cd /opt/epson-inkjet-printer-escpr/cups/lib/filter/
# ldd /epson-escpr-wrapper
linux-vdso.so.1 (0x00007ffed233b000)
libcupsimage.so.2 => /usr/lib/libcupsimage.so.2 (0x00007f7d66c01000)
libcups.so.2 => /usr/lib/libcups.so.2 (0x00007f7d66b70000)
libc.so.6 => /lib/libc.so.6 (0x00007f7d6698a000)
libgssapi.so.3 => /usr/lib/libgssapi.so.3 (0x00007f7d66948000)
libavahi-common.so.3 => /usr/lib/libavahi-common.so.3 (0x00007f7d6693a000)
libavahi-client.so.3 => /usr/lib/libavahi-client.so.3 (0x00007f7d66927000)
libgnutls.so.30 => /usr/lib/libgnutls.so.30 (0x00007f7d666fb000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f7d666de000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f7d666bd000)
libm.so.6 => /lib/libm.so.6 (0x00007f7d66570000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f7d66536000)
/lib64/ld-lsb-x86-64.so.3 => /lib64/ld-linux-x86-64.so.2 (0x00007f7d66c28000)
libheimntlm.so.0 => /usr/lib/libheimntlm.so.0 (0x00007f7d6652a000)
libkrb5.so.26 => /usr/lib/libkrb5.so.26 (0x00007f7d66496000)
libhx509.so.5 => /usr/lib/libhx509.so.5 (0x00007f7d66449000)
libwind.so.0 => /usr/lib/libwind.so.0 (0x00007f7d6641f000)
libheimsqlite.so.0 => /usr/lib/libheimsqlite.so.0 (0x00007f7d6636a000)
libhcrypto.so.4 => /usr/lib/libhcrypto.so.4 (0x00007f7d6632e000)
libasn1.so.8 => /usr/lib/libasn1.so.8 (0x00007f7d66285000)
libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007f7d6627d000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f7d66277000)
libheimbase.so.1 => /usr/lib/libheimbase.so.1 (0x00007f7d66266000)
libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f7d65f80000)
libroken.so.18 => /usr/lib/libroken.so.18 (0x00007f7d65f69000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00007f7d65f4e000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0x00007f7d65eeb000)
libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007f7d65db1000)
libidn2.so.0 => /usr/lib/libidn2.so.0 (0x00007f7d65d92000)
libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007f7d65d7d000)
libnettle.so.8 => /usr/lib/libnettle.so.8 (0x00007f7d65d36000)
libhogweed.so.6 => /usr/lib/libhogweed.so.6 (0x00007f7d65cee000)
libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007f7d65c77000)
libelogind.so.0 => /lib/libelogind.so.0 (0x00007f7d65b69000)
libffi.so.7 => /usr/lib/libffi.so.7 (0x00007f7d65b5c000)
libunistring.so.2 => /usr/lib/libunistring.so.2 (0x00007f7d657dc000)
libcap.so.2 => /lib/libcap.so.2 (0x00007f7d657ce000)
上記のようにリンクエラーを疑ってlddで試してみてもエラーが出ませんでしたが、色々検索してみるとやはりリンクエラーが原因のようです。(どうやって見分ければよいのでしょうか。。) ( ※LSB(Linux Standard Base)を使うソフトをうまく実行できない時によくある解決法である模様。)
# cd /lib64 # ln -s ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3
↑ /lib64/ld-lsb-x86-64.so.3 が無いので作ります。 ld-linux-x86-64.so.2 へのシンボリックリンクで良いそうです。
確かに、/lib64 には ld-lsb-x86-64.so.3 は存在しないし、 # ldconfig -p | grep ld-lsb-x86-64 でも出てこないので、エラーとなるはず。
試しに実行してみます。
# cd /opt/epson-inkjet-printer-escpr/cups/lib/filter/「パラメータがおかしい」と怒られましたが、起動は出来ている感じです。