Как отключить автоматическую удаленную установку принтера?

60

В Raring каждый раз, когда я подключаюсь к сети, Cups устанавливает все принтеры в сети автоматически, причем несколько раз.

Кроме того, я подключаю USB-принтер к ноутбуку время от времени. Даже если принтер уже настроен, в список добавляется другой принтер.

Я хочу отключить эту функцию и разрешить только ручную установку принтеров. Как мне это сделать?

Сделать
источник
Вы выяснили ответ? У меня схожие проблемы с 14.04, и ответы здесь не сработали для меня. Мой вопрос по адресу askubuntu.com/questions/477082/…
Сюй Ван
Нет, я не хотел отключать avahi-daemon и больше не подключен к той же сети. Там нет сетевых принтеров, где я сейчас нахожусь.
делать
Как избавиться от всех установленных принтеров?
Раффи Хачадурян

Ответы:

63

Я только что нашел, возможно, оптимальное решение этой проблемы. Существует также служба, называемая "cups-browsed", которая, по-видимому, отвечает за выход в сеть и поиск всех принтеров, которые она может найти и установить для вас (ну что ж, спасибо - НЕТ). Поскольку это задание 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

Для версий Ubuntu до 15.04 (используется 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 для настройки сервисов, таких как rcconfcили sysv-rc-conf.
Пабло А
Разве ты не можешь sudo systemctl mask cups-browsedсейчас?
Carestad
2
Это не работает на 18.04
eetsurt
28

В /etc/cups/cups-browsed.conf, установите директиву:

BrowseProtocols none

После этого беги service cups-browsed restartи service cups restart. Там не должно быть никаких видимых принтеров, кроме тех, которые вы добавили сами.

Мацей Волошин
источник
Это самое простое решение для 15.10.
Мустафа,
1: для общего доступа к принтерам текущего устройства в сети, а не для показа сетевых принтеров.
Алекс Р
Правильно, только шаг 2 необходим, и он более корректен, чем взлом в ответе, который проголосовал в настоящее время. Пожалуйста, исправьте свой ответ, чтобы избежать путаницы с уже запутанным ответом!
Кико
В моей сети был один конкретный принтер, который продолжал добавлять себя после удаления. Я установил эту опцию, перезагрузил, и это решило проблему. Я использую Debian 9. Спасибо
jbrock
1
это решение работает на 18.04
eetsurt
9

Как упоминалось ранее, это теперь делается в клиентских библиотеках cups (то есть libcups.so, с которыми связываются приложения GNOME и KDE), а не на сервере cupsd. Таким образом, изменение настроек «Обзор» на сервере чашек не будет работать.

$ 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
...

То есть такое поведение (отображение удаленных принтеров в диалоговом окне «Печать») происходит, даже если вы выключаете локальный сервер чашек. Вы можете отключить его, отключив avahiслужбу, но это отключит все функции, связанные с zeroconf / mdns.

Однако есть по крайней мере способ отключить большинство функций avahi (включая добавление удаленных принтеров в клиенты CUPS) при сохранении функциональности DNS (например, при поиске foo.localимен хостов в стиле):

Отредактируйте /etc/avahi/avahi-daemon.conf и в [server]разделе добавьте, enable-dbus=noзатем перезапустите службу avahi-daemon.

Джон МакП
источник
Если проводное соединение не подключено к сети с другими компьютерами, оно может не получить преимущества от постоянного запуска avahi-daemon. Если он не используется, его можно удалить.
noobninja
Из всех ответов на этой странице мне удалось решить только один: как избавиться от принтера-призрака в Gnome?
Стивен Остермиллер,
Почему enable-dbus=noпредотвращается обнаружение принтеров avahi и какие другие функции avahi будут затронуты этим изменением конфигурации?
gene_wood
1
Я сделал это изменение, и оно действительно предотвратило появление автоматически обнаруженных принтеров в списке принтеров, однако моя цель состояла в том, чтобы сделать диалог принтера более быстрым (обычно это занимает от 5 до 10 секунд). Это изменение заставило диалоговое окно принтера появиться дольше (достаточно долго, чтобы Ubuntu приглушил диалог, думая, что он не отвечает). Хм.
gene_wood
1
Работал на меня. Но у меня та же проблема, что и у gene_wood. Загрузка сокращенного списка принтеров занимает ~ 5 секунд.
Hoseung Choi
8

Чтобы отключить его, просто откройте терминал Ctrl+ Alt+ Tи наберите

 sudo cupsctl --no-remote-printers

или отредактировать

 /etc/cups/cupsd.conf

и установить

Browsing Off

Это решение было найдено здесь

Некоторым более новым Ubuntus (15.04 и выше) может понадобиться эта команда вместо:

sudo cupsctl --no-share-printers
SimplySimon
источник
5
У меня все еще есть эта проблема, хотя мой cupsd.conf уже содержит "Browsing Off". Запуск cupsctl приводит к следующей ошибке:cupsctl: Unknown option "--no-remote-printers" Usage: ...
Catalin Hritcu
Забыл упомянуть, я на Ubuntu 13.10
Catalin Hritcu
1
@CatalinHritcu, как насчет настройки BrowseLocalProtocols none?
user.dz
это для совместного использования локальных машин, а не для того, чтобы не добавлять удаленные принтеры.
Алекс Р
6

Клиентские библиотеки cups теперь также получают список сетевых принтеров от Avahi (который реализует протокол, известный как zeroconf или Bonjour или mdns или dns-sd). В старых версиях кубков это делалось только сервером кубков.

Вы можете видеть, что транслируется в вашей сети, с помощью команды оболочки, такой как 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(или whaterver после него) , чтобы никто так гласит: BrowseRemoteProtocols none.

  3. Затем сохраните файл и перезагрузите компьютер.

Решил проблему для меня.

Bas Heijermans
источник
Похоже, что это дубликат ответов 20 марта 2014 г. и 5 декабря 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

user.dz
источник
1
К сожалению, это не помешало мне добавить удаленные принтеры.
Азимут
0

Нашел решение, если отключить Bonjour в HP (возможно, и на других принтерах), обнаружение таинственных принтеров остается в прошлом.

Bas Heijermans
источник