Ubuntu Weekly Recipe

第271回 WindowsをPostScriptプリンターにしてUbuntuから快適印刷

この記事を読むのに必要な時間:およそ 7 分

ダミープリンターの作成

ここで,RedMonを使ってGhostscriptに出力する架空のポートを用いて,UbuntuからPostScriptを受け取って印刷する「ダミーのプリンター」を作ります。

一点注意が必要なのは,Windows Vista以降のOSを利用している場合,通常はUAC(ユーザーアクセス管理)がオンになっていると思いますが,この状態だと「ポートの作成」「ポートの設定」が一切禁止された状態になっています。つまりRedMonでポートを作ったり,そのポートを設定することができません。そこで,この操作を行う間だけでも,UACをオフにしておく必要があります。

UACをオフにする方法は,コントロールパネルから「ユーザーアカウント」で自分自身のアカウントの「ユーザーアカウントの制御設定の変更」を選び,その先で出てくるダイアログのスライダーを一番下まで引き下げます(図7,図8⁠⁠。

図7 ユーザーアカウントの制御設定の変更をクリック

図7 ユーザーアカウントの制御設定の変更をクリック

図8 スライダーを一番下まで引き下げる

図8 スライダーを一番下まで引き下げる

ここで一度再起動を要求されるので,Windowsを再起動してください。

再び起動してきたら,スタートメニューから「デバイスとプリンター」を選び,⁠新しいプリンター」をクリックします(図9⁠⁠。

図9 新しいプリンターの追加

図9 新しいプリンターの追加

すると「ローカルプリンターの追加」「ネットワーク・ワイヤレスプリンターの追加」と出てきます。今回はRedMonポートなので「ローカルプリンターの追加」を選びます注7⁠。すると今度は「プリンターポートの選択」という画面になりますが,今回はGhostscriptにリダイレクトするポートを新たに作成するので「新しいポートの作成」を選び,ポートの種類として「Redirected Port」を選んで「次へ」を押します(図10⁠⁠。するとポート名を入力するダイアログが出ますがこれはデフォルトの「RPT1」でよいでしょう。さらに進んでください。もしここでエラーが出るようならUACが無効になっていないためポート作成に失敗しているかもしれません。改めてチェックしてみてください注8⁠。

注7)
今回は関係ないですが,ここはWindows独特の用語なので気を付けたいです。Windowsでは「ネットワーク共有」で接続されないプリンターは「ローカルプリンター」とされます(別の言い方をすれば,ローカルのポートモニターを用いるプリンターはローカルプリンターです⁠⁠。ですからPort 9100やIPPといった,PCとプリンターが直接ネットワーク越しに通信するようなものであっても,あくまでも「ローカルプリンター」ということになります。
注8)
UACの無効化がどうしてもうまく行かない場合,かなり強引な方法ですが,次のような方法があります。➀Ctrl+Alt+Delでタスクマネージャーを出します。➁プロセス一覧でExplorerを探して,プロセスを停止します。➂最初のタブに戻って「新しいタスク」をクリックし,⁠選択...」を押してファイル選択の画面を出して,C:\Windowsに移動してexplorer.exeを見つけ,右クリックで「管理者として実行」で起動します。コントロールパネルはExplorerの権限を引き継ぐため,⁠プリンターとデバイス」以下の操作も管理者権限で動くことになります。

図10 Redirected Portの新規作成を選ぶ

図10 Redirected Portの新規作成を選ぶ

ポート作成が終わったら,今度はそのポートに出力するプリンタードライバーの選択になります。先ほど述べたとおり,今回の使い方では利用されるのはポートだけであって,プリンタードライバーは使わないためなんでも構いません。ここではGenericから「Generic/Text Only」を選びました(図11⁠⁠。

図11 プリンタードライバーの選択。なんでも構わないのでWindows標準の物を選ぶ

図11 プリンタードライバーの選択。なんでも構わないのでWindows標準の物を選ぶ

プリンター名はなんでも好きなものをつけてもらってよいですが「普段は使わないもの」とはっきりわかるようにしておいたほうが混乱がなくて良いでしょう。⁠プリンターの共有」は当然オンにして,共有名はUbuntuから見えるようなわかりやすいものにします。今回は「DummyPS」としました(図12⁠⁠。

図12 プリンター共有の設定

図12 プリンター共有の設定

さてダミーのプリンターができたところで,今度はリダイレクトポートRPT1の設定をしなければなりません。⁠デバイスとプリンター」を再び開いて,先ほど作ったプリンターのアイコンを右クリックしてプリンターの「プロパティ」を開きます。タブ3枚目の「ポート」を選び,⁠ポートの設定」をクリックしてください(図13⁠⁠。するとRedMonの設定画面が開きます(図14⁠⁠。

図13 プリンターのプロパティ「ポート」

図13 プリンターのプロパティ「ポート」

図14 RedMonの設定画面。ここでGhostscriptにデータを送る設定を行う

図14 RedMonの設定画面。ここでGhostscriptにデータを送る設定を行う

「Redirect this port to the program:」には,当然今回はGhostscriptを選びます。⁠Browse」でgswinNNc.exeを探して選んでください。通常のインストールならばC:\Program Files\gs\gs9.07\bin以下にあると思います。

「Arguments for this program are:」はGhostscriptに与える引数です。先ほどmswinpr2をテストしたときの結果を元に,次のように書いてください。

-sDEVICE=mswinpr2 -dNoCancel -dSAFER -dBATCH -dNOPAUSE -sOutputFile="%printer%Brother DCP-J940N Printer" -

最後に⁠-⁠が入っています。見落としがちですが,これはRedMonから標準入力経由でデータを受け取ることを意味するので忘れないでください。また前述の通り,-sOutputFile……の⁠%printer%⁠以降はそれぞれの環境に合わせて書き換えていただく必要があります。デフォルトプリンターに出力したい場合は-sOutputFile……まるごと省略可能ですが,明示的に指定しておいたほうが安全かと思います。

ほかのオプションはそのままで構いません。これでようやっと,ダミープリンターの設定が終わりました。

Windowsのほうの作業はこれで終わりです。UACの設定を元に戻しておくのを忘れないようにしましょう。

著者プロフィール

おがさわらなるひこ

流離のプリンター愛好家。(株)ミライト情報システム所属。印刷技術を中心に,フリーでオープンなデスクトップ環境の向上のためにあちこちに顔を出しています。

Twitter@naru0ga