52

In Raring, everytime I connect to the network, Cups installs all the printers in the network automatically, some more than once.

Furthermore, I connect a USB printer to the laptop every now and then. Even though the printer is configured already, another printer is added to the list.

I wish to disable this feature and allow only manual installation of printers. How do I go about it?

  • Did you figure out the answer? I am having similar problems on 14.04 and the answers have not worked for me here. My question is at askubuntu.com/questions/477082/… – Xu Wang Jul 16 '14 at 22:32
  • No, I didn't want to disable avahi-daemon and I'm no longer connected to the same network. There are no network printers where I am now. – To Do Jul 17 '14 at 10:16
52

I just discovered a, possibly optimal, solution to this mess. There is as service called "cups-browsed" which apparently is responsible for going out on the network and finding all the printers it can locate and install them for you (gee - thanks --NOT). Since this is an Upstart job, you can stop the service with:

sudo service cups-browsed stop

Even better, you can prevent the service from ever starting again by adding a simple text file to /etc/init that contains the single word manual. The file must be named cups-browsed.override

So, just start up gedit with

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

put manual in the first and only line and save the file.

On the next Reboot, the service will not be re-started. However, you need not reboot if you've already stopped the service. Once you've placed this file in /etc/init, the service can only be started manually (if and when you need/want it) using:

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

I have tested this over one reboot. Printing still works fine and so far I am not getting several hundred printers installed anymore after the reboot. Just the ones I installed manually show up.

  • 24
    Ubuntu 15.04 and later (they moved to systemd): sudo systemctl disable cups-browsed – Hitechcomputergeek Mar 3 '16 at 17:58
  • I'd upvote you +100 if I could. This fixed my 16.04 shutdown hang. – Organic Marble May 9 '16 at 20:49
  • You can also uses friendly ncurses programs to setup services, like rcconfc or sysv-rc-conf. – Pablo Bianchi Mar 23 '17 at 21:02
  • Can't you just sudo systemctl mask cups-browsed now? – carestad Mar 27 '18 at 15:00
  • It doesn't work for 18.04 – eetsurt Jan 11 at 6:04
22

In /etc/cups/cups-browsed.conf, set directive:

BrowseProtocols none

Afterwards, run service cups-browsed restart and service cups restart. There should be no printers visible, except those you've added yourself.

  • This is the most straightforward solution for 15.10. – Mustafa Oct 27 '15 at 19:19
  • 1: that is for sharing the current device's printer(s) to the network, not for showing network printers. – Alex R Apr 18 '16 at 7:50
  • Correct, only step 2 is necessary, and is more correct than the hack in the currently upvoted answer. Please fix your answer to avoid adding confusion to an already confusing answer! – kiko Jul 20 '16 at 18:07
  • There was one particular printer on my network that kept re-adding itself after being deleted. I set this option, rebooted, and it fixed the issue. I am using Debian 9. Thanks – jbrock Aug 31 '17 at 14:40
  • this solution is work for 18.04 – eetsurt Jan 11 at 6:04
6

To disable it simply open terminal Ctrl+Alt+T and type

 sudo cupsctl --no-remote-printers

or to edit the

 /etc/cups/cupsd.conf

and set

Browsing Off

This solution was found here

Some newer Ubuntus (15.04 and up) may need this command instead:

sudo cupsctl --no-share-printers
  • 5
    I still have this problem, although my cupsd.conf already contains "Browsing Off". Running the cupsctl leads to the following error: cupsctl: Unknown option "--no-remote-printers" Usage: ... – Catalin Hritcu Oct 21 '13 at 12:16
  • Forgot to mention, I'm on Ubuntu 13.10 – Catalin Hritcu Oct 21 '13 at 15:22
  • 1
    @CatalinHritcu, How about setting BrowseLocalProtocols none? – user.dz Mar 20 '14 at 12:10
  • this is for the local machines sharing not for not adding remote printers. – Alex R Apr 18 '16 at 7:50
5

As mentioned earlier, this is now done in the client-side cups libraries (ie libcups.so, which GNOME and KDE apps link against) and not in the cupsd server. So changing the "Browse" settings in the cups server won't work.

$ 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 this behaviour (of showing remote printers in the Print dialog box) happens even if you turn off your local cups server. You can disable it by turning off the avahi service, but that will disable all zeroconf/mdns related functionality.

However, there is at least a way to turn off most of avahi's functionality (including adding remote printers into the CUPS clients) while keeping the DNS functionality (eg when looking up foo.local-style host names):

edit /etc/avahi/avahi-daemon.conf and in the [server] section, add enable-dbus=no then restart the avahi-daemon service.

  • If a wired connection is not networked with other computers, it may not benefit from avahi-daemon running all of the time. If not used, it can be uninstalled. – noobninja Aug 19 '15 at 4:38
  • Out of all the answers on the page, this is the only one that worked for me to solve: How do I get rid of a ghost printer in Gnome? – Stephen Ostermiller Nov 20 '15 at 12:57
  • Why does enable-dbus=no prevent avahi discovery of printers and what other avahi functionality will be affected by this config change? – gene_wood Dec 23 '15 at 19:09
  • 1
    I made this change and it did indeed prevent auto discovered printers from showing up in the list of printers, however my goal was to make the printer dialog come up more quickly (it normally takes 5 to 10 seconds). This change made it take longer for the printer dialog to come up (long enough that Ubuntu dimmed the dialog thinking that it wasn't responding). Hmm. – gene_wood Dec 23 '15 at 19:26
  • 1
    Worked for me. But I have the same problem as gene_wood. It takes ~5s to load the much-shortened printer list. – Hoseung Choi Feb 20 '18 at 9:43
4

The cups client libraries now also get a list of network printers from Avahi (which implements the protocol known variously as zeroconf or Bonjour or mdns or dns-sd). In older versions of cups, this was only done by the cups server.

You can see what is being broadcast on your network with a shell command like avahi-browse -a | grep Printer

You can disable avahi with sudo service avahi-daemon stop, but that will stop all zeroconf based setup, not just printers.

1

It's quite simple to make it stop.

  1. Remove the unwanted printers. Then:

    sudo nano /etc/cups/cups-browsed.conf
    
  2. Change this line: BrowseRemoteProtocols dnssd cups (or whaterver is after it) to none so it reads: BrowseRemoteProtocols none .

  3. Then save the file and reboot.

Solved the problem for me.

  • This seems to be a duplicate of the answers on Mar 20, 2014 and Dec 5, 2014 – Charles Green Nov 16 '15 at 15:54
0

Try:

  1. Open http://localhost:631/admin/ → Edit Configuration File or Edit /etc/cups/cupsd.conf

  2. Change:

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

Reference: cupsd.conf: BrowseLocalProtocols

  • 1
    Unfortunately, this didn't stop remote printers from being added for me. – azimut Nov 4 '14 at 10:04
0

Found the solution, if you disable bonjour in HP (probably other printers too) the mystery printer detection is an issue of the past.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.