• ベストアンサー

UNIXでのコマンドからの印刷

UNIX(SCO OPEN SERVER)で下記のようなコマンドより印刷しています。 lp -onb -oc -olpi8 -otl60 -olandscape filename ここまでは問題ないのですが、今プリンターを追加しようとしています。 となると -d でプリンター名を指定する必要があるとのことなのですが、さらにオプションの表記が長くなります。 今、使用しているアプリケーションがこのコマンドを入力して設定することにより、印刷方法を変更できるのですが、入力するフィールドの文字数が制限されており、 今のコマンドに -d オプションを追加できません。 そこで可能かどうか質問なんですが、 -onb -oc -olpi8 -otl60 -olandscape このオプションは共通なので、lp コマンドを実行したときの標準と設定することは可能でしょうか? 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.5

(補足) >lp -onb -oc -olpi8 -otl60 -olandscape >というコマンドが実施するように環境を設定するにはどう書けばよいのでしょうか? Solarisなら -o "option option option..." という書き方ができます。 コマンドラインから実行するなら、エイリアスを定義する手もあります。 alias lp 'lp -onb -oc -olpi8 -otl60 -olandscape' /etc/printers.confというファイルに印刷クライアントの設定をする事ができます。 manコマンド/SCO OPEN SERVERの管理者ガイド・利用者ガイド 等で確認して下さい。

maiton
質問者

お礼

まさに欲しかったのがこれでした。 これで行けそうなので、試してみます。 ありがとうございました。

その他の回答 (4)

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.4

>こんな感じで書かれていましたので、Bシェル系ということ >なんでしょうか? ちがいます。あなたが作業中のアカウントがどのシェルを使うかは/etc/passwdに書かれています。 hogehoge:*:501:20::0:0:hogehoge:/export/home/hogehoge/:/bin/sh とか hogehoge:*:501:20::0:0:hogehoge:/export/home/hogehoge/:/bin/csh です。 または環境変数SHELLを表示してみて下さい。 echo $SHELL とか printenv など。 >lp -onb -oc -olpi8 -otl60 -olandscape >というコマンドが実施するように環境を設定するにはどう書けばよいのでしょうか? これはフィールドに設定されている、と言う事ですから問題ないのでは?

maiton
質問者

お礼

ありがとうございます。 とても勉強になります。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.3

Cシェル系なら、setenvを使います。 setenv PRINTER lp1 Bシェル系なら、exportを使います。 export PRINTER=lp1 .profile .cshrc など、環境を設定しているファイルがあると思いますので、 記述しておけば良いかと。 SCO UNIX は使った事ないのですが、 man lp とかで書かれていないでしょうか?

maiton
質問者

補足

ありがとうございます。 .profile を見たところ、 SHELL=/bin/sh HOME=/ PATH=/bin:/etc:/usr/bin:/tcb/bin:/usr/local/bin:. こんな感じで書かれていましたので、Bシェル系ということ なんでしょうか? 細かいことまで聞いて申し訳ないのですが、 lp というコマンドを使った場合、 lp -onb -oc -olpi8 -otl60 -olandscape というコマンドが実施するように環境を設定するにはどう書けばよいのでしょうか? 宜しくお願いいたします。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

SCOUNIXのlpコマンドは、環境変数PRINTERを見に行かないですか?

maiton
質問者

補足

まさに望んでいたのが環境として設定することなんですが、素人なもので見に行くかどうかもよく分からないもので・・・・ プリンターの環境変数はどうやって設定できるのでしょうか?

回答No.1

プリント用の簡単なシェルのスクリプトファイルを作り, #!bin/sh lp -onb -oc -olpi8 -otl60 -olandscape -d<printer> $1 などとして,アプリケーションからはこのファイルを呼び出すのではどうでしょうか. これならコマンドオプションが長くても大丈夫だと思います.

maiton
質問者

お礼

ありがとうございます。 アプリケーションがパッケージでいじれないので、 ちょっと難しそうなので、他の方法で試してみます。

