
Arch LinuxでWi-Fiプリンタを動かすには、まず必要なパッケージをインストールする。Canonのプリンタを使うなら、AURに用意されたcnijfilter2を入れる。
次に印刷サービスのCUPSを有効化する。サービスを起動すればWeb管理画面やGUIから設定ができる。
yay -S cnijfilter2
sudo systemctl enable --now cups.serviceプリンタの管理を簡単にするなら、KDEの「Print Manager」を入れる。インストールするとシステム設定にプリンタの項目が現れ、GUIから追加や管理が行える。コマンド操作が苦手な人にも扱いやすい。
sudo pacman -S print-managerプリンタをWi-Fiに接続するためには無線LANの設定が必要になる。多くのプリンタは本体の操作パネルからSSIDとWi-Fiパスワードを入力すれば接続できる。プリンタ固有の無線パスワードが求められる場合もある。そのときはプリンタを操作してパスワードをみつけるなりして得た情報を入力する。無線設定がうまく通れば、Arch Linux側からプリンタを認識できるようになる。
これで終わればいいのだが、うまく作動しないこともある。そのときには、どうすればいいのだろうか。
まずは冷静になってwifiとプリンタとPCの仕組みを把握していこう。
Wi-FiでプリンタとPCをつなぐ仕組み
プリンタをWi-Fiで利用するとき、内部ではいくつかの処理が順に進んでいる。
- プリンタをネットワークにつなぐ
プリンタは無線LAN機能を使ってルーターに接続する。SSIDとパスワードを入力すれば、スマホやPCと同じようにネットワークの一員になる。
- プリンタがIPアドレスを受け取る
ルーターはプリンタにIPアドレスを割り当てる。これは郵便番号のような役割を持ち、PCが印刷データを送るときの宛先になる。IPアドレスが変わると通信が不安定になるため、固定IPやDHCP予約で一定にしておくとよい。
- PCがプリンタを見つける
PCはプリンタの存在を確認する。自動で見つける方法としてはmDNS(BonjourやAvahi)がある。自動で見つからない場合は、プリンタのIPアドレスを手動で指定する。
- PCとプリンタの通信方式
PCとプリンタは共通の方式で通信する。よく使われるのはIPP(Internet Printing Protocol)、RAWの9100番ポート、古い方式のLPDである。LinuxではCUPSという印刷システムがこれらの方式を利用してデータを送る。
- ドライバの役割
プリンタは特定の言語でしか印刷データを理解できない。PC側のドライバはデータをPCLやPostScriptなどプリンタが解釈できる形式に変換する。最近の機種はIPP EverywhereやAirPrintに対応しており、追加のドライバなしで動作することもある。
Wi-Fi印刷の仕組みは「プリンタをネットワークに接続する → IPアドレスを持たせる → PCが検出する → 共通の方式で通信する」という流れである。
必要なパッケージのインストール
一連の流れを理解したら必要なソフトウエアをインストールしていく。
Arch Linuxでプリンタを使うには、印刷システム本体である CUPS を導入するのが前提となる。まず基本パッケージをインストールする。
sudo pacman -S cups cups-pdf system-config-printer gutenprintcups は印刷サービスの中核であり、ジョブ管理やプリンタとの通信を担う。cups-pdf は仮想PDFプリンタを追加するためのパッケージで、紙に出力せずにPDFファイルとして保存できる。system-config-printer はGUIツールで、CUPS管理画面を開かずにプリンタを追加・削除できるため初心者にも扱いやすい。gutenprint は汎用ドライバ群で、多数のインクジェットプリンタをサポートする。メーカー提供の専用ドライバがAURに存在しない場合の代替手段として有効だ。
メーカーが公式にLinux用ドライバを提供している場合は、AURからインストールすることになる。例えばCanonのインクジェットなら以下のように実行する。
yay -S cnijfilter2Brother製品であれば brlaser や brother-dcp-cups-wrapper など、機種別のパッケージがAURに揃っていることが多い。導入後はCUPSサービスを有効化する。
sudo systemctl enable --now cups.serviceここまでで印刷の基盤は整う。次は、ネットワーク経由でプリンタを認識させ、CUPS管理画面から追加設定を行っていく。
CUPSの管理画面からプリンタを追加する方法
CUPSを有効化したら、Webブラウザから管理画面にアクセスできる。アドレスバーに「http://localhost:631」と入力するとCUPSの管理画面が開く。トップページにある「管理」タブから「プリンタの追加」を選ぶと設定が始まる。
追加画面ではまず接続方法を選ぶ。Bonjour(Avahi)で自動検出されたプリンタが表示されることもある。もし出てこないなら、プリンタのIPアドレスを直接入力して追加できる。IPはプリンタ本体の液晶画面や設定メニューから確認できる。
選んだ接続方法に進むと、ユーザー名とパスワードの入力が求められる。Arch Linuxでは通常のユーザーではなくrootアカウントで認証する。パスワードを入力するとプリンタの詳細設定に進める。
続いてドライバの選択画面が表示される。ここでインストール済みのドライバ(例:cnijfilter2やgutenprint)を選ぶ。もし対応ドライバが見つからない場合は、Genericドライバを選んで印刷可能か試す。ドライバが正しく選ばれれば、プリンタの名前と説明を入力して登録を完了できる。
最後に「プリンタの管理」画面からテストページを印刷してみる。ここで印刷が通れば設定は完了だ。もし失敗するならIPやドライバを再確認する。
http://localhost:631とは
インターネットやLANで通信するとき
- IPアドレス(またはホスト名 = localhost など) が「どのコンピュータか」を示し、
- ポート番号 が「そのコンピュータの中のどのサービスか」
を示す。
電話でいうと「市外局番がIPアドレス、内線番号がポート番号」のような関係になっている。631 は CUPS が使う標準ポート番号。ブラウザから http://localhost:631 にアクセスすると、その管理用ウェブインターフェースが開ける。
つまり
- localhost = 自分のPC
- :631 = CUPSのWeb管理ページに繋ぐための入り口
となる。
ちなみに、
- HTTPの標準は80番
- HTTPSは443番
- SSHは22番
- CUPSは631番
と、それぞれポート番号が決まっていて、ブラウザやプログラムはそこを叩いてサービスにアクセスする。ポート番号を指定しない http://localhost/ なら80番を見るが、CUPSは80ではなく631で動いているから、ちゃんと :631 を書いてやらないと辿り着けない。
Wi-Fiプリンタの追加設定手順
Wi-Fiプリンタを認識させるには二つの方法がある。ひとつはBonjour(Avahi)を利用した自動検出だ。Arch LinuxではAvahiを有効にする必要がある。
sudo pacman -S avahi
sudo systemctl enable --now avahi-daemon.serviceサービスを有効化すると、同じネットワーク上にあるCanonやBrotherのプリンタを自動で一覧に表示できる。表示された機種を選べばCUPSに登録される。
もうひとつはIPアドレスを指定して追加する方法だ。自動検出がうまくいかないときにはこの方法を使う。
プリンタ本体の液晶画面や設定ページからWi-Fi接続時のIPアドレスを確認する。そのアドレスを「AppSocket/HP JetDirect」や「LPD/LPR」入力欄に入力して登録する。Canonのインクジェットなら socket://192.168.1.50 のように指定する。Brother機も同じ手順で登録できる。
追加の最後にドライバを選ぶ画面が出る。専用パッケージを導入していればメーカー名と機種が候補に表示される。もし見つからないときは「Gutenprint」から対応モデルを選ぶ。設定を保存すると、Arch LinuxからWi-Fiプリンタに印刷できるようになる。
トラブルシューティング:接続できない時の対処法
Wi-Fiプリンタを追加しても表示されないことがある。多くはAvahiやCUPSの設定に原因がある。まずサービスが動いているか確認する。
systemctl status cups.service
systemctl status avahi-daemon.service動作していなければ有効化する。プリンタ自体の無線接続が切れていることもあるので、液晶画面やルーター管理画面で確認すると早い。
ドライバが未対応だと一覧に機種が出てこない。この場合はAURからメーカー提供パッケージを導入するか、汎用ドライバのGutenprintを選ぶとよい。Canonのインクジェットはcnijfilter2、Brotherはbrlaserなどがある。
Firewallが原因でブロックされることもある。ufwやfirewalldを使っているなら、TCP 631番ポートを開放する。
sudo ufw allow 631/tcpCUPSがエラーを出していないか確認するにはログを確認する。
lpstat -p
journalctl -u cupslpstat -pは登録済みプリンタの状態を表示する。エラーがあると「停止中」などの状態が出る。
journalctl -u cups
では詳細なエラーメッセージを追える。設定を直したら再度サービスを再起動して、管理画面からプリンタを追加し直す。
実用的に使うための設定と運用のコツ
プリンタを快適に使うには、毎回機種を選ばなくてもよいようにデフォルトを設定すると便利である。次のコマンドで標準プリンタを指定できる。
lpoptions -d プリンタ名これで印刷時に指定しなくても自動で選ばれる。PDFに書き出す用途も多い。cups-pdfを入れておくと、仮想プリンタとして「印刷」でPDF保存ができる。Webページや原稿を整理するときに役立つ。
ネットワーク環境で安定させるには固定IPを割り当てるとよい。ルーター側でDHCP予約を設定すると、プリンタのIPが変わらず接続が途切れにくくなる。Avahiが不安定なときは再起動すると解決することがある。
sudo systemctl restart avahi-daemon複数の端末で同じプリンタを共有しているなら、各端末で同じようにCUPSを有効化しておくと管理が楽。トラブルを避けるため、CUPSやドライバを定期的に更新しておくと安心だ。



