オフィスや自宅でiPadやiPhoneから印刷する-代替AirPrintサーバ

オフィスや自宅でiPadやiPhoneから印刷する-代替AirPrintサーバ

モバイルファーストの時代

ここ最近は、パソコンが使えない人や使わない人が増えてきますね。パソコンと言えばノートパソコンが主流で、デスクトップは会社にあるものと思われています。それとは逆に、物ごごろ付いたときからスマホ、タブレットなどを使っている人が多いです。

物を調べるなら図書館に行かずインターネット、買い物はスマホ、ゲームもスマホ、映画はタブレット。電子機器を使う事が生活の一部になってしまっている人たちをデジタルネイティブと言います。

かくいう私も、デジタルネイティブですが、いわゆる第一世代。つまり、パソコンを使う事が普通な世代です。今は、第二世代のスマホやタブレットを使う事が、あるいみ生まれつき普通になっている人たちの世代です。

最新の世代の若者はパソコンを使わない。というか、パソコンで出来る事のほぼすべてはモバイル端末でもできるからです。高度なビデオ編集、システム開発、キーボードでの大量の文字の打ち込みなどはパソコンがあれば楽ですが、そうでなければ実際iPad一台あれば特に問題はありません。

でも、面倒なのが印刷です。

自宅でWi-Fi対応の最新プリンタをお持ちであれば印刷は可能な場合が多いです。しかし、無線LANに対応していないプリンタをお持ちの場合はどうすればいいのでしょうか?

iPadやiPhoneで印刷できるようにするには

AirPrintサーバって何?

AirPrintサーバというのは、Appleの機器が無線LANつまりWi-Fiを通して印刷するためのシステムです。

最近のWi-Fi対応プリンタには組み込まれている場合が大きいです。そして、以前はWindowsパソコンでこの機能をインストールすることができていました。

この機能があると、パソコンを起動しておき、USBでつながったプリンタもON状態にしておけば、iPadやiPhoneから印刷することができるというものでした。でも、iOS10以降ではこの機能が塞がれてしまったのか、iOS側でプリンタが表示されない、表示されても印刷が動かないなどの症状が出て実質使用できなくなっていました。

これを解消するための方法をご紹介します。

Linuxであれば最新のiOS13、iPadOS13で動くAirPrintの機能を提供できる

LinuxにAirPrint相当のサービスがあるので、それをインストールします。そして、プリンタを使う時はそのパソコンを立ち上げておき、USBで接続しておくという事で実現します。

残念ながら、現状では有線プリンタにモバイル機器から印刷する方法はこれしかなさそうです。

ご自宅やオフィスに余っている古いパソコンがあるでしょうか。であれば、それを眠らせておくのではなくAirPrintサーバとして使いましょう。

基本的な方法は、Linuxをパソコンにインストールし、プリンタを設定します。そして、CUPSというサービスから使えるようにすればOKです。

AirPrintを実装するパソコンに必要なスペック

軽いLinuxが動く程度のパソコンがあればOKです。

あまりもっさりしていると印刷が遅いのですが、Core2Duoの2.4GHz(E6600)くらいがあれば十分です。メモリも2GBくらいでOKです。

Linuxは何でもOKです。UbuntuやDebianでもOKです。

問題は、Linux対応のプリンタドライバがあるかというだけです。これらは、Googleでプリンタの型番と「driver」、「linux」などをキーワードに検索すれば大抵見つかります。

でもドライバを探す前に、一つ試してみましょう。

最新のLinuxを使用すると意外とプラグアンドプレイでつなぐだけでプリンタが自動認識される事もあります。LinuxをインストールしたパソコンとプリンタをUSBケーブルでつなぎ、プリンタのスイッチを入れるだけです。

その場合はプリンタドライバのインストールは不要となります。

ですから、手持ちのパソコンのスペック的に問題なく動くのであればできるだけ新しいディスとリビュージョンを使用しましょう。

今回はサンプルとして、LinuxMintのバージョン19の64bit版を使用します。

LinuxMint19のインストール

まず、LinuxMintの公式サイトからLinux Mint 19のisoファイルをダウンロードします。

次に、空のUSBメモリを用意します。フリーソフトのUniversalUSBInstallerを使って、ブータブルUSBメモリを作成します。

Step1で”Linux Mint”を選択し、Step2でダウンロードしたisoファイルを選択します。Step3では接続したUSBメモリを選択します。その際右のチェックボックスでFat32でフォーマットするを選びます。

そして、”Create”をクリックして、フォーマットされますの警告をOKしたら、ブータブルUSBメモリが作成されます。USB2.0でも通常は数分で出来上がります。

次に、インストールする対象のパソコンで必要な設定を行います。

AirPrintサーバ以外の用途が無ければ、全部フォーマットしてインストールしてもOKです。しかし、今回は一応Windowsパソコンとしても使えるように、ハードディスクに空き領域を作り、そこにインストールしてデュアルブートに設定します。

空き領域の作り方は、エクスプローラを開き、左のペインの「PC」を右クリックし、「管理」を開きます。「記憶域」の「ディスクの管理」を開きます。空きパーティションがあれば、それを削除して使用してもOKです。

容量は30GBくらいあれば十分ですので、システムドライブ以外があれば”ボリュームの縮小”を使用して、空き領域を作ってもOKです。

では、パソコンにUSBメモリを差し込んで、パソコンを起動します。

起動メニューがあれば、それを開きUSBから起動させます。起動メニューが無い場合はBIOSに入り、BootOptionからUSBメモリを第一順序に持ってきて保存し、再起動します。

