Apple Discussion Boards の「印刷」でご存知の方もいらっしゃると思われますが、
この手のプリンタは、プリンタの出力先が /dev/null になっています。
/dev/null は、UNIXで「破棄する時」に使用するデバイスとなります。
EPSON PM-760C と Canon iP-4100 を MacOSX 10.3 に USB接続してドライバを追加した環境を確認します。
ターミナルを開いて、lpstat -t コマンドを使用すると、プリンタの出力先を確認することができます。
ibg4:~ kenz$ lpstat -t
scheduler is running
system default destination: iP_4100
device for iP_4100: ///dev/null
device for PM-760C: usb://EPSON/PM-760C?serial=vd0CT0001111039080
iP_4100 accepting requests since Jan 01 00:00
PM-760C accepting requests since Jan 01 00:00
printer iP_4100 is idle. enabled since Jan 01 00:00
printer PM-760C is idle. enabled since Jan 01 00:00
ibg4:~ kenz$
iP_4100 が /dev/null で、PM-760C が usb://EPSON/PM-760C?serial=vd0CT0001111039080 と USBデバイスが指定されています。
これらは、/etc/cups/printers.conf を見ても確認できます。
ibg4:~ kenz$ sudo cat /etc/cups/printers.conf
# Printer configuration file for CUPS v1.1.20rc1
# Written by cupsd on Sun Mar 20 20:46:33 2005
<DefaultPrinter iP_4100>
Info iP_4100
Location ibg4
DeviceURI file:///dev/null
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>
<Printer PM-760C>
Info PM-760C
Location ibg4
DeviceURI usb://EPSON/PM-760C?serial=vd0CT0001111039080
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
</Printer>
ibg4:~ kenz$
MacOSXのプリントシステムからは、USBデバイスとして両方見えています。
ibg4:~ kenz$ sudo /System/Library/StartupItems/PrintingServices/PrintingServices restart
Password:
Restarting printing services
ibg4:~ kenz$ lpinfo -v
network pap
network socket
direct bluetooth
serial fax://dev/cu.Bluetooth-Modem
serial fax
network http
network ipp
direct usb://Canon/iP_4100?serial=31585A
network lpd
serial fax://dev/cu.modem
direct usb://EPSON/PM-760C?serial=vd0CT0001111039080
direct usb
network smb
network mdns
ibg4:~ kenz$
「ではなぜ印刷できるんだろ」となりますが、MacOSXが採用しているプリントシステムである CUPS のプリンタコマンド変換フィルタ(またはフィルタを経由する別プロセス)が直接プリンタと通信しているものと推測されます。
EPSON PM-760C の場合。
+-------------------------------------------------------------+
| CUPSD (CUPS本体) |
+-------------------------------------------------------------+
| Filter (ラスタデータをプリンタコマンドに変換するプログラム) |
+-------------------------------------------------------------+
| Backend (出力デバイス毎のプログラム usb,parallel,ipp,lpd..) |
+-------------------------------------------------------------+
↓
Printer
Canon iP_4100 の場合。
+---------+
| CUPSD |
+---------+
| Filter |→ Printer
+---------+
| Backend |
+---------+
WindowsからMacOSXに接続しているプリンタに印刷する場合、
Windowsに実際使うプリンタ用のプリンタドライバをインストールして使うと、ネットワーク上はPostScriptではなくプリンタコマンド(例えばEPSON用とかCanon用とか)が流れます。
この場合、MacOS側はRAWをサポートする必要があるのですが、RAWということはコマンド変換をする必要が無いので、上の図のFilterを通らないはず。
ということは、クライアントからの印刷データはそのまま /dev/null に流れて印刷がされないはずです。
+---------+
| CUPSD |
+---------+
| Backend |
+---------+
↓
/dev/null なので破棄
MacOSXからWindowsに接続しているプリンタに印刷する場合、
MacOSX上でプリンタ追加時に、USBプリンタでは無いのでローカル接続で使っていたプリンタドライバが選択できないと思われます。