问题描述
在Raring,每次我连接到网络时,Cups会自动安装网络中的所有打印机,有些不止一次。
此外,我时不时地将USB打印机连接到笔记本电脑。即使已经配置了打印机,也会在列表中添加另一台打印机。
我希望禁用此功能,只允许手动安装打印机。我该怎么办呢?
最佳解决办法
我刚刚发现了一个可能最佳的解决方案。有一个名为”cups-browsed”的服务,它显然负责走出网络,找到它可以找到并安装它们的所有打印机(gee – thanks –NOT)。由于这是一个Upstart作业,您可以使用以下命令停止服务:
sudo service cups-browsed stop
更好的是,您可以通过向包含单个单词manual
的/etc/init
添加简单文本文件来阻止服务再次启动。该文件必须命名为cups-browsed.override
所以,只需启动gedit即可
gksudo gedit /etc/init/cups-browsed.override
将manual
放在第一行和第一行并保存文件。
在下次重新启动时,该服务将不是re-started。但是,如果您已停止服务,则无需重新启动。将此文件放入/etc /init后,只能手动启动服务(如果需要/需要),使用:
sudo service cups-browsed start
-or-
sudo service cups-browsed stop`
我已经通过一次重启测试了这个。打印仍然可以正常工作,到目前为止,重启后我不再安装数百台打印机了。只是我手动安装的那些出现了。
次佳解决办法
在/etc/cups/cups-browsed.conf
中,设置指令:
BrowseProtocols none
然后,运行service cups-browsed restart
和service cups restart
。应该没有可见的打印机,除了您自己添加的打印机。
第三种解决办法
要禁用它,只需打开终端Ctrl
+ Alt
+ T
并键入
sudo cupsctl --no-remote-printers
或编辑
/etc/cups/cupsd.conf
并设定
Browsing Off
该溶液被发现为here
一些较新的Ubuntus(15.04及更高版本)可能需要此命令:
sudo cupsctl --no-share-printers
第四种办法
如前所述,现在在client-side杯库(即libcups.so,GNOME和KDE应用程序链接)中完成,而不是在cupsd服务器中。因此,更改cups服务器中的”Browse”设置将不起作用。
$ ldd /usr/lib/x86_64-linux-gnu/libcups.so.2
...
libavahi-common.so.3 => /usr/lib/x86_64-linux-gnu/libavahi-common.so.3
libavahi-client.so.3 => /usr/lib/x86_64-linux-gnu/libavahi-client.so.3
...
即使关闭本地cups服务器,IE也会出现(在“打印”对话框中显示远程打印机)的行为。您可以通过关闭avahi
服务来禁用它,但这将禁用所有zeroconf /mdns相关功能。
但是,至少有一种方法可以关闭大多数avahi的功能(包括将远程打印机添加到CUPS客户端),同时保持DNS功能(例如,在查找foo.local
样式的主机名时):
编辑/etc/avahi/avahi-daemon.conf并在[server]
部分中,添加enable-dbus=no
,然后重新启动avahi-daemon服务。
第五种办法
杯子客户端库现在还获得了Avahi的网络打印机列表(它实现了各种已知的协议,如zeroconf或Bonjour或mdns或dns-sd)。在旧版本的杯子中,这只是由杯子服务器完成的。
您可以使用shell命令(如avahi-browse -a | grep Printer
)查看网络上正在播放的内容
您可以使用sudo service avahi-daemon stop
禁用avahi,但这将停止所有基于zeroconf的设置,而不仅仅是打印机。