Linuxでスプーラレス印刷

Linuxでスプーラレス印刷

Canon Pixma MG3650をGNU / Linux(Debian派生製品)で動作させようとしています。

スプールのない印刷がまさに私が探しているものです。 スプーリングのないオープンプリントガイド (長所と短所はガイドに記載されています)

設置手順

  1. Canonからインストールされたドライバdpkg -i cnijfilter2-5.20-1-deb.tar.gz
  2. 私のシステムにGhostscriptがあります。 (確認gs -h
  3. Canon_MG3600_series.ppdCUPSのインストール後を発見しました。
  4. にコピー/etc/foomatic/direct/Canon_MG3600_series.ppd
  5. *FoomaticRIPPostPipe: "| cat > /dev/usb/lp0"に追加する/etc/foomatic/direct/Canon_MG3600_series.ppd
  6. apt-get install foomatic-filters
  7. apt-get install a2ps
  8. foomatic-rip -P Canon_MG3600_series -o docs /proc/cpuinfo

ステップ8では何も印刷されません。メッセージもなく、エラーもありません。

(CUPSを搭載したWindowsおよびLinux)でテストされているため、プリンタは正常に動作します。

私は何を逃したことがありませんか?他のガイド/チュートリアルを知っていますか?

答え1

  1. apt-get インストール a2ps

この手順をインストールしてくださいGNU AnythingをPostScriptに変換する1上記のコマンドは通常の方法でインストールします。つまり、Debian APTリポジトリからバイナリパッケージをダウンロードしてコンピュータに解凍します。

だから、このインストールコマンドが失敗または停止した場合3次のことができます。安全にそれをやめる(Ctrl + Cを押します)そしてこの手順を繰り返します成功するまで。

しかし、インターネットアクセスをもう一度確認してください繰り返す前に。2またはオフラインメディアからインストールする場合は、正しいインストールディスクが挿入されて読み取られ、正しい場所にインストールされていることを確認してください。

PS また、基本的に何も知らずにインストールコマンドが終了した場合は、3コマンドが終了した直後に次のコマンドを実行します。4

echo $?

これが表示されたら、0GNU Anything-to-PostScriptのインストールは実際に成功しました。ステップ8に進むことができます。


脚注

  • 1はプレーンテキストファイルをPostScriptに変換するために使用されますfoomatic-rip。これはプレーンテキストファイルを印刷したいので、手順8で必要です/proc/cpuinfo
  • 2apt-get install遅いまたは断続的なインターネット接続はオンラインにアクセスできない一般的な理由ですが、試してみると少なくともいくつかのステータスメッセージが表示されるはずです。以下を参照してください。
  • 3つの apt-get installコマンド〜する通常、少なくとも印刷します。、完全に壊れたシステムや機能していないネットワークのために混乱しているかもしれません。ただし、システムが明示的にshushを設定する場合は、-q0shush設定ディレクティブをパラメータとしてオーバーライドしてください。

    apt-get install -q0 a2ps
    
  • 4前のコマンドの終了コードを表示します。 Unixシリーズシステムでは、1つの値は0成功を意味し、もう1つの値は問題が発生したことを意味します。

答え2

foomatic-ripローカルのマニュアルページを見てみると、PPD記述子形式の制限により、その部分が意図的であることがわかりました。したがって、>内部的にそれ自体で処理されます。foomatic-ripOpenPrinting オリジナル記事実際には正しいです。それにもかかわらず、私はこの質問の引用されていない元の形式が誤解を招く可能性があることを強調します(正しいエラーを>誤ったエラーに変換するためです>)。

質問に戻って聞きたいです。ラスターイメージプロセッサ内のいくつかのステップバイパス問題が発生していないことを確認してください。

  1. ファイルの削除/etc/foomatic/direct/Canon_MG3600_series.ppd
  2. 実行して、ls -lF /dev/usb/lp0プリンタ接続が存在し、その接続に書き込むために必要な権限があることを確認します。
  3. 走るecho 'Hello Printer?' | foomatic-rip -P Canon_MG3600_series > /dev/usb/lp0

プリンタがテキストを含む印刷物を作成したら、Hello Printer?おめでとうございます!その後、次の手順を実行できます。

  1. 質問で手順3と4を繰り返します。
  2. ルートとして/etc/foomatic/direct/Canon_MG3600_series.ppdテキストエディタを開きます。
  3. 質問で手順5を繰り返します(現在読んだように)、しかし、行を挿入したことを確認してください。後ろにワイヤー*PPD-Adobe: "4.3"
  4. 走るfoomatic-rip -P Canon_MG3600_series /proc/cpuinfo

    • -o docs省略した内容は参考にしてください説明する理由は次のとおりです。

メモ:それでも問題が解決しない場合は、Ctrl + Zを押してRun ps fT、Runを押してkill -9 %1から、ps fT最初の10行で質問の最後に出力を追加します/etc/foomatic/direct/Canon_MG3600_series.ppd。 (追加する前にタブインデントを使用することを忘れないでください)

説明する

また、指定した場合、私自身(4.0.17.256)のインストールfoomatic-ripに問題がありました。-o docs説明できない理由(バグなど)このオプションを指定すると、ラスタプロセッサがクラッシュします。呼び出したいステップで呼び出しa2psコマンドラインを正しく引用しません。

run を使用すると、シェルは-o docs次のように実行しようとします。

a2ps -1 --medium=A4dj --center-title=Documentation for the PRINTER/ENGINE (recommended) -o -
  • オプションの周りに引用符がないため、シェルが括弧を--center-title受け取り、構文エラーが発生することがわかります。

シェルが実行を拒否した場合a2psfoomatic-ripしばらく凍りつくように;おそらく決して来ない結果を待っているかもしれません。少し待つと、最終的に印刷ジョブを完了せずに終了コード9で終了します。

これが正しいことが判明した場合は、最新のFoomaticツールチェーンを確認する必要があります。問題が解決しない場合は、このバグを開発者に報告してください。

PS-o docs問題のオプションが省略された場合、foomatic-ripシェルは次のように実行するように求められます。

a2ps -1 --medium=A4dj --center-title=USERNAME@HOSTNAME -o -
  • コマンドラインには引用の問題がないため、変換、ラスタライズ、印刷が正しく機能します。

関連情報