まず、起動メニューが表示されるので”Start Linux Mint 19…”を選択します。”OEM install”でないのは、Liveモード(HDDにインストールせずにUSBメモリから立ち上げる方法)の方がインストール操作がしやすいからです。

Liveモードで立ち上がるのであれば、そのパソコンでLinuxMint19が正しく動くという確認にもなります。

デスクトップ画面が立ち上がったら、”Install Linux Mint”のアイコンをダブルクリックします。

言語の選択が表示されるので、”日本語”を選んで先に進みます。キーボードレイアウトも通常は自動認識されるので、そのまま先に進みます。無線LANに接続するかが表示されます。無線LANがある場合は接続している方が、アップデータや最新のドライバを当てるのが楽になります。”グラフィック、WiFi機器などに必要なサードパーティソフトをインストールする”はチェックを付けます。

ここで、パソコンにはすでにWindows10がインストールされているのでUEFIインストールを続けるかBIOS互換モードにするかを選ぶように聞かれたら、UEFIを続けない方を選択します。

インストールの種類を選択する画面では、Windows10がインストールされていることを認識していると思います。ディスクを削除しない「LinuxMintをWindows10とは別にインストール」を選択します。

もし、このメニューが表示されていない場合は、パーティション操作をして拡張パーティションを作ってから再度インストールを実行してください。インストーラー内の拡張パーティションマネージャーで、空き領域の部分に2つのパーティションを作り、一つをext4ファイルシステムで「/」にマウント、もう一つをスワップ領域に設定して先に進みます。

変更をディスクに書き込むか聞いてくるので、内容を確認して次に進みます。ローカル時間の設定はそのままで先に進みます。

ユーザーの設定をして次に進むと、ファイルのコピーが始まります。「インストールが完了しました」と表示されたらインストール完了なので、再起動を選択します。

起動時に起動メニューが表示されます。何も選択しなければそのままLinuxMintが立ち上がりますし、Windows10を起動したければそれを選択します。

インストールのための参考サイトは「ほそぼそプログラミング日記」です。

私の環境では、ブートメニューにWindows10が表示されませんでした。それで、Grub2の設定を触る必要がありました。

Grubの設定を触るための参考サイトは「221B Baker Street」です。GrubCustomizerをインストールして、開くとWindows10もパーティションがあればリストに表示されます。その設定をそのまま保存すればOKです。「MBRにインストール」は実行しなくてOKです。

AirPrintサーバのインストールと設定

まず、インストールするための周辺環境を最新にしておきます。以下のコマンドを実行すれば、サービスがすべて最新のものになります。

$ sudo apt-get update
$ sudo apt-get upgrade

その後、プリンタの電源を入れてUSBケーブルをパソコンに接続します。対応ドライバをLinuxMintが持っていれば、設定のプリンタの欄に自動で表示されます。表示されない場合は、プリンターのDebian対応のドライバを探してインストールします。

※Brotherの場合はLPDドライバーとCUPSドライバーをインストールする必要がある場合もあります

設定のプリンタの画面を開き、メニューのサーバーの設定を開きます。

  • 「このシステムに接続されている共有プリンタを公開する」にチェックを付ける
  • 「ユーザーにジョブのキャンセルを許可する」にチェックを付ける
  • 「OK」を押す

次に該当のプリンタを右クリックしてプロパティを開き、ポリシーの画面で「共有」にチェックが付いていることを確認します。

次に、同一のネットワーク内からの設定を許可します。

$ sudo vi /etc/cups/cupsd.conf

以下のAllowの2番目の欄が今回追加した設定です。使用する環境のIPアドレスが192.168.1.X、サブネットマスクが255.255.255.0の場合です。

<Location />
  # Allow shared printing...
  Order allow,deny
  Allow @LOCAL
  Allow 192.168.11.0/24
</Location>

cupsd.confの編集後、cupsを再起動します。

$ sudo /etc/init.d/cups restart

「設定」 > 「プリンター」でダイアログを開き、「サーバー」 > 「接続…」を開きます。「CUPS サーバーに接続」ダイアログで、「CUPS サーバー:」の欄で「/var/run/cups/cups.sock」を選び、「接続」を押します。

これで、他のPCから印刷できるようになります。

iPadまたはiPhoneから印刷を試して見てください。

ここまで動いていればAndroidからも印刷できる場合が多いです。また、Windowsからネットワークプリンタで見つけられる場合もあります。

おまけ:ノートパソコンを閉じでもサスペンドさせない設定

私の場合は古いノートパソコンをAirPrintサーバとして使用するために、ディスプレイを閉じてもサスペンドしない設定が必要です。

普段触らないパソコンで、起動しっぱなしのため、画面を閉じておいた方が邪魔にならないというわけです。

 $ sudo vi /etc/systemd/logind.conf 

「#HandleLidSwitch=suspend」という欄があるので、#を消して、値をignoreにして、保存します。その後、Linuxを再起動すれば設定が反映されます。

ノートパソコンを閉じてもサスペンドされないことを確認してください。

結論:iPadやiPhoneから印刷できると、ますますパソコン使わなくなる

今回の方法は、余っているパソコンにLinuxをインストールして、AirPrintのサービスを動かすというものでした。

AirPrintサーバは基本的に起動しっぱなしにしておくものなので、出来るだけ場所を取らない、省電力のパソコンがおすすめです。できれば、ノートパソコンかラズパイなどがおすすめです。

今までは、印刷したいファイルはDropboxなどのオンラインストレージにファイルを保存して、それをパソコンで開きなおして印刷とかしていました。それが直接印刷できるって素晴らしいです。

特に私が使う環境ではiPadしか使わない、パソコンの操作方法を知らない人たちがいるので、重宝されています。

みなさんのご自宅、オフィスでもぜひ試して見てください。