ubuntu 16.04 LTSから18.04 LTSへアップグレードしたらプリンターが使えない

2018年10月21日プログラミング

ubuntu 16.04 LTS

自宅のパソコンは、Linuxを使っています。LinuxというOSは、ディストリビューションというさまざまな配布バージョンがあります。ディストリビューションによって、ウィンドウのデザインや、設定画面などが異なりますので、"Linux"と一言では表現できないようなバリエーションが、世の中には存在しています。
私は、その中でも、Ubuntuというディストリビューションを好んで使っていました。ずっと、Ubuntu 16.04 LTS (long time support)版を使っていましたが、最近、18.04 LTSへのアップグレードを促すメッセージ出るようになって気になっていました。

Ubuntu 16.04 LTSのAbout画面
これまで使っていた16.04 LTSバージョン。私のパソコンは、CPUはi7-4790で結構速いです。

この週末、せっかくなので新しいOSにしてしまおう、ということで、18.04 LTSへのアップグレードを挑戦しました。

Ubuntu 18.04.1 LTSのAbout画面
アップグレード後の、About画面。 Ubuntu 18.04.1 LTSになりました。

全自動でアップグレード

アップグレードを促すメッセージに従って、アップグレードをしていけば、完全に自動的に進みます。私のPCはSSDなのでディスクアクセスは高速ですが、それでも全プロセス30分以上かかりましたので、取り掛かるときは時間的に余裕がある時にお願いします。
全自動ですが、いくつか質問が出てきます。アップグレードに際して使わなくなるパッケージ(ソフトの一部の機能)を削除するかどうかを訪ねてきます。
変更が大げさな感じがして、ちょっと怖いですが、やっちゃいました。
Screenshot from 2018-10-19 22-38-34.png
アップグレードは、以下のように、順を追って進むので、わかりやすいです。
Screenshot from 2018-10-19 22-39-46
最後の方の「クリーンアップ」のプロセスで、消すパッケージの一覧とともに、消すか・残すかの選択肢も登場します。気になるようなら残す(「そのまま」)を選べばよいのですが、私は、ゴミが残るのもどうかと思い、思い切って「削除」を選びました。
Screenshot from 2018-10-19 23-06-19

何が変わったか??

日本語の設定

アップグレートが終わったら、日本語が入力できなくなりました。ちょっと設定が必要ですね。設定ツールから、「地域と言語」を選びます。下図のように、日本語(Mozc)を登録すると日本語入力ができ料になりました。「インストールされている言語の管理」で日本語がちゃんとリスト化されていればOK。
地域と言語
言語サポート

ユーザインターフェースが結構変わった

上の図を見てもわかりますが、ウインドウの拡大・縮小、閉じるボタンなどが、以前はmacOS風に左上にありました。18.04にアップグレード後は、Windowsっぽく、右上に来ました。WindowsとUbuntuを使い分けていると、どっちがどっち?って困ってたことがありました。両方使う身からすると、この変更、小さいですが、便利になりました。
アプリケーション一覧も以前はアプリを検索しないと使いたいものが出てこなかったですが、デスクトップの左下に「アプリ」ボタンができたので便利ですね。

ブラザーのインクジェットで印刷ができない!!

そして、最終的に困ったことが起こりました。プリンターの印刷ができないのです。
我が家は、ホームネットワークにて、ブラザーのMFC-J6770CDWをネットワークプリンターにして印刷していました。Ubuntu 16.04でも問題なく印刷できていました。ブラザーはLinuxのドライバーのサポートも充実。Linux用の専用インストーラーまで準備してくれているのです。
日本 ブラザー : Linux のプリンタードライバーのダウンロード
しかし、18.04へアップグレード後は、何をやっても印刷できません。インストーラーでのインストールも問題なく動作します。そしてテストプリントも、一見すると、正しく出力できたように表示されます。でも、プリンターからは何も出てこないのです。
ちなみに、installerがインストールしようとしているドライバーたちは以下のファイルのようです。

mfcj6770cdwlpr-3.0.0-1.i386.deb
mfcj6770cdwcupswrapper-3.0.0-1.i386.deb
brscan4-0.4.6-1.amd64.deb
brscan-skey-0.2.4-1.amd64.deb

色々試行錯誤しました。

試行錯誤その1: /var/spoolがない?

システムのフォルダ構成が変わったのか、インストーラーが/var/spool/lpdに書き込めないようだったので、sudo mkdir /var/spool/lpd、でディレクトリを作ってみました。

試行錯誤その2: プロトコルをあれこれ試す

先程のスクリプト・インストーラーは、device URIを色々指定することができます。
スクリプト自体は、ちゃんとネットワーク上のプリンターの発見をして、正しくアドレスを表示してくれます。でも、下記の画面にて、lpdやippなど、どれを選択してもダメ。IPアドレス指定はDHCPで変わってしまう可能性があるので、やりたくなかったのですがそれも(socket://xxx.xxx.xxx.xxx)ダメでした。
DeviceURI.png

試行錯誤その3: apparmorを無効化

最近のLinuxのプリンターシステムは、CUPSというものらしいのです。
LinuxのKernelのLogを見ると、apparmor というアプリセキュリティ関係のログがありました。/usr/sbin/cupsdのモジュールに関して、DENIEDといった、なにやら怪しげなメッセージです。net_adminの権限が必要とか、そんな感じのメッセージ(すみませんログ撮り忘れました)。
なにかドライバが機能制限に引っかかっているのかと思い、調べてみたり、色々やりました。
# apt-get install apparmor-utils
というのをやって、apparmor関連のユーティリティをインストールしました。
そうすると、installerが変なメッセージを出すようになりました。

AppArmorのCUPSに対するセキュリティレベルを下げました (aa-complain cups)。
aa-complain cupsd
Setting /usr/sbin/cupsd to complain mode.

apparmor 関連のアクセス制限に関しては、何かありそうですね。が、やっぱり何をやってダメです。apparmor自体を無効化することもやってみましたが、ダメでした。
そもそも、ドライバーが新しいOSに対応ができていない(そのままでは使えない?)との結論に達し、諦めてしまいました。最終的にはブラザーに問い合わせメールを出しましたので、結果を待つことにします。
どなたか成功した方がいたら、ご連絡いただきたいです!


対処方法がわかった(2018/10/30追記)

解決しました。
[対処法] Ubuntu 18.04.1へのアップグレードでプリンターが動かない