LinuxでLP800Sを使う

## なにか分からないことがあれば、掲示板で聞いてください。 分かる範囲でですが、答えます。

1.VMwareによる印刷

最初に、カーネルの設定が必要になります。
まずは、VMware上にインストールしたGuestOS、Windows上での 印刷ができるように、なる事です。


1.1.Moduleのロードそして設定

おそらく、普通にLinuxをインストールした状態では、 印刷に必要なModuleは、インストールされていると思います。
parport,parrport_pc,ppdev
この3つのmoduleを組み込んで下さい。lsmodで、確認できます。

$ lsmod
ppdev 8708 0
parport_pc 32964 0
parport 34248 2 ppdev,parport_pc

この3つのmoduleを組み込むには、modprobeというコマンドを 使います。また、Linux起動時に自動的に組み込むには、 Distributionによって、設定方法が違います。
Debianでは、/etc/modulesに、設定します。

$ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line. Comments begin with
# a "#", and everything on the line after them are ignored.
parport
parport_pc
ppdev

というように、 parport,parport_pc,ppdevの3行を加えます。

この中の、parport_pcを組み込む時の注意点があります。 このparport_pcのmoduleを組み込む際に、"io=0x378 irq=7"という オプションを加えてください。
具体的には、/etc/modules.confに、以下の1行を加えて、 moduleをreloadするか、Linuxを再起動して下さい。

options parport_pc io=0x378 irq=7

この378と7というのは、使用しているPCによって異なる事があります。 BIOSの設定などを見て、各自変更してください。 これは、パラレルポートのIO PORTと、IRQです。 ここでは、IO PORTを378、IRQを7として設定しました。
# 最近では、/etc/modules.confから、/etc/modprobe.confに
# ファイル名が、変わりました。
# また、Debianでは、/etc/modprobe.d/上にファイルを作って、
# moduleのoptionを設定する事が推奨されています。
# /etc/modprobe.d/parportという感じにファイルを作成するのがいいと思います。

1.2.VMwareのインストール

VMware Workstationをインストールして下さい。
このVMwareは、買う必要があります。もちろんLinux上で使用するので、 VMware Workstation 5.5 (for Linux Systems)の方を買う必要があります。 VMWareで売ってるのですが、 $189.00します(2005/12/12現在)。かなり便利なソフトなのですが、 高いです。2万近くするので、買うのには、ちょっと勇気がいります。^^;

## vmwareを起動するには、環境変数LC_ALLをCに設定する
## 必要があるかもしれません。(2005/12/12現在、Debian sid使用時)
## おそらく、LC_MESSAGEだけをCに設定すればいいと思うのですが、
## 検証していません。動作確認しているのは、LC_ALLをCに設定した時です。
##
## $ LC_ALL=C vmware
##
## shellがbashの場合、上のようにして起動すれば、動くと思います。

インストールするには、VMware-workstation-5.5.0-xxxxx.tar.gzを、 /tmp に展開します。そうすると、vmware-distribというディレクトリが できるので、そのvmware-distrib上にある、vmware-install.plをroot権限で 実行します。
moduleのコンパイルとインストールを行うので、 使用しているカーネルに対応した、カーネルのソースのヘッダーが 必要になります。もちろんgccも必要です。

# cd /tmp/vmware-distrib
# ./vmware-install.pl


途中で、ネットワークの設定を聞かれるのですが、natを 使用するようにしておけば、いいと思います。bridgeを使用するのも、 いいかもしれません。

VMwareがインストールできたら、guest OSであるwindowsを インストールをします。
New Virtual Machineを選んでください。New Virtual Machine Wizardが 起動するので、それに従ってVirtual Machineの設定をします。
Virtual Machineの設定ができたら、いよいよwindowsのインストールです。 windowsのインストールCDを、CD-ROMドライブ(DVDドライブ)にいれて、 Virtual MachineをPower Onしてください (おそらく、Power Onのボタンを押せば、自動的に、Virtual Machineが 起動すると思います)。
後は、普通にwindowsのインストールをするだけです。
windowsのインストールが終わったら、vmware toolsのインストールです。 これをインストールすると、マウスによるウィンドウのフォーカスイン、 アウト、host OS(ここでは、linux)とのカットアンドペーストのやりとり、 VGA以上の解像度での表示、が可能となります。
VMwareの VM -> Install VMware tools ...を選択すると、 インストールできます。

