3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

brother製プリンタ(DCP-J757N)をArch Linuxで使う

Last updated at Posted at 2020-02-11

はじめに

最近、開発環境をarchLinuxにしてみました。

Ubuntu歴2年位なのでLinux経験はありましたが、archはなかなか面白いOSです。
これまた面白いデスクトップ環境のEnlightenmentを入れて遊んでいます。

そんな中プリンタを使用する必要が出てきたのでセットアップしましたが、なかなか手こずったので、備忘録です。

TL;DR

multilibリポジトリの有効化、更新
依存パッケージ等のインストール(cups, lib32-libstdc++5)
cupsの起動、有効化(サービス名が変わってるから注意
公式配布のrpm形式のドライバを展開し、ドライバの中身を書き換え(サービス名が変わってるため)
ドライバを手動でインストールする
ブラウザからプリンタの追加(テストプリントができない!?)
プリンタは正常に認識されているのに印刷されない→プリンタの登録後、再度プリンタを選択

前提

AURにドライバがない。(あったらそっちの方が楽)
→brotherはあまり無かったけれどCanonのは意外とありそうです。

型番が完全一致していなくても、ドライバに互換性がある場合もあります。

今回プリンタはLANで接続していますがUSB接続でも同じ方法で出来るはず。

手順

依存パッケージ等の準備

archLinuxは64bitで動いていますね。
brother製プリンタは32bitでしか動かないので、32bitアプリケーション用の設定をします。

まず、Multilibリポジトリを有効にします。
/etc/pacman.confから、以下の部分をアンコメントします。

[multilib]
Include = /etc/pacman.d/mirrorlist

書き換えたら、

$ pacman -Syy

を実行して有効化完了です。

次に、各種パッケージをインストールしましょう。

$ pacman -S lib32-libstdc++5 cups a2ps

を実行してください。

今インストールしたcupsは、印刷時に必要なデーモンなので、起動&有効化しておきます。

$ systemctl start org.cups.cupsd.service
$ systemctl enable org.cups.cupsd.service

ちなみにこのcups、サービス名が数年前に変わっており、古いサイトだと違う起動方法が記載されていますので注意してください。

ドライバのダウンロードとインストール

brotherに限らずほとんどのメーカーは、Linux用のプリンタドライバを提供してくれています。
ですが残念ながらrpm形式かdeb形式なので、そのままarchにインストールすることはできません。

今回はひと手間かけてrpm形式のドライバをインストールします。

まず、rpmを展開するパッケージをインストールしましょう。

$ pacman -S rpmextract

次に公式からドライバをダウンロードしましょう。

ソフトウェアダウンロード(brother公式サイト)
https://www.brother.co.jp/download/software/index.aspx#inkjet

使いたいプリンタを選択します。(以降DCP-J757Nの場合。適宜読み替えてください。)

OSを選んでください → Linux
OSのバージョンを選んでください → Linux(rpm)

を選択し、LPRプリンタドライバCUPSwrapperプリンタドライバをダウンロードします。

これで一通りダウンロードは完了です。インストールしていきましょう。

まず、作業用ディレクトリを作って、ダウンロードしたドライバを入れておきましょう。

例:
~/temp/
 ├ dcpj752nlpr-3.0.0-1.i386.rpm
 └ dcpj752ncupswrapper-3.0.0-1.i386.rpm

ディレクトリに移動して、rpmファイルを展開します。
usrディレクトリoptディレクトリが生成されることを確認します。

$ cd ~/temp

//rpmxtractのスクリプトで2つを展開
$ rpmextract.sh dcpj752nlpr-3.0.0-1.i386.rpm
$ rpmextract.sh dcpj752ncupswrapper-3.0.0-1.i386.rpm

//optとusrディレクトリが生成されていることを確認
$ ls

opt usr dcpj752nlpr・・・.rpm dcpj752ncups・・・.rpm
↑   ↑

次に、ファイルの修正をします。

opt/brother/Printers/dcpj752n/cupswrapper/の中に、cupswrapperdcpj752nというファイルがあるので、エディタで開きましょう。

僕の場合は、50行目と60行目と299行目あたりですが、

if [  -e /etc/init.d/cups ]; then
    /etc/init.d/cups restart
elif [  -e /etc/init.d/cupsys ]; then
    /etc/init.d/cupsys restart
fi

という記述があります。

この記述部分を3箇所とも消して、その3箇所に以下の1行を追加してください。

systemctl restart org.cups.cupsd.service

保存したらOKです。


最後に、ドライバのインストールをしましょう。 下のコマンドを実行して、ドライバを配置します。
//作業用ディレクトリに移動しておく
$ sudo cp -r temp/opt/* /opt/
$ sudo cp -r temp/usr/bin/* /usr/bin/

次にこのコマンドでドライバのインストールをします。

//プリンタ名は読み替えてください
$ sudo /opt/brother/Printers/dcpj752n/cupswrapper/cupswrapperdcpj752n

以上でドライバ等のインストールは完了です。

プリンタの設定

さて、プリンタの設定をしていきましょう。
以下のURLにアクセスしてください。
http://localhost:631/

CUPSの操作画面が開きます。便利ですね。
管理タブを選択し、プリンタの追加を選択しましょう。

ユーザー名(root)とパスを聞かれるので入力。
プリンタの追加画面が開きます。

僕の場合は、プリンタをLANに接続しているので発見されたネットワークプリンタに表示されているプリンタを選択して、続けるを選択。

次の画面で、空欄になっているプリンタの場所を適当に入力して、続けるプリンタの追加を選択で、追加が完了します。


追加が完了したら、上部の**プリンタ**タブを選択し、追加したプリンタ名を選択します。 初期状態で、`メンテナンス`になっているプルダウンリストがあるので、そこを`テストページの印刷`に変えると、テストページが印刷されます。
これで動かない場合は、もうひと手間必要です。(おそらくLAN接続の場合は100%動かないと思います。)

プリンタタブを選択した状態で、プルダウンメニューがメンテナンスになっていることを確認してください。
右のもう一つのリストが管理になっていると思いますが、ここをプリンタの変更に変えてください。

するとプリンタの変更画面が開くので、発見されたネットワークプリンタを選択します。
あとは続けるを押していって変更を完了しましょう。

変更ができたら、もう一度テストプリントを行ってみてください。
うまく行くはずです。

メモ

  • brotherのプリンタは32bitライブラリを入れないと動かない
  • cupsの名前が変更されていたので、起動できない
  • 最後の、プリンタ再選択

の所でつまづきました。
最後のは原因がわからなかったので戸惑いましたが、brother公式が解説してたので、バグかな?

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?