ユーザーがCUPSでプリンタオプションを変更するのを防ぐことはできますか?

ユーザーがCUPSでプリンタオプションを変更するのを防ぐことはできますか?

小規模家族構成...

カラープリンタとCUPSがインストールされているLinuxコンピュータがあります。子供は印刷したいが、ドラフトモードでのみグレースケールでのみ印刷できます。

CUPS を使用して、お子様のアカウントがプリンタにアクセスできないようブロックしました。その後、同じハードウェアプリンタに別のデフォルトオプション(ドラフトとグレースケール)を使用して2番目のプリンタを設定し、子供がこの新しいプリンタにアクセスできるようにしました。

動作します。この新しいプリンタで印刷するときのデフォルトのオプションは、実際にはドラフトとグレースケールです。しかし、これは基本的なオプションです。彼らはそれを変えることができます。

ユーザーがプリンタのオプションを変更できないようにする方法はありますか?

ベストアンサー1

私が考える唯一の方法は、PPDファイルをコピーし、適切なオプションを削除し、新しいファイル名とモデル名を作成することです。 Adobeのファイル形式はかなり複雑なので(PDF)、これらのオプションは副作用を避けるためにそのままにすることができますが、効果がないように操作できます。たとえば、Brother プリンター PPD には次のセクションがあります。

*OpenUI *TonerSaveMode/Toner Save: PickOne
*DefaultTonerSaveMode: Off
*OrderDependency: 10 AnySetup  *TonerSaveMode
*TonerSaveMode Off/Off: "statusdict/tonersave known{statusdict begin false tonersave end}if"
*TonerSaveMode On/On: "statusdict/tonersave known{statusdict begin true tonersave end}if"
*CloseUI: *TonerSaveMode

これにより、トナーを節約するためのブールオプションが作成され、デフォルト設定はオフになります。デフォルト値をに変更しOnてoffオプションを削除してみることができます。

*OpenUI *TonerSaveMode/Toner Save: PickOne
*DefaultTonerSaveMode: On
*OrderDependency: 10 AnySetup  *TonerSaveMode
*TonerSaveMode On/On: "statusdict/tonersave known{statusdict begin true tonersave end}if"
*CloseUI: *TonerSaveMode

原則として、1つのオプションしかないメニューを提供することが効果的です。

あるいは、逆にoffオプションをonと同じにするには、""ウィジェットを実装するPostScriptコード(in)をコピーし、両方のオプションを保持するだけです。OnOff

*TonerSaveMode Off/Not really off: "statusdict/tonersave known{statusdict begin true tonersave end}if"

選択されていないオプションでは、ユーザーが使用できないようにセクションを削除できる必要がありますが、OpenUI/CloseUIコードからその部分が出力されるかどうかはわかりませんTonerSaveMode。あなたはそれを試す必要があります。 (これはOrderDependency他のすべてのリリースコードと一緒にコードを正しい順序で維持するのに役立ちます。NonUIOrderDependency代わりにAが必要な場合があります。)

PPDヘッダーでNickNameおよびを変更する必要があるかもしれませんModelName

おすすめ記事