web-dev-qa-db-ja.com

アプリケーションがプリンターのデフォルトオプションを尊重しないのはなぜですか?

CUPSには、印刷キューの「デフォルトオプション」の設定可能なセットが常にありました。

system-config-printerは、これらの編集も有効にします。

しかし、アプリケーション(下記参照)はこれらを完全に無視しているようです! (Debian/Ubuntuを10年間使用しています)彼らはそれらを無視するために使用していなかったと確信しています。

どこかに問題がありますか?またはどこかに設定オプションが間違っていますか?または修正/回避策がありますか?

新しいユーザーを作成すると、デフォルトareがあることに気付きました。だから、どこかにユーザー設定が必要です-しかしwhere?!

仕様

私はこのような質問を具体的にせずに質問しても意味がないことを知っているので、ここに行きます:

  • デフォルトを軽視するアプリケーション:Firefox、DigiKam、EOG(「イメージビューアー」)、LibreOffice 3、Thunderbird、Evince(「ドキュメントビューアー」)。デフォルトを尊重する単一のアプリケーションは見つかりませんでした。

  • 環境:Ubuntu 12.04 LTSとGnome Shell。

  • プリンタードライバー(Ubuntuからのストック):「HP Photosmart 7510シリーズ、hpcups 3.12.2」

  • 具体的な例として、デフォルトのオプションには、「両面印刷」、「最高」品質、「普通紙」がありますが、アプリはすべてデフォルトで非両面、「高解像度写真」品質、「写真用紙」になります。これは、シートごとに10分かかり、インクで大金がかかることを意味します!

5
artfulrobot

概要~/.cups/lpoptionsの最後のインスタンスのオプションが表示されている可能性があります。


システム全体のデフォルトとユーザーごとのデフォルトの両方があります。

system-config-printerアプリケーションとCUPS Webインターフェイスは、システム全体のデフォルトを構成します。これらは/etc/cups/printers.confおよび/etc/cups/ppd/NAME.ppdに保存されます。ここで、NAMEはプリンターの名前です。 .ppdファイルでは、オプション設定行は次のようになります。

*DefaultDuplex: DuplexNoTumble

Duplexと呼ばれるこのオプションの可能な値は、次のような行で与えられます

*Duplex None/Off: …
*Duplex DuplexNoTumble/Long-Edge Binding: …
*Duplex DuplexTumble/Short-Edge Binding: …

コロンの後の部分は、設定を有効にするためにプリンターに送信するコマンドを説明しています。コロンの前の部分は、*、オプションの名前、スペース、スラッシュで区切られた値の1つ以上の名前で構成されます(たとえば、「なし」と「オフ」は同じ意味です)この特定のオプションの場合、それらを同じ意味で使用できます)。

また、ホームディレクトリの.cups/lpoptionsというファイルにユーザーごとのデフォルトを保存することもできます。このファイルの構文は次のようになります。

Dest lj/single Duplex=None
Default lj Duplex=DuplexNoTumble

Dest lj/single …のような行は、singleと呼ばれるプリンターのljと呼ばれるinstanceを定義します。そのインスタンスに印刷するとき、DuplexオプションはNoneに設定されます。デフォルトのインスタンスに印刷する場合、DuplexオプションはDuplexNoTumble(両面)に設定されます。行Default lj …は、ljに出力するときのデフォルトオプションを定義します。これらのオプションは、システム全体のデフォルトをオーバーライドします。 DefaultではなくDestを使用すると、ljがデフォルトの印刷先になります。

(システム全体の/etc/cups/lpoptionsを使用することもできます。.ppdファイルに設定されたオプションでは冗長に見えるシステム全体のファイルがあるのはなぜですか?違いは、コンピューターが他のコンピューターのプリントサーバーでは、.ppdファイルはすべてに適用されますが、/etc/cups/lpoptionsはローカルコンピューターからの印刷時にのみ適用されます。

インスタンスを使用して、コマンドラインからニックネームの下でさまざまなオプションセットを使用可能にすることができます。たとえば、上記のlpoptionsファイルでは、lp -d ljは両面を印刷し、lp -d lj/singleは片面を印刷します。インスタンスは、KDEの印刷ダイアログなど、一部のGUIでも表示されます。

Gnome印刷ダイアログには異なるインスタンスは表示されず、1つしか表示されません。ただし、Gnomeは直感に反して、デフォルトのプレーンlpのオプションを使用せず、代わりにlpoptionsファイルで言及された最後のインスタンスを選択します。したがって、たとえば、上記のlpoptionsファイルでは、デフォルトは両面印刷ですが、2行がスワップされた場合、デフォルトは片面になります。

Gnomeのもう1つのトラップは、ファイル~/.lpoptionsも読み取ることです。これは~/.cups/lpoptionsの古い場所であり、Ubuntu 12.04以降では印刷システムはもう読み取りませんが、GnomeはUbuntu 14.04の時点でまだ読み取ります。ある場合は、名前を.cups/lpoptionsに変更するか、削除します。

5
Gilles

多くのアプリケーション(firefox、evince、gThumbなど)が~/.cups/lpoptionsの設定に従うことがわかりました。テキストエディターを使用してお気に入りの設定を更新します。

使用可能なすべてのオプションをリストするには、次のコマンドを使用します

lpoptions -l

たとえば、使用可能な二重構成を確認するには

lpoptions -l | grep -i duplex

ショー:

Duplex/2-Sided Printing: None *DuplexNoTumble DuplexTumble

利用可能な印刷品質オプションを確認するには

lpoptions -l | grep -i StpQuality

ショー:

StpQuality/Print Quality: None Economy *Draft Standard High Photo HighPhoto UltraPhoto Best
3
Organic Addict

あはは!私は自分のホームディレクトリにある隠しファイルを見て、。cupsと呼ばれるlpoptionsファイルを含んでいるファイルを見つけました。

どうやってそこにたどり着いたのかわかりませんが、フォルダを削除すると、デフォルトが再び機能するようになります。

正気が回復した!

2
artfulrobot

一部のアプリケーションは、以前の印刷要求のプリンター設定を「記憶」しています。したがって、以前のデフォルトで一度印刷した後にシステムのデフォルトを変更すると、それを望まない場合でも以前の設定を「記憶」します!

例えば。 Evolutionはプリンタ設定を〜/ .evolution/printingに保存し、Evinceは〜/ .config/evince/print-settingsに保存します

アプリがこの情報を保存するための標準的な方法はないようです(またはアプリは単にそれに準拠していません)。

確認はしていませんが、アプリケーションから印刷するときにデフォルトに触れない場合、設定は保存されないため、システムのデフォルトはそのまま使用されます。ただし、設定を一度変更すると、保存された設定は常にそのアプリケーションのシステムデフォルトを上書きします。

これは、新しいユーザーがデフォルトをうまく選択する理由を説明しています。しかし、既存のユーザーには問題が発生しています。

1
Bob

私の解決策は確かに最良のものではありませんが、私の配偶者の証拠のために働きました。

cd ~/.config/evince
rm print-settings
chmod u-w .

現在、evinceは設定を保存できず、変更は開いている間だけ有効です。愚かで制限された解決策、私は知っている!しかし、今のところは十分です。 :)

よろしく、

ジャンダー

0
Jander