2013/06/23

Arch Linuxからhpのプリンタに直接/ネットワーク接続する (HPLIP)

Arch LinuxなどのLinux環境から、hpのインクジェットプリンタ(複合機)に接続するという話です。直接USB接続したり、ネットワーク接続することができます。

今回接続するhpプリンタは、HP Photosmart 5510 B111a という製品で、
プリンタというか複合機ですが、安いのにタッチパネル&無線LAN搭載(Web管理可能)という代物です。これを家のLAN内に無線LAN接続してあります。
ちなみに、このプリンタはGoogle Cloud Printに対応しているため、普段から印刷するときはクラウド経由で印刷していたりしますが、今回は直接接続して印刷する方法です。
それにしてもhpのプリンタは、音が煩く仕事も力まかせ感があります.....安いけれど。家で使い比べていますが、静音性も丁寧さについては国内メーカーの方が格段に上です。

さて、hpではLinux向けプリンタドライバを オープンソースプロジェクトとして
"HP Linux Imaging and Printing (HPLIP)"という名称で公開しています。
http://h10018.www1.hp.com/wwsolutions/linux/products/printing_imaging/index.html (プリンタ以外にもイメージング/印刷全般ですね。)

Arch Linuxでは、pacmanのextraリポジトリに、この"HPLIP"が含まれています。
https://www.archlinux.org/packages/extra/x86_64/hplip/

従って、pacmanで"hplip"をインストールするだけで使えます。
またGUIの為に"qt4"と"python2-pyqt"を併せてインストールします。
$ sudo pacman -Syu hplip qt4 python2-pyqt

次に、自分のユーザアカウントを"lp"グループに追加して、一旦ログアウトします。
$ sudo usermod -aG lp xxxx
$ logout

その後、"cups"を再起動してから、"hp-setup"を実行します。
$ sudo systemctl restart cups
$ sudo hp-setup

"HP Device Manager"が起動しますので、プリンタと接続する方法を選びます。
USB接続、ネットワーク接続、シリアル接続など...。

今回はLAN接続したプリンタなので、"Network/Ethernet/Wireless ..."を選びます。
さらに...本来はこのまま"Next"しても良いはずですが、プリンタを固定IPアドレスにしてあるので、"Manual Discovery"にチェックを入れ、IPアドレスを入力します (portはそのまま)。 自動よりもこの方が安定するようです。

次に、このようにプリンタ一覧が表示されます。プリンタを選択して"Next"します。

すると、このような画面が表示されます。"Add Printer"をクリックすれば完了です。

CUPSに正しく認識されていれば、このように、
Gnomeの設定画面のプリンタ一覧などにもプリンタが表示されるはずです。
テストページを印刷してみて正しく印刷できるか試してみても良いでしょう。

尚、hp-setupが起動しない場合は...python3で実行されているかもしれません。次のようにpython2で実行してください:
$ python2 /usr/bin/hp-setup
(Arch LinuxではPython3とPython2が共存しているため、このような問題が起きます。
面倒くさければ、python2をデフォルトにしてしまうことをおすすめしますw)


また、hpプリンタの管理は "hp-toolbox" から行えます。
$ sudo hp-toolbox
hp-toolboxを実行したところ。プリンタのインク状態や設定などが行える。



ちなみに...他のLinux(UbuntuやFedora)でhpプリンタを扱いたい場合も同様です。
apt-getやyumから、HPLIPをインストールするだけです。
もしくは、hplipのサイトからパッケージを直接ダウンロードすることもできます。
http://hplipopensource.com/hplip-web/install_wizard/index.html