Howto/Cups-Browsed - unerwünschte Netzwerkdrucker

Achtung!

Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos.

Hinweis:

Diese Howto-Anleitung wurde zuletzt von Bournless am 03.09.2019 unter Ubuntu 18.04 Desktopversion und Ubuntu 16.04 Desktopversion erfolgreich getestet.

Problembeschreibung

Bei der Installation einer Ubuntu-Desktopversion werden automatisch auch die Dienste Cups 🇩🇪, Cups-Browsed 🇬🇧 und Avahi 🇩🇪 installiert. Dabei ist Avahi (vereinfacht gesagt) primär für das Auffinden und Verbinden von weiteren Clients, wie zum Beispiel PCs, Drucker, usw., in einem LAN 🇩🇪 zuständig.

Was auf der einen Seite sehr komfortabel ist, kann aber leider auch lästig werden, da Avahi und Cups-Browsed ungefragt versuchen PrintQueues (Druckerwarteschlangen) 🇩🇪 aller erreichbaren Printserver 🇩🇪 (Drucker-Server) eines LAN einzurichten. Insbesondere, wenn man mit einem größerer LAN (z.B Universitäts-Intranet) verbunden ist, wird es sehr schnell unübersichtlich, da plötzlich sehr viele "unerwünschte" Drucker auf dem eigenen Ubuntu-System erscheinen.

Wenn man in den diversen Foren nach Lösungen für dieses Problem sucht, findet man meist nur Tipps und Anleitungen, die lezten Endes immer auf das Deaktivieren oder Deinstallieren dieser Dienste hinauslaufen.

Ziel

Dieses Howto wird an Hand von Szenarien Lösungswege als Workaround aufzeigen, um diese Dienste individuell zu konfigurieren, statt sie gleich zu deaktivieren oder gar zu deinstallieren.

Beispielumgebung

Ergebnis: Auf UBU-01 werden alle freigegebenen Drucker (DRK01, DRK02 und DRK05) automatisch zur Verfügung gestellt.

Szenario 1

Anforderung: Auf UBU-01 soll keiner der freigegebenen Drucker zur Verfügung stehen.

Lösung: Die bisher unveränderte Datei /etc/cups/cups-browsed.conf wird (am Ende) um folgende Zeile ergänzt:

BrowseFilter name

Hinweis:

Damit werden nur Printserver oder Druckernamen berücksichtigt, die keine Bezeichnung oder keine IP haben. Da dies aber nicht möglich ist, verläuft die Suche in's Leere!

Abschließend wird CUPS mit

sudo systemctl restart cups 

neu gestartet.

Damit sollte für 90% aller normalen Ubuntu-User das Problem erledigt sein!

Trotzdem kann ein abschließender Blick auf den Abschnitt GTK+-basierende-Programme sehr hilfreich sein.

Szenario 2

Anforderung: Auf UBU-01 soll nur DRK05 von UBU-03 zur Verfügung stehen.

Lösung: Die bisher unveränderte Datei /etc/cups/cups-browsed.conf (am Ende) um folgende Zeilen ergänzen:

BrowseOrder Allow,Deny
BrowseAllow 192.168.178.8

Abschließend wird CUPS mit

sudo systemctl restart cups 

neu gestartet.

Szenario 3

Anforderung: Auf UBU-01 soll DRK05 von UBU-03 und nur DRK01 von UBU-02 zur Verfügung stehen.

Lösung: Die bisher unveränderte Datei /etc/cups/cups-browsed.conf (am Ende) um folgende Zeilen ergänzen:

BrowseOrder Allow,Deny
BrowseAllow 192.168.178.8
BrowseAllow 192.168.178.5
BrowseFilter name 05|01

Hinweis:

Ohne die Zeile "BrowseFilter name" würden beide Drucker (DRK01 und DRK02) von UBU-02 zur Verfügung gestellt werden!

Abschließend wird CUPS mit

sudo systemctl restart cups 

neu gestartet.

Szenario 4

UBU-01 (mit den Änderungen aus Szenario 3) befindet sich auch mal in einem fremden Subnetz (10.0.0.0/8). In diesem Subnetz gibt es unter anderem auch einen Host UBU-99 (IP: 10.0.0.120), mit einem freigegebenen Drucker (DRK63).

Ist-Zustand: Auf UBU-01 wird kein freigegebenen Drucker aus dem Subnetz 10.0.0.0/8 zur Verfügung gestellt, da dies ja bereits durch die geänderte cups-browsed.conf verhindert wird.

Anforderung: Auf UBU-01 soll DRK63 von UBU-99 zur Verfügung stehen.

Lösung: Man modifiziert die bereits geänderte Datei /etc/cups/cups-browsed.conf wie folgt:

BrowseOrder Allow,Deny
BrowseAllow 192.168.178.8
BrowseAllow 192.168.178.5
BrowseAllow 10.0.0.120
BrowseFilter name 05|01|63

Abschließend wird CUPS mit

sudo systemctl restart cups 

neu gestartet.

GTK+ basierende Programme

Leider ignorieren viele auf GTK+ basierenden Programme (Firefox, Thunderbird, Gimp, usw.) die Einstellungen von Cups bzw. Cups-Browsed und benutzen einen eigenen Print-Dialog, der direkt mit Avahi zusammen arbeitet. Selbst das Anpassen der Datei /etc/gtk-3.0/settings.ini zeigt keinen sichtbaren Erfolg. Das hat zur Folge, dass in diesen Programmen trotzdem alle unerwünschten Netzwerkdrucker zur Verfügung gestellt werden.

Wer auch das verhindern möchte, kann anschließend noch auf die Lösung von Roman Shipovskij zurückgreifen.

Adresszeile zum Hinzufügen des PPAs:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams roman-shipovskij zu entnehmen.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Vereinfacht gesagt:

sudo add-apt-repository ppa:roman-shipovskij/gtk+3.0-withoutavahiprinters
sudo apt update
sudo apt upgrade 

Danach nutzen auch die GTK+ basierenden Programme die gewünschten Vorgaben.