関連するQ&A

  • UNIXからの印刷

    私はUNIXの初心者なのでよくわかりません。 OSはCOMPAQ製のTru64 UNIXです。 UNIXからLAN上で印刷させたくてプリンタについて調べていたのですが、基本的なところが全然わかりません。 いろいろ調べてみて印刷用としてエプソンのLP-8100とTCP/IP対応Ethernet I/Fカードで考えていたのですが、I/Fカードについて問い合わせたらTru64 UNIXでは動作検証をとっていないと言われました。 http://www.i-love-epson.co.jp/products/printer/laser/tokucyou/network.htm 全くわからないのでUNIXからの印刷させるための方法やお勧めのプリンタを教えてください。 それと調べているときに何度か目にしたpostscriptというものについて調べてみたのですがイマイチわかりません。 これはUNIXから印刷するときに必要なものなのでしょうか? 誰かわかりやすく説明してください。 お願いします。

  • UNIXでテキスト→PS→印刷なコマンド

    UNIXを勉強中です。 テキストファイルをPSファイルにして、すぐに印刷してくれるようなUNIXスクリプトを書いたつもりなのですが、どうもうまく行きません。 どこが間違っているのでしょう。 ちなみにプリンタはlp4160です。 #!/bin/csh -f if($#argv != 1)then echo "テキストファイルをPSファイルにして印刷します。" echo "ファイル名を指定します。" exit 1 endif a2ps -f9.8 $1 | lpr -Plp4160

  • UNIXから縮小印刷

    過去EPSONのプリンターをネットワークプリンタとして利用していました。 最近のプリンターは独自にLANボードが装備されており、逆にいままで使用していたプリントサーバーを接続することで保障しないというものが多い。 また、縮小機能がA3出力のでできるものにはありましたが、最近のものはついていない。 で、本題。 上記設定を無視してUNIXから直接プリンターに対して縮小印刷をしようと思いますがコマンド等がわかりません。 機能もあるのかどうかも。 どなたかわかる方教えてください。

  • UNIXコマンドを入力した後、スクロールをとめたい

    UNIXコマンドを入力した後、スクロールをとめたい UNIXマシンで、たとえば「netstat」コマンドを入力すると、 表示行数が多いため一気に情報が流れ、最初のほうの情報が 確認できません。 一度に何行まで、というような抑止のオプション(Cisco IOS の"terminal length"みたいな)はあるのでしょうか?

  • HP-UXのコマンドラインでPDFファイルを印刷する方法

    はじめまして。 HP-UXを触り始めて1週間程度の新参者です。 コマンドライン上からも印刷で悩んでいます。 同一ネットワーク内に存在するLPDプリンタに、  1.日本語テキストファイルを印刷  2.日本語PDFファイルを印刷 したいと思っています。 setnetlp コマンドでプリンタを定義し、 lp コマンドで「1.日本語テキストファイル」 の印刷までは成功したのですが、 「2.日本語PDFファイル」を印刷することができません。 # プリンタからエラー音(ビープ音)がし、 # 大量の文字化け用紙が排出されてしまいます。 O  S:B.11.00 U 9000/785 プリンタ:Canon LBP910 ( LIPS IV ) です。 # setnetlp コマンドでプリンタを追加し、 # 追加したプリンタに lp コマンドで印刷指示を出せば、 # どんなファイルでも印刷可能と認識していますが、 # そもそもこの認識が違っているのでしょうか?

  • UNIXとWindowsのプリンタの扱いについて

    UNIX系OSでlp、lprコマンドで印刷を行う場合、データをPostscriptに変換するのはなぜでしょうか? また、Windowsでは、印刷を行う場合、データの形式をどう判断して、印刷しているのでしょうか? UnixとWindowsでどのように違うか教えてください。

  • unixのreadコマンドで入力を指定時間待つというオプションはある?

    unix系のreadコマンドでプロンプトからの入力を待つ際に、 指定時間入力を待って、入力が無ければreadコマンド失敗、 となるようなオプションはあるのでしょうか? solarisのBシェルでスクリプトを書きます。 以上、よろしくお願いします。

  • 余分なヘッダが印刷されます。

    ファイルなどを印刷すると、1枚目に必ずヘッダみたいなものが印刷されます。 しかも、1枚目の最初に付け加えられるのではなく、余分な1枚がついてきます。 ヘッダ(?)に書いてある内容は、ユーザ名・ホスト名・日時など。 lpコマンドのnobannerオプションや、/etc/lp/printers/プリンタ名/configuration ファイルの編集もやってみましたが、上手くいきません。 このヘッダ(?)を印刷しないようにするには、どうしたらいいのでしょう?? 印刷手順は、lpコマンド(nobannerオプション付)またはGUIから[ファイル:印刷]です。 使用しているOSはSolaris8、プリンタはFX Laser Press 4150(2)PS/J2です。 よろしくお願いします。

  • lpコマンドでネットワークプリンターから印刷できない

    プリントサーバーのパラレルポートに接続したプリンターからは印刷できていたのですが、 このたび導入したネットワークプリンターからは印刷できません。 lp text.txt とやると request id is printer-10 (1 file(s)) のように表示されるので一応ジョブは飛んでるっぽいのですが、いくら待ってもプリンターは微動だにしません。 このネットワークプリンターは以前使用していたインクジェットプリンターと同様にCUPSで設定しています。 今回導入したプリンターはIPP対応のネットワークプリンターなので、CUPSに何かネットワーク用の設定が必要なのではと考えています。 また、このプリンターはXP機から印刷しようとすると、普通に反応して印刷してくれます。 シェルからlpコマンドを使ったときだけうまくいきません。 どなたか詳しい方いませんか~。

  • perl から unix コマンドを入力する方法

    perl から unix コマンドを入力するには、どのようにしたらよいのでしょうか。 具体的には、フォームから受け取った文字列を、useradd に渡して、ユーザーの追加をしたいのです。 perlスクリプトの所有者はrootで、属性はsetuid(4755)にしています。

    • ベストアンサー
    • Perl