ubuntuからプリンターに印刷するのが手間不要だった。

EPSONのプリンターを買いました。ubuntuから印刷できるようにLinux用のプリンタドライバーがあるかどうかと気になっていたのですが、今はドライバーなんて不要なのですね。今さらながら知りました。ubuntuが IPP Everywhere や AirPrint に対応しているからドライバレスで使えるようです。

IPP Everywhere や AirPrint はプリンタの検出と印刷機能をOSに装備して、ドライバを入れなくても印刷ができるようにしたもののようです。プリンターも IPP Everywhere や AirPrint に対応している必要があります。

買ったプリンタは PX-M6011F という大きいEPSONのプリンターなのですが、これがAirPrintに対応していました。設定画面のプリンターを見たときにEPSONのプリンターが表示されていました。ubuntuとプリンターを無線LANにつなげれば、自動で検出されるようです。

※下のはCanonのプリンターで、こちらはLinux用のプリンタドライバーをいれてます。

CUPSの画面「http://localhost:631」のプリンタータブを見てみると、driverlessと表示されています。

EPSON_PX_M6011F_Series をクリックしてテストページの印刷をしてみると、プリンターからテストページが印刷できました。

IPP Everywhere は ChromeOS(Chromebook)が対応しているし、AirPrint は iOS(iPhoneやiPad)が対応しているから、プリンタメーカーもその対応をプリンターに入れているみたいです。今までubuntuから印刷するにはドライバー問題を気にしていたけれど、そういう心配はもうないんですね。

ubuntuにTomcatをインストールして使ってみた。

ubuntu20.04LTSにJavaのアプリケーションサーバーであるTomcatを入れて動かしてみました。学習用に入れただけなのでセキュリティ設定などはしていません。動かすだけであれば、ダウンロードサイトからtarファイルを持ってきて、展開して、任意の場所に置いて終わりです。Tomcatの起動と停止をしています。なお、Javaのインストールは済んでいます。

まず、Apache Tomcat のサイトにアクセスします。

赤枠➀の「Which version?」をクリックします。Tomcatのバージョンにより対応するServletとJSPのバージョンも異なってくるため、どのバージョンのTomcatを使用するかを決めます。Tomcatを動かす際のJavaのバージョンにも気をつけます。

なお、先ほどの赤枠③の記述によるとTomcat10以降では仕様が変わっているようです。赤枠③のgoogleでの翻訳です。

JakartaEEプラットフォームは、JavaEEプラットフォームが進化したものです。Tomcat10以降は、JakartaEEの一部として開発された仕様を実装しています。Tomcat9以前は、JavaEEの一部として開発された仕様を実装しています。

JavaEEをもとに作成されたソースコードを試したいので、Tomcat9にします。

Tomcat9
Version: 9.0.65
Servlet: 4.0対応
JSP: 2.3対応
Java: Java8以降であること

赤枠②の「Tomcat9」をクリックします。ダウンロードの画面が出るので「tar.gz」をクリックしてダウンロードします。

ダウンロードされたファイル名は「apache-tomcat-9.0.65.tar.gz」でした。ダウンロードされたファイルのハッシュ値を確認してみます。

$ sha512sum apache-tomcat-9.0.65.tar.gz

ダウンロードの画面の「sha512」のところをクリックして同じ出力結果となっていれば大丈夫です。

tarファイルを展開します。

$ tar xvf apache-tomcat-9.0.65.tar.gz

「apache-tomcat-9.0.65」というフォルダができました。これを任意の場所に配置します。

apache-tomcat-9.0.65フォルダの下にはbinフォルダがあるので、その中にある「startup.sh」を実行するとTomcatが起動します。

ブラウザで「http://localhost:8080/」にアクセスしてみます。Tomcatの画面が表示されます。

Tomcatの停止は「shutdown.sh」を実行します。

Tomcatの画面の「Manager App」をクリックするとManager画面を表示するのですが、デフォルトのままだとユーザ名とパスワードの設定がないため表示しません。表示させるにはconfフォルダにある「tomcat-users.xml」を修正します。confフォルダはapache-tomcat-9.0.65フォルダの下にあります。


<tomcat-users>
  :
<user username="user" password="pass" roles="manager-gui"/> ←追加(ユーザ名とパスワードを任意に設定)
  :
</tomcat-users>

Manager画面はwarファイルをTomcatにデプロイする際に使用する画面です。

Tomcatの起動と停止のログはlogsフォルダに出力されます。logsフォルダはapache-tomcat-9.0.65フォルダの下にあります。catalina.outファイルを見ると良いでしょう。

ServletをjavacコマンドでコンパイルするときにはCLASSPATHの設定が必要になるので、libフォルダの下にある「servlet-api.jar」にCLASSPATHを通しておきます。


$ export CLASSPATH="/Tomcatを配置したディレクトリ/apache-tomcat-9.0.65/lib/servlet-api.jar"

javacコマンドでコンパイルしたクラスファイルを /apache-tomcat-9.0.65/webapps/コンテキスト名/WEB-INF/classes に配置します。ブラウザからTomcatにアクセスすればServletの動きを確認できます。