这是有道理的,实际上是在这个站点上建议的 ,让关键文件更改触发带有 puppet 元参数(例如通知或订阅)的服务重新启动。例如:
## file definition for printers.conf
file { "/etc/cups/printers.conf":
[snip],
source => "puppet:///module/etc/cups/printers.conf"
}
## service definition for sshd
service { 'cups':
ensure => running,
subscribe => File['/etc/cups/printers.conf']
}
Run Code Online (Sandbox Code Playgroud)
但是在 CUPS 的情况下,这会触发无限循环的重启;逻辑是这样的:
/etc/cups/printers.confruninterval,我们返回到(1)。有没有办法抑制cupsd需要给文件加时间戳?或者是否有木偶戏法可以在这里提供帮助?
谢谢!
我有一个运行杯子的 Debian 盒子,我将我的激光打印机共享给家庭网络中的所有其他机器。我在市场上升级到彩色激光多功能(打印/扫描/传真)打印机,我想保持相同的网络设置。
我不认为通过杯子共享打印功能会出现任何问题,但是扫描是如何工作的?我可以扫描到打印机并以某种方式将图像推送到机器上吗?或者我会从需要扫描图像的客户端机器上启动扫描过程吗?
我正在寻找集中管理(和跟踪!)我们 AD 域打印的最佳方式。我知道 Windows Server 可以配置为“打印服务”服务器,但我的理解是这只是为了集中队列,并没有真正进行会计和报告(谁打印什么、何时、多久打印一次等)。
我们的打印机包括基本的 USB 本地打印机(可能会或可能不会共享到附近的隔间),教室里有位于角落并充当打印服务器的专用 Win7 x86 盒(不连接到任何单独的机器,因为许多机器双启动OSX 和 Windows Vista 或 Win7),以及本地网络上更大的“大复印机”。
自从最近在那里受雇以来,我已经开始在 AD 中将共享发布为标准化格式,但该系统非常无组织。我想要一个中央打印服务器,每个盒子都会向其报告队列,并且当用户想要将打印机添加到他们的机器(或者我想通过组策略部署到他们)时,他们可以去查找网络上的任何打印机)。
我有空闲的 Windows 2008 服务器可供我使用,如果打印服务是要走的路,或者我很乐意构建 Linux CUPS 盒或其他任何东西。我开始研究如何最好地解决这个问题,但我认为如果有人想在此期间投入 2 美分,这将同时发布。
谢谢。
我在各种论坛上看到大量帖子提出了这个问题和类似的问题,但似乎没有人能够提供解决方案。
基本问题是这样的:
在 [Insert Old Version of Linux Distro] 上打印工作正常,但在更新到 [Newer version of Linux Distro] 后,现在在将文件发送到打印提示和打印机实际发送之间有 [5,10,15] 秒延迟开始打印。
在我的特殊情况下,打印在 Ubuntu 8.04 上立即开始,但在升级到 10.04 后,有 10 秒的延迟。我在 Ubuntu Server 上执行此操作,使用 lpr 命令打印,但问题也存在于 10.04 桌面上。从我读到的内容来看,它也会影响最新版本的 MOST linux 发行版。Fedora、OpenSUSE、Arch 等
打印机都是网络打印机。从 Windows 打印也是即时的。打印机上的指示灯立即开始闪烁,但 10-15 秒内没有任何显示。
Ubuntu 10.04 使用 CUPS 1.4.3。我认为这可能是 CUPS 中的一个错误,所以我编译了 CUPS 1.4.5(最新稳定版)来替换 Ubuntu 的 1.4.3。但是还是有延迟。
知道是什么原因造成的吗?或者解决问题的方法以找出导致问题的原因?
更新:我将日志级别设置为调试,并在我的日志中为单个作业获得了大约 660 行输出。我发送的测试文件从添加到提示到出现需要 10 秒钟。
我不会在这里发布整件事(除非你真的想要它!),但这里是亮点:
工作被提示,一堆事情在同一秒内发生。那一秒的最后一行是:
D [28/Nov/2010:14:44:19 -0500]
Discarding unused printer-state-changed event...
Run Code Online (Sandbox Code Playgroud)
下一个日志行在整整 4 秒后出现:
D [28/Nov/2010:14:44:23 -0500]
[Job 3071] prtGeneralCurrentLocalization type …Run Code Online (Sandbox Code Playgroud) 这是一个家庭设置。中央打印机服务器 (Linux) 管理队列,HP 2430DTN 通过 100Mbit/sec 以太网连接到它。打印机连接到可管理的电源。shell 脚本监视服务器上的队列 (lpstat -o) 并在有作业时打开打印机。如果队列为空 10 分钟,它将关闭打印机。
现在这个设置搞砸了,在几周后停止打印机等,并且通常“不太可靠”。我现在知道如何更改停止打印机的事情,但是:
有没有办法在脚本上运行我的轮转打印机并直接从杯子关闭打印机关闭脚本而无需查看队列?那太酷了!
我们有一个主要的 Linux 环境,但我们有 40 台 Mac 需要支持。我正在尝试将它们集成到我们的标准化打印系统中。我们有大约 50 台打印机从带有 CUPS Browsing 的 CUPS 服务器共享。
我/printers/etc/cupsd.conf通过删除 BrowseLocalProtocols 行并添加了行进行了修改BrowseProtocols CUPS。现在,当我Print & Scan在“系统偏好设置”中打开窗格时,我可以看到我们所有的打印机。不幸的是,没有任何打印机出现在任何应用程序的打印对话框中。
我可以通过单击在+中添加打印机Print & Scan,选择打印机,然后单击添加来将打印机添加到列表中。我收到一个对话框,询问我是否要继续,因为同名的打印机已经存在。我不确定修改 CUPS 服务器上的打印机会如何影响客户端。
有没有办法让所有cups共享打印机显示在用户的打印机列表中?有没有办法在命令行或登录脚本中添加这些打印机?我是否应该将它们全部添加到运行 Workgroup Manager 的系统上并使用 MCX 分发它们?
我们有一个网络范围的 CUPS 服务器,为我们所有的校园用户提供经过身份验证的打印机访问。不过,我们对 Mac 客户端处理不良打印身份验证的方式感到非常失望。
在任何其他身份验证对话框中,当用户输入错误的用户名或密码时,窗口会短暂震动,允许用户重新输入。对于打印机,情况并非如此。它会很乐意接受(甚至保存到钥匙串,如果指定)错误的凭据。验证对话框被解除,然后用户必须处理显示为“暂停(需要验证)”的打印作业。要打印他们的作业,他们需要在打印机的队列中选择它,单击“恢复”,然后重新输入适当的凭据。
有没有办法让失败的打印身份验证更直观地为 Mac OS X 客户端工作?
我们正在努力支持 BYOD 环境,但我们的最终用户对此感到非常困惑。更糟糕的是,它预先填充了用户的完整登录名(例如“Smith, John”),这往往使他们认为使用本地机器密码。
在 CUPS Web 界面中,添加打印机时,界面会显示所有检测到的打印机,包括本地打印机和网络打印机,用户可以选择要添加到 CUPS 的打印机。
如何从命令行获取此列表?
谢谢。
我已经尝试了 ProxyPass、ProxyPassReverse 和 ProxyHTMLURLMap 的一些组合,但我仍然没有多少运气。我只是希望能够通过访问 www.printerhost.com/printers/printername 来访问 CUPS 中的打印机,而不必添加端口 631 或让 CUPS 侦听端口 80。
根据要求,这里是配置文件:
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule xml2enc_module modules/mod_xml2enc.so
NameVirtualHost *:80
<VirtualHost *:80>
ServerName blah.yours.com
JkMount /* balancer
JkMount /jkmanager jk-status
JkUnMount /cups* balancer
ProxyRequests Off
ProxyPass /cups/ http://localhost:631/
ProxyHTMLURLMap http://localhost:631 /cups
<Location /cups/>
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLURLMap / /cups/
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 根据cupsd.conf 文档,应该能够“要求对远程访问进行身份验证,但允许无需身份验证的本地访问”。似乎没有关于此主题的任何其他文档。
我尝试将以下内容放入我的 cupsd.conf 中:
<Location />
# Restrict access to the server...
Allow from 192.168.1.0/24
Require valid-user
Satisfy any
Order allow,deny
</Location>
Run Code Online (Sandbox Code Playgroud)
它对我不起作用。
有没有人让这个工作?此配置是否有可用的示例 cupsd.conf?