如何禁用自动远程打印机安装?


59

在Raring中,每次我连接到网络时,Cups都会自动安装网络中的所有打印机,有些会不止一次。

此外,我不时地将USB打印机连接到笔记本电脑。即使已经配置了打印机,也会将另一台打印机添加到列表中。

我希望禁用此功能,并且仅允许手动安装打印机。我该怎么办?


你知道答案了吗?我在14.04上遇到类似的问题,这里的答案对我没有用。我的问题在askubuntu.com/questions/477082/…–
徐王

不,我不想禁用avahi-daemon,并且我不再连接到同一网络。我现在没有网络打印机。
为了做

Answers:


62

我刚刚发现了一个可能是最佳解决方案。有一种名为“ cups-browsed”的服务,该服务显然负责网络连接并找到它可以找到的所有打印机并为您安装(gee-谢谢--NOT)。由于这是Upstart / Systemd作业,因此可以通过以下方式停止服务:

对于Ubuntu 15.04+版本(使用systemd)

sudo systemctl stop cups-browsed

其次是:

sudo systemctl disable cups-browsed

如果愿意,您仍然可以手动启动/停止服务:

sudo systemctl start cups-browsed
sudo systemctl stop cups-browsed

对于15.04之前的Ubuntu版本(使用upstart)

sudo service cups-browsed stop

更好的是,您可以通过向/etc/init包含单个单词的简单文本文件中添加一个来防止该服务再次启动manual。该文件必须命名 cups-browsed.override

因此,只需使用以下命令启动gedit

gksudo gedit /etc/init/cups-browsed.override

manual第一和唯一的行并保存文件。

在下次重新启动时,该服务将不会重新启动。但是,如果您已经停止了服务,则无需重新启动。一旦将此文件放置在/ etc / init中,就只能使用以下命令手动启动该服务(如果需要和需要的话):

sudo service cups-browsed start
-or-
sudo service cups-browsed stop`

我已经通过一次重启测试了这一点。打印仍然可以正常工作,到目前为止,重启后我再也没有安装几百台打印机了。只是我手动安装的那些出现。


25
Ubuntu 15.04和更高版本(它们已移至systemd):sudo systemctl disable cups-browsed
Hitechcomputergeek

如果可以的话,我将为您投票+100。这修复了我的16.04关闭挂起。
有机大理石

您还可以使用友好的ncurses程序来设置服务,例如rcconfcsysv-rc-conf
Pablo A

sudo systemctl mask cups-browsed现在不能吗
carestad

2
它不适用于18.04
eetsurt

27

在中/etc/cups/cups-browsed.conf,set指令:

BrowseProtocols none

然后,运行service cups-browsed restartservice cups restart。除了您自己添加的打印机之外,应该没有可见的打印机。


对于15.10,这是最直接的解决方案。
Mustafa 2015年

1:用于将当前设备的打印机共享到网络,而不用于显示网络打印机。
Alex R

正确,仅步骤2是必要的,并且比当前建议的答案中的破解更正确。请修正您的答案,以免混淆本已令人困惑的答案!
kiko

我的网络上有一台特定的打印机在删除后不断重新添加自身。我设置了此选项,然后重新启动,它解决了该问题。我正在使用
Debian9

1
此解决方案适用于18.04
eetsurt

9

如前所述,这是在客户端cups库(即GNOME和KDE应用程序链接到的libcups.so)中完成的,而不是在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
...

即使关闭了本地杯子服务器,IE也会发生这种行为(在“打印”对话框中显示远程打印机)。您可以通过关闭avahi服务来禁用它,但是这将禁用所有与zeroconf / mdns相关的功能。

但是,至少有一种方法可以关闭大部分avahi功能(包括将远程打印机添加到CUPS客户端中),同时保留DNS功能(例如,查找foo.local样式主机名时):

编辑/etc/avahi/avahi-daemon.conf,然后在该[server]部分中添加,enable-dbus=no然后重新启动avahi-daemon服务。


如果有线连接未与其他计算机联网,则可能无法始终使用avahi-daemon运行。如果不使用,可以将其卸载。
noobninja

在页面上的所有答案中,这是唯一对我有用的解决方法: 如何在Gnome中摆脱幽灵打印机?
Stephen Ostermiller

为什么要enable-dbus=no阻止avahi发现打印机,并且此配置更改会影响哪些其他avahi功能?
gene_wood

1
我进行了此更改,确实确实阻止了自动发现的打印机出现在打印机列表中,但是我的目标是使打印机对话框显示得更快(通常需要5到10秒)。此项更改使打印机对话框出现的时间更长(足够长的时间,Ubuntu认为对话框没有响应而使对话框变暗)。嗯
gene_wood

1
为我工作。但是我和gene_wood有同样的问题。加载大大缩短的打印机列表大约需要5s。
崔孝成

7

禁用它简单地开端子Ctrl+ Alt+ T和类型

 sudo cupsctl --no-remote-printers

或编辑

 /etc/cups/cupsd.conf

并设置

Browsing Off

这里找到此解决方案

一些较新的Ubuntu(15.04及更高版本)可能需要以下命令:

sudo cupsctl --no-share-printers

5
尽管我的cupsd.conf已经包含“ Browsing Off”,但我仍然遇到这个问题。运行cupsctl会导致以下错误:cupsctl: Unknown option "--no-remote-printers" Usage: ...
Catalin Hritcu 2013年

忘了提,我使用的是Ubuntu 13.10
Catalin Hritcu

1
@CatalinHritcu,设置如何BrowseLocalProtocols none
user.dz 2014年

这是用于本地计算机共享,而不是不添加远程打印机。
Alex R

6

现在,cups客户端库还从Avahi(实现了被称为zeroconf或Bonjour或mdns或dns-sd的协议)中获取了网络打印机的列表。在旧版本的cups中,这仅由cups服务器完成。

您可以使用以下shell命令查看网络上正在广播的内容 avahi-browse -a | grep Printer

您可以使用禁用avahi sudo service avahi-daemon stop,但这将停止所有基于Zeroconf的设置,而不仅仅是打印机。


1

使其停止很简单。

  1. 删除不需要的打印机。然后:

    sudo nano /etc/cups/cups-browsed.conf
    
  2. 将此行:(BrowseRemoteProtocols dnssd cups或之后的任何内容)更改为无,因此显示为:BrowseRemoteProtocols none

  3. 然后保存文件并重新启动。

为我解决了问题。


这似乎是2014年3月20日和2014
查尔斯·格林

0

尝试:

  1. 打开http://localhost:631/admin/→编辑配置文件或编辑/etc/cups/cupsd.conf

  2. 更改:

    # Show shared printers on the local network.
    Browsing Off
    BrowseLocalProtocols none
    

参考:cupsd.conf:BrowseLocalProtocols


1
不幸的是,这并没有阻止为我添加远程打印机。
azimut 2014年

0

找到了解决方案,如果您在HP(可能还有其他打印机)中禁用bonjour,则神秘打印机检测已成为过去。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.