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

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

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

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

8 ответов

Решение

Я только что нашел, возможно, оптимальное решение этой проблемы. Существует также служба, называемая "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`

Я проверил это в течение одной перезагрузки. Печать по-прежнему работает нормально, и до сих пор я не получаю несколько сотен принтеров после перезагрузки. Появляются только те, которые я установил вручную.

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

BrowseProtocols none

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

Как упоминалось ранее, это теперь делается в клиентских библиотеках 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.

Я пробовал все вышеперечисленное. Изменение чашек не работало в Linux Mint 20, основанном на Ubuntu 20.4. Судя по всему, Ubuntu и Mint больше не используют чашки для обнаружения принтеров, а теперь используют Avahi. Я думаю, что это вещь Systemd. Установка enable-dbus=no в avahi-daemon.conf несколько сработала, но заставила меню печати в LibreOffice отображаться долго (возможно, 20-30 секунд), и поэтому это не было хорошим решением.

Однако следующее работало очень хорошо:

sudo nano /etc/avahi/avahi-daemon.conf

В этом файле:

change “use-ip4=yes” to “use-ip4=no”

change “use-ip6=yes” to “use-ip6=no”

Теперь только те принтеры, которые я добавил вручную, отображаются в панели управления "Принтеры" (Printers-localhost), на панели инструментов HPLIP и в LibreOffice.

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

Вы можете видеть, что транслируется в вашей сети, с помощью команды оболочки, такой как avahi-browse -a | grep Printer

Вы можете отключить авахи с sudo service avahi-daemon stop, но это остановит все настройки на основе zeroconf, а не только принтеры.

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

 sudo cupsctl --no-remote-printers

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

 /etc/cups/cupsd.conf

и установить

Browsing Off

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

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

sudo cupsctl --no-share-printers

Сделать это достаточно просто.

  1. Удалите ненужные принтеры. Затем:

    sudo nano /etc/cups/cups-browsed.conf
    
  2. Измените эту строку: BrowseRemoteProtocols dnssd cups (или какой бы ни было после него) ни к одному, поэтому он гласит: BrowseRemoteProtocols none,

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

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

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

Пытаться:

  1. открыто http://localhost:631/admin/ → Изменить файл конфигурации или Изменить /etc/cups/cupsd.conf

  2. Изменить:

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

Ссылка: cupsd.conf: BrowseLocalProtocols

Другие вопросы по тегам