To *_* Do 100 configuration printing automatic 13.04
在 Raring 中,每次我连接到网络时,Cups 都会自动安装网络中的所有打印机,有些甚至不止一次。
此外,我时不时地将 USB 打印机连接到笔记本电脑。即使已经配置了打印机,也会将另一台打印机添加到列表中。
我希望禁用此功能并仅允许手动安装打印机。我该怎么做?
小智 101
我刚刚发现了一个可能是解决这个烂摊子的最佳解决方案。有一种名为“cups-browsed”的服务,它显然负责在网络上找到它可以找到的所有打印机并为您安装它们(哎呀-谢谢--不)。由于这是一个 Upstart/Systemd 作业,您可以通过以下方式停止该服务:
sudo systemctl stop cups-browsed
Run Code Online (Sandbox Code Playgroud)
其次是:
sudo systemctl disable cups-browsed
Run Code Online (Sandbox Code Playgroud)
如果您愿意,您仍然可以手动启动/停止服务:
sudo systemctl start cups-browsed
sudo systemctl stop cups-browsed
Run Code Online (Sandbox Code Playgroud)
sudo service cups-browsed stop
Run Code Online (Sandbox Code Playgroud)
更好的是,您可以通过向/etc/init包含单个单词的简单文本文件添加一个简单的文本文件来防止服务再次启动manual。该文件必须命名
cups-browsed.override
所以,只需启动 gedit
gksudo gedit /etc/init/cups-browsed.override
Run Code Online (Sandbox Code Playgroud)
放入manual第一行也是唯一的一行并保存文件。
在下一次重新启动时,服务将不会重新启动。但是,如果您已经停止了该服务,则无需重新启动。一旦你把这个文件放在 /etc/init 中,该服务就只能手动启动(如果你需要/想要它):
sudo service cups-browsed start
-or-
sudo service cups-browsed stop`
Run Code Online (Sandbox Code Playgroud)
我已经通过一次重启测试了这一点。打印仍然可以正常工作,到目前为止,我在重新启动后没有再安装数百台打印机。只显示我手动安装的那些。
小智 40
在/etc/cups/cups-browsed.conf,设置指令:
BrowseProtocols none
Run Code Online (Sandbox Code Playgroud)
然后,运行service cups-browsed restart和service cups restart。除了您自己添加的打印机外,不应有任何打印机可见。
小智 14
如前所述,这现在是在客户端 cups 库(即 libcups.so,GNOME 和 KDE 应用程序链接的)中完成的,而不是在 cupsd 服务器中完成的。因此更改 cups 服务器中的“浏览”设置将不起作用。
$ 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
...
Run Code Online (Sandbox Code Playgroud)
即使您关闭本地 cups 服务器,IE 这种行为(在“打印”对话框中显示远程打印机)也会发生。您可以通过关闭avahi服务来禁用它,但这将禁用所有与 zeroconf/mdns 相关的功能。
但是,至少有一种方法可以关闭 avahi 的大部分功能(包括将远程打印机添加到 CUPS 客户端),同时保留 DNS 功能(例如,在查找类型的foo.local主机名时):
编辑 /etc/avahi/avahi-daemon.conf 并在该[server]部分中添加enable-dbus=no然后重新启动 avahi-daemon 服务。
小智 8
cups 客户端库现在还可以从 Avahi 获取网络打印机列表(它实现了称为 zeroconf 或 Bonjour 或 mdns 或 dns-sd 的各种协议)。在旧版本的 cups 中,这仅由 cups 服务器完成。
您可以使用如下 shell 命令查看网络上正在广播的内容 avahi-browse -a | grep Printer
您可以使用 禁用 avahi sudo service avahi-daemon stop,但这将停止所有基于 zeroconf 的设置,而不仅仅是打印机。
小智 6
我尝试了以上所有方法。修改 Cups 在基于 Ubuntu 20.4 的 Linux Mint 20 中不起作用。显然,Ubuntu 和 Mint 不再使用 Cups 进行打印机发现,而是现在使用 Avahi。我认为这是 Systemd 的事情。在 avahi-daemon.conf 中设置 enable-dbus=no 有点工作,但导致 LibreOffice 中的打印菜单需要很长时间(可能 20-30 秒)才能显示,因此不是一个好的解决方案。
但是,以下确实工作得很好:
sudo nano /etc/avahi/avahi-daemon.conf
Run Code Online (Sandbox Code Playgroud)
在那个文件中:
change “use-ip4=yes” to “use-ip4=no”
change “use-ip6=yes” to “use-ip6=no”
Run Code Online (Sandbox Code Playgroud)
现在,只有我手动添加的打印机才会显示在“打印机”控制面板 (Printers-localhost)、HPLIP 工具箱和 LibreOffice 中。
要禁用它,只需打开终端Ctrl+ Alt+T并键入
sudo cupsctl --no-remote-printers
Run Code Online (Sandbox Code Playgroud)
或编辑
/etc/cups/cupsd.conf
Run Code Online (Sandbox Code Playgroud)
并设置
Browsing Off
Run Code Online (Sandbox Code Playgroud)
一些较新的 Ubuntu(15.04 及更高版本)可能需要这个命令:
sudo cupsctl --no-share-printers
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107096 次 |
| 最近记录: |