为什么应用程序不尊重打印机的默认选项?

为什么应用程序不尊重打印机的默认选项?

杯子对于打印队列,始终有一组可配置的“默认选项”。

系統設定印表機还可以编辑这些内容。

但是应用程序(见下文)似乎完全忽略了这些!我敢肯定(我已经使用 Debian/Ubuntu 10 年了)他们以前不会忽略它们。

是不是哪里出了问题?或者我配置选项哪里出错了?或者有什么解决办法?

我注意到,如果我创建一个新用户,默认因此,肯定存在某个用户设置 - 但是在哪里?!

具体内容

我知道问这样的问题如果没有具体细节就没有任何意义,所以我想问一下:

  • 不遵守默认设置的应用程序:Firefox、DigiKam、EOG(“图像查看器”)、LibreOffice 3、Thunderbird、Evince(“文档查看器”)。我还没有发现一个遵守默认设置的应用程序。

  • 环境:带有 Gnome Shell 的 Ubuntu 12.04 LTS。

  • 打印机驱动程序(库存,来自 Ubuntu):“HP Photosmart 7510 系列,hpcups 3.12.2”

  • 举个具体的例子,默认选项是:双面打印、“最佳”质量、“普通纸”,但应用程序都默认为非双面打印、“高分辨率照片”质量、“照片纸”。这意味着每张纸要花 10 分钟,而且墨水成本很高!

答案1

概括:您可能正在看到最后一个实例的选项~/.cups/lpoptions


既有系统范围的默认值,也有每个用户的默认值。

应用程序和 CUPS Web 界面配置系统范围的默认设置。这些默认设置system-config-printer存储/etc/cups/printers.conf/etc/cups/ppd/NAME.ppd姓名是打印机的名称。在.ppd文件中,选项设置行如下所示:

*DefaultDuplex: DuplexNoTumble

此选项的可能值称为Duplex,由类似以下行给出

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

冒号后面的部分描述了要发送给打印机以激活设置的命令。冒号前面的部分由*、选项名称、空格以及一个或多个用斜杠分隔的值名称组成(例如,“None”和“Off”对于此特定选项含义相同,您可以互换使用它们)。

您还可以将每个用户的默认设置存储在主目录中的文件中.cups/lpoptions。此文件的语法如下:

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

如下的线Dest lj/single …定义了实例single打印机名为。lj当打印到该实例时,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打印单面。实例在某些 GUI 中也可见,例如在 KDE 打印对话框中。

Gnome 打印对话框不会显示不同的实例,您只会看到一个。然而,与直觉相反的是,Gnome 不会默认使用纯文本选项lp,而是选择文件中提到的最后一个实例lpoptions。因此,例如,对于lpoptions上面的文件,默认为双面打印,但如果交换了两行,则默认为单面打印。

Gnome 的另一个陷阱是它还会读取文件~/.lpoptions。这是 的一个旧位置~/.cups/lpoptions,自 Ubuntu 12.04 左右以来,打印系统不再读取它,但从 Ubuntu 14.04 开始,Gnome 仍会读取它。如果您有该文件,请将其重命名为.cups/lpoptions或删除它。

答案2

我发现许多应用程序(例如,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

啊哈!我查看了主目录中的隐藏文件,发现了一个名为.杯子其中包含选项文件。

不知道它是怎么到那里的,但删除该文件夹可以使我的默认设置再次起作用。

理智恢复!

答案4

我的解决方案肯定不是最好的,但对我的目的来说确实有效。

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

现在 evince 无法保存其设置,更改仅在打开时有效。我知道这是一个愚蠢且有限的解决方案!但目前对我来说已经足够好了。:)

问候,

詹德

相关内容