语境
使用 Debian 6.04“Squeeze”作为 POS 站。需要从 Web 应用程序打印到收据打印机。
安装了两台打印机:网络打印机 [默认] 和收据打印机。
尽管系统默认是网络打印机,但在 Web 应用中,它绝对必须能够默认打印到收据打印机。在 Debian 中...它不能。它不遵守 Firefox 或 Chrom(e|ium) 中的“上次使用的打印机”。
问题
我已经以这种方式设置了 XP、7、Ubuntu 甚至 Mac OSX,所以我对以这种方式设置 Firefox 并不陌生……相同的 Iceweasel/Firefox 设置……完全失败。无论设置如何,或者从哪台打印机打印,始终使用系统默认值。
要使其在其他系统上运行,请执行以下操作:
- 使用所需的打印机在 Firefox 中打印页面。
- 确保 print.save_settings 为真。
- Firefox 记住上次使用的打印机
- 设置 print.always_print_silent = true
总结
在某些配置下,Firefox 和 Chrome 不遵守“上次使用的打印机”。Firefox 不遵守 print.print_printer、偏离默认设置的打印命令设置……或任何其他可能有用的设置。无论如何,根据我最近的经验……
答案1
在我发帖的多个论坛中,没有人接受这个——好吧,这里有一个可靠的解决方案。它之所以可靠,是因为它完全绕过了浏览器及其与“上次使用的打印机”相关的各种问题。由于这给我带来了压力和额头上的新血管——我自私地、毫无歉意地收获了这些分数。
做这个:
基本
1 创建‘收据’用户。
adduser receipt
2 创建桌面快捷方式,以“收据”用户身份启动浏览器例如,
gksu --su-mode -u receipt firefox
3 将新帐户中的默认打印机配置为收据打印机
lpoptions -d name-of-receipt-printer
[可选 - 但可能有用]
员工可能会下载附件、盗版材料等。这会将下载内容放在共享文件夹中,以便他们可以轻松找到它。[如果您不这样做,它将进入新帐户的下载文件夹并不可用]
- 将“收据”添加到“员工”组,或您的主要用户共享的任何其他公共组。
- 创建用于浏览器下载的共享文件夹。授予两个用户权限。
- 配置‘收据’的浏览器下载到共享文件夹。
总结:
您不会使用新帐户——您将以此用户身份运行网络信息亭以便:
- 在您的工作站上维护多台打印机
- 将“普通”打印机设置为所有其他应用程序的系统默认打印机。
- 仍然能够在您的 Web 应用程序中“静默”打印到收据打印机。
杂项
这样就无需使用单独的配置文件,而且……Firefox 会忽略 user.js、syspref.js 和它声称支持的其他东西,因此难免会招致人们的不满。我不会介绍静音打印,因为其他地方对 chrome 和 Firefox 的介绍已经很详细了——而且它确实有效。
这就是基础知识 —— 具体细节、共享文件夹创建等由您自己决定。我想同样的概念在 Windows 中也可以发挥作用 —— 一点“runas”魔法。
希望你能比我更快到这里!