1.3.VMwareからの印刷

VMware上に、windowsがインストールできたら、そのwindowsで印刷ができるか テストしてみましょう。

普通にwindowsで印刷するように、printerのドライバーをインストールして テスト印刷をしてみます。
LP800Sのドライバーを EPSONのサイトから ダウンロードして、インストールします。
インストールが終了したら、 コントロール パネル -> プリンタ -> EPSON LP800Sを選びます。
そしたら、LP800S上の、プリンタ -> プロパティー、そして、 テスト ページの印刷を選びます。

うまくいかなかったら、Linuxの、パラレルポート関連のmoduleの設定を 見直してください。
parport,parport_pc,ppdevの3つのドライバーが、 moduleとしてloadされている必要があります。

2.Guest OS(Windows)へのGhost Script、redmonのインストール

redmonそして、lpr clientの設定redmon+gs+smbclientのWindowsマシンの設定を参照。

redmonそして、lpr clientの設定のとおりに設定すると、 gvによる印刷イメージの閲覧が、可能になります。 また、gvから印刷することで、印刷も可能になります。
ですが、これでは、LPRから印刷をかけても、GVの所でいったん止まってしまい、 不便です。
そこで、redmon+gs+smbclientのWindowsマシンの設定を参考に、redmonの設定(Redirect Portの設定)を変更をすることにします。 そうすることによって、LPRからの印刷が途中で止まることなく、VMwareを とおして、一気に行われるようになります。

2.1.日本語バージョンのGhost Scriptのinstall

Ghostscript 8.53 + GSview 4.8 の日本語版 から、日本語版のGhostscriptを入手してください。もちろんwindows対応のバージョンです。
zipで圧縮されてるので、適当なtoolを使って解凍してください。(解凍先のフォルダーをあらかじめ作っておいて、そこに解凍するのが、おすすめです。) winzipなんか使うと、使いやすいかもしれません。
解凍先のフォルダーに、setupgs.exeというファイルがあるはずなので、 それを実行します。後は、画面の表示にしたがって、installして下さい。 俺は、c:\gsというフォルダーにinstallしました。

2.2.redmonのinstall

