Как отключить автоматическую удаленную установку принтера?
В 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
Сделать это достаточно просто.
Удалите ненужные принтеры. Затем:
sudo nano /etc/cups/cups-browsed.conf
Измените эту строку:
BrowseRemoteProtocols dnssd cups
(или какой бы ни было после него) ни к одному, поэтому он гласит:BrowseRemoteProtocols none
,Затем сохраните файл и перезагрузите компьютер.
Решил проблему для меня.
Нашел решение, если отключить Bonjour в HP (возможно, и на других принтерах), обнаружение таинственных принтеров остается в прошлом.
Пытаться:
открыто
http://localhost:631/admin/
→ Изменить файл конфигурации или Изменить/etc/cups/cupsd.conf
Изменить:
# Show shared printers on the local network. Browsing Off BrowseLocalProtocols none
Ссылка: cupsd.conf: BrowseLocalProtocols