Linuxを日常的に使う実験ブログ

Arch LinuxでBrother製プリンターDCP-J962Nを使う

 2023-07-15

 Linux全般

こんにちは。今回のテーマは「Arch LinuxでBrother製プリンターDCP-J962Nを使う」です。長年使っていたBrother DCP-J525Nが故障しネットワークへ繋がらなくなってしまいました。長年の相棒との別れは残念でしたが、新たにDCP-J926Nを迎えArch Linuxで使えるように設定しました。ネットで調査しましたがArch Linuxへの本機種のドライバ導入記事が見当たらなかったので何かの参考になればと記事にしました。

[adsense02]

導入環境

今回の導入環境です。ご参考になさってください。

項目説明
ディストリビューションArch Linux
アーキテクチャx86_64(64bit)
プリンター機種Brother DCP-J926N
接続方法無線LANによるネットワーク接続

ブラザーのプリンタードライバーが新しいタイプへ

かつてBrother DCP-J525Nのプリンタードライバーを導入したとき(参考記事)にはlprドライバとcupswrapperドライバの2つに別れていて、それぞれインストールする必要がありました。しかし筆者がDCP-J926Nを購入しドライバインストールを試してみたところファイルが一つに統合されていました。これに伴いArch Linuxへの導入方法も変わりましたので記事にしておこうと思います。

64bitにも対応?ドライバのファイル名には疑問も…

DCP-J926N用のドライバのファイル名はdcpj926npdrv-3.5.0.1.i386.deb(rpm版は拡張子が.rpm)です。ファイル名から素直に判断するとアーキテクチャがi386用のドライバと読めるのですが、実は中身を見てみるとx86_64用のファイルも含まれているという実態であり、deb版のインストール用スクリプト(postinst)ではアーキテクチャに応じてファイルの配置場所を変更するようになっています。Arch Linuxに手動でインストールする際にもアーキテクチャの種類に応じてファイルをの配置を変える必要があるので注意が必要です。従来のBrotherのドライバはi386のみ対応でしたので、新しいドライバではx86_64に対応してきているということなのだと思いますが、それならばファイル名の「i386」は混乱を招く元では?というのが正直な感想です。

DEB, RPM形式が前提

以前のドライバでもそうだったのですが、BrotherのドライバはDEBかRPM形式で配布されています。よってこの形式のパッケージを扱えないArch Linuxユーザーは自らの責任でパッケージを展開してインストールしないといけません。今まで2つに分かれていたドライバーが統合されたことでインストール方法も少し変わっています。今回はそこのところを解説したいと思います。

準備

まずドライバーインストールの準備をしていきます。

パッケージのインストールとCUPSの起動

CUPSサーバを立てる必要があるため、必要なパッケージをインストールします。すでにCUPSが稼働している場合は省いて大丈夫です。

pacman -S cups a2ps
systemctl start cups
systemctl enable cups
systemctl start cups-browsed
systemctl enable cups-browsed

ディレクトリの作成

以下のディレクトリが必要となりますので、ない場合は作成しましょう。すでにBrotherのプリンタドライバを利用している場合は作られていることが多いと思います。

mkdir -p /var/spool/lpd/
mkdir -p /usr/share/cups/model/
mkdir -p /usr/lib/cups/filter/
mkdir -p /usr/lib64/cups/filter/

ドライバーのダウンロード

Brotherのサイトよりプリンタドライバをダウンロードしてきます。今回はDCPJ-926N用のファイルdcpj926npdrv-3.5.0.1-i386.debをダウンロードしました。

ドライバファイルの解凍

今回はdeb版のファイルを解凍してインストールを試みます。Arch Linuxでのdebパッケージの扱いについてはArch Linuxでdebパッケージやrpmパッケージを扱う方法をご覧ください。

cd path/to/dev_file #debファイルのあるディレクトリに移動
ar vx dcpj926npdrv-3.5.0.1.i386.deb
tar -zxvf data.tar.gz
tar -zxvf control.tar.gz

解凍されて得られたoptディレクトリ以下にドライバファイルが入っています。

インストール

ではファイルを配置してインストール作業を進めていきましょう。コマンド操作は基本的にroot権限で行っています。

ファイルのコピー

cp -r ./opt/brother/Printers/* /opt/brother/Printers/ 

アーキテクチャに応じたリンクの追加

アーキテクチャがx86_64の場合には以下のようにリンクを設定します。

ln -s /opt/brother/Printers/dcpj926n/lpd/x86_64/brdcpj926nfilter /opt/brother/Printers/dcpj926n/lpd/brdcpj926nfilter
ln -s /opt/brother/Printers/dcpj926n/lpd/x86_64/brprintconf_dcpj926n /opt/brother/Printers/dcpj926n/lpd/brprintconf_dcpj926n

32bitマシンの場合には以下を実行します。

ln -s /opt/brother/Printers/dcpj926n/lpd/i686/brdcpj926nfilter /opt/brother/Printers/dcpj926n/lpd/brdcpj926nfilter
ln -s /opt/brother/Printers/dcpj926n/lpd/i686/brprintconf_dcpj926n /opt/brother/Printers/dcpj926n/lpd/brprintconf_dcpj926n

スクリプトを実行

rootユーザーで以下のスクリプトを実行しましょう。

/opt/brother/Printers/dcpj926n/inf/setupPrintcapij dcpj926n -i  
/opt/brother/Printers/dcpj926n/cupswrapper/cupswrapperdcpj926n

※以前の記事では上記ファイルを実行前にcupsの再起動部分をsystemctlを使うように書き換えると書きましたが、今回は書き換えなしでもインストール可能でした。

念のため、ディレクトリの権限も設定しておきます。

chmod 755 /opt/brother/Printers/dcpj926n/cupswrapper

実行ファイルの配置

次に実行ファイルをリンクとして配置しておきます。これもrootで行います。

ln -s /opt/brother/Printers/dcpj926n/lpd/brprintconf_dcpj926n /usr/bin/brprintconf_dcpj926n

CUPSからプリンターを追加する

念のため、cupsを再起動しておきましょう。

systemctl restart cups.service

ここから先はWEBブラウザでの操作になります。これまで当ブログで紹介してきたプリンターの登録方法と大きな変更点はありません。WEBブラウザでhttp://localhost:631にアクセスします。

「管理」タブ -> 「プリンターの追加」を選択してプリンターの追加画面を出します。

今回はネットワークプリンターを追加するので“AppSocket”を選択します。

追加画面1

プリンターに設定されているIPアドレスを入力します。

入力例

socket://192.168.xxx.xxx

追加画面2

名前、説明、場所、共有の有無を入力します。

追加画面3

ドライバーを選択します。インストールができていれば機種用のドライバーが表示されるはずです。

追加画面4

テストプリント

プリンターの追加が完了したらプリンタータブでプリンター一覧を表示させ、印刷したプリンターをクリックします。 メンテナンスから「テストページの印刷」を選択してテスト印刷ができればOKです。

尚、印刷が上手く行かないときにはプリンター本体の「接続修復」を試してみてください。また、お使いのネットワークの環境によってはIPアドレスが変更されている可能性もあるので確認をしてみてください。

最後に

世の中のマシンの主流が64bitになっている中で頑なに32bitマシン用のドライバを提供し続けるBrotherを少し心配していたのですが、着実に64bitマシンへの対応もしてきていて安心しました。この記事が皆様のLinuxライフを少しでも楽しくできれば幸いです。Let’s Linux!!

[adsense]