Linuxコンピュータを「ネットワークプリンタデバイス」として設定できますか?プリンタのようにネットワーク上で共有するUSBプリンタがあります。基本ネットワークプリンタ装置。
それは可能ですか?どのように?
メモ: 「自動」ネットワークプリンタは通常、「HP Jetdirect」プロトコル(「Raw」とも呼ばれる)を使用して通信します。
私はあらゆる種類の「自律」ネットワークプリンターを見つけて動作することができるAIX 5を搭載したRS / 6000を持っています。 AIXでアクセスできる一般的なネットワークプリンタ(自律デバイス)のように、Linux(好ましくはDebian)を介してネットワークにUSBプリンタを公開したいと思います。
編集する: AIXでも同様の作業を行う必要があります。ここで 'マイプリンタIP'はLinux IPです。
$ netcat my_printer_ip 9100
$ Hello remote USB printer plugged in a Linux !
$ <Ctrl+D>
答え1
ネットワークプリンタがRAW(またはJetdirect)というプロトコルを使用していることを知っていますが、これは正しいですか?
はい。今日でも、まだ有効な印刷ジョブのための2つのネットワークプロトコルがあります。LPD、TCP ポート 515 で実行中、ジェット直行便、TCPポート9100で実行されています。 LPDは過去にBerkeleyのBSD UNIX用に設計されていました。今はあまり役に立ちませんが、おそらく古いサーバーとの互換性のためにまだ多くのプリンタで動作します。 JetDirectは1990年代初頭にHPで設計され、LPDよりもシンプルで高速です。可能な限りJetDirectを使用する必要があります。
私はすべてのタイプの「基本」ネットワーク・プリンターを見つけて使用できるAIX 5がインストールされたRS / 6000を持っています。そのために、Linux(好ましくはDebian)を使用してネットワークプリンタ(自律デバイス)でネットワークのUSBプリンタを公開したいと思います。
LinuxコンピュータにCUPSをインストールしてプリンタを接続します。これを行うには、システム全体、Raspberry PiなどのデバイスまたはUSBポートがあり、OpenWRTまたはDD-WRTを実行しているホームルータは必要ありません。
答え2
コンピュータ支援システム(少なくとも)IPP、LPD、およびSambaプロトコルを介してプリンタを共有できます。ほとんどのオペレーティングシステムはIPPをサポートし、IBMはIPPの一部です。印刷ジョブグループIPPを提案するので、AIXもこれをサポートできます。
さらに、SambaにはAIXプロトコルがあるため、そのうちの1つが機能する必要があります。AIX検索
しかし、私が接した文書のうち、AIXバージョンを参照する文書がないため、AIX 5がサポートされているかどうかはわかりません。
とにかく動作方法は、CUPSがインストールされているサーバーにプリンタを接続した後、共有方式、ブロードキャスト設定などを選択するだけです。これはとても簡単です。これにより、クライアントはそれに接続でき、ネットワークプリンタとして表示されます。
答え3
いくつかの研究と努力の終わりに...
このような「ネットワークプリンタ装置」は、いくつかのプロトコルを実装することができ、そのうちの1つは、「Raw」、「JetDirect」、または単に「9100」とも呼ばれる「HP JetDirect」である。ネットワークプリンタがサポートする最も一般的なプロトコルのようです。
ネットワークプリンタの設定例:
JetDirectプロトコルはただ一般的なネットワークフロー、少なくとも私のテストでは実際のプロトコルではありません。したがって、Linuxをネットワークプリンタのように動作させるためにCUPSやいかなる種類のプリンタエンジンも必要ありません。、ポート9100でリッスンし、そのストリームをプリンタストリームにリダイレクトするinetd(またはxinetd)などの「ネットワークストリームサーバ」のみが必要です。
/dev/lp0
同様のことができるポートのプリンタストリームを考えてみてください。
$ echo "Hi local legacy printer !" >/dev/lp0
/dev/lp0
これで、古いinetdを使用してポート9100からトラフィックをリダイレクトできます。
9100 stream tcp nowait cat > /dev/lp0
したがって、AIXなどの他のリモート・システムでは、既存のパラレル(またはUSB)プリンターをLinuxに接続してネットワークプリンターのように動作させることができます。
$ netcat linux_ip 9100
$ Hello remote Parallel printer plugged in a Linux !
$ <Ctrl+D>
もちろん、他のソリューションの中でも、CUPSを介してスプーラの下にローカルプリンタを設定して解決できる並行性の問題があります。
これは私にとって効果的です!
答え4
この非常に古いプログラムは/dev/lpのローカルプリンタをlocalhost:9100にエクスポートします。以前のプログラミング標準をサポートするには、Makefileを編集する必要がありました。最新のプログラムでは、これを行う他の方法があります。私は知りたいです: lp_server-1.1.6 ソースコード