Redmonから、 redmonを入手して下さい。これもまたzipで圧縮されているので、 適当なフォルダーに解凍します。(俺は、c:\tmp\redmon17というフォルダーに 解凍しました。)解凍先のフォルダーに、setup.exeがあるので それを実行します。setup.exeが終了したら、redmonを解凍したフォルダーを c:\配下に移します。(おれの場合だと、c:\tmp上にあるredmon17という フォルダーをc:\に移動しました。

2.3.仮想プリンタの作成

コントロールパネルの、プリンタから、プリンタの追加を起動します。
"ローカルまたはネットワークプリンタ"の設定にきたら、 "ローカルプリンタ"を選びます。
プリンタポートの作成という画面にきたら、"新しいポートの作成"を チェックし、その右の選択ダイアログで、"Redirected Port"を選択します。

その後の画面の、"Port Name"は、RPT1:のままでOKです。
その後の画面で、"PRT1: Properties"という画面になります。そこの設定が、肝です。
"Redirect this port to the program"の項目を、"C:\gs\gs8.53\bin\gswin32c.exe"に、します。(パスは、Ghostscriptをinstallした場所に、適時変更して下さい。)
そして、"Arguments for this program are"に、"@C:\gs\vrps.rsp -"と 設定します。
後は、"Output:"に、"Copy temporary file to printer"、
"Printer"に"EPSON LP-800S"、
"Run:"に"Hidden"、を設定し、
"Run as User"にチェックをいれて下さい。
設定ができたら、OKを押して、次に進みます。

プリンタモデルの設定になったら、適当なPSプリンタを選びます。 Postscriptに対応したプリンタなら、どれでもかまいません。 俺は、AdobePSGenericPostScriptPrinterを選びました。 このドライバーは、AdobeのHPから入手できます。
次に進むと、プリンタ名の設定画面になります。 俺は、vrpsという名前にしました。 後は、適当に進むと、仮想プリンタの作成は、終わります。

2.4.vrps.rspの作成

仮想プリンタの作成の中で、"@C:\gs\vrps.rsp -"と設定する所がありましたね。 そこで設定している、vrps.rspを作成します。
vrps.rspの置き場所は、先に設定した場所になります。俺の場合は、 c:\gsが置き場所になります。その内容は、

-Ic:\gs\gs8.53\lib;c:\gs\fonts;c:\gs\gs8.53\kanji;c:\gs\gs8.53\bin
-sDEVICE=mswinpr2
-dNOPAUSE
-dSAFER
-sPAPERSIZE=a4
-sOutputFile="\\spool\EPSON LP-800S"

です。
面倒くさかったら、ここからダウンロードして下さい。
"c:\gs\gs8.53\lib;c:\gs\fonts;c:\gs\gs8.53\kanji;c:\gs\gs8.53\bin"の 部分は、それぞれ、Ghostscriptをinstallした場所に変えてください。

2.5.TCP/IP Print Serverのinstall

Print Serverを起動しましょう。おそらく、このプログラムはinstallされて いないので、installします。windowsのCDを用意して下さい。
コントロールパネルのアプリケーションの追加と削除を起動します。
そして、Windowsコンポーネントの追加と削除を選びます。 そして、"そのほかのネットワークファイルと印刷サービス"から"詳細"を 選びます。その詳細の中の、"UNIX用印刷サービス"にチェックを入れて、 installします。

2.6.TCP/IP Print Serverの起動

コントロールパネルから"管理ツール"を起動します。その中の、 "サービス"を起動します。その中の、"TCP/IP Printer Server"の サービスを開始します。また、TCP/IP Printer Serverのプロパティ の中の、"スタートアップの種類"を"自動"にします。

## windowsNTまたは、windows2000の場合、レジストリをいじる必要が
## あるかもしれません。
##
## [HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Devices]
## に
## "EPSON LP-800S"="winspool,LPT1:"
##
## という項目をregeditで作成するのですが、regeditでの作業を行うと、
## windowsが起動しなくなる可能性があります。気を付けて実行して下さい。

3.Linux(host OS)の設定

Linux側の設定をします。lprngと、printcapの設定です。

3.1.lprngのinstall

lprngパッケージをinstallします。Debianだと、
# apt-get install lprng
で終了です。

3.2.lprngの設定

printcapに設定をするのですが、まず、guestOSであるwindowsのIPアドレスを 知っておかなければなりません。
windowsで、コマンドプロンプトを立ち上げます。そのコマンドプロンプトの中で、
ipconfig
とコマンドを打ちます。


Windows 2000 IP Configuration

Ethernet adapter ローカル エリア接続:

Connection-specific DNS Suffix . : localdomain
IP Address. . . . . . . . . . . . : 192.168.104.128
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :


というように表示されると思います。この、IP Addressの値を メモしといて下さい。(この例では、192.168.104.128となっています)
このIP Addressの値を使って、printcapを設定します。
/etc/printcapの内容に以下のような、エントリーを作って下さい。

lp:lp=vrps@192.168.104.128
:sd=/var/spool/lpd/%P
:sh:mx=0:mc=0

上の、192.168.104.128の部分は、さっきメモしといた、IP Addressの値を いれて下さい。
printcapの設定が終わったら、lprngの再起動をして下さい。

# /etc/init.d/lprng restart

Debianでは、上のようにして、再起動ができます。

4.テスト印刷

以上で、設定は終わりです。テスト印刷をしてみましょう。
適当なPSファイルを用意します。a2psやa2psjを使えば、簡単に用意できます。 a2psjは、日本語に対応したa2psです。Debianでは、a2ps-perl-jaという パッケージに入ってます

あとは、用意したPSファイルを印刷にかけるだけです。

$ lpr aaa.ps

うまくいけば、これで印刷ができるはずです。
(aaa.psは、それぞれ用意したPSファイルに置き換えてください。

Last modified: Tue Mar 14 15:17:37 JST 2006