## Diese Warnung ist Bestandteil jedes Howtos und darf nicht entfernt werden. {{{#!vorlage Warnung 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. }}} ## Bitte die Angaben zu dem letzten erfolgreichen Test dieser Anleitung eintragen: {{{#!vorlage Hinweis Diese Howto-Anleitung wurde zuletzt von [user:Bournless:] am 31.10.2020 mit Ubuntu 20.04, am 03.09.2019 mit Ubuntu 18.04 und Ubuntu 16.04, jeweils in der Desktopversion, erfolgreich getestet. }}} = Problembeschreibung = Bei der Installation einer Ubuntu-Desktopversion werden automatisch auch die Dienste [:CUPS:], [https://manpages.ubuntu.com/manpages/bionic/man5/cups-browsed.conf.5.html Cups-Browsed] {en} und [:Avahi:Avahi] {de} 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 [https://de.wikipedia.org/wiki/Local_Area_Network LAN] {de} 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 ([:Printserver:Druckerwarteschlangen]) {de} aller erreichbaren [:Printserver:Printserver] {de} (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= * eigenes LAN/WLAN (192.168.178.0/24) * UBU-01 (IP: 192.168.178.20) * UBU-02 (IP: 192.168.178.5) mit zwei freigegebenen Druckern (DRK01 und DRK02) * UBU-03 (IP: 192.168.178.8) mit einem freigegebenen Drucker (DRK05) '''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 }}} {{{#!vorlage 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 {{{#!vorlage Befehl 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 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 {{{#!vorlage Befehl 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 }}} {{{#!vorlage 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 {{{#!vorlage Befehl 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 [mark]modifiziert[/mark] 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 [mark]BrowseAllow 10.0.0.120[/mark] BrowseFilter name 05|01|[mark]63[/mark] }}} Abschließend wird CUPS mit {{{#!vorlage Befehl sudo systemctl restart cups }}} neu gestartet. =GTK+ basierende Programme= Leider ignorieren viele auf GTK+ basierenden Programme (Firefox, Thunderbird, Gimp, usw.) bisher 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. Die meisten neueren Drucker oder Multifunktionsgeräte ("Netzwerkdrucker") verfügen bereits über eigene Printserver, die zudem auch über den (aktivierten) Dienst Bonjour erreichbar sind und erzeugen im Printdialog von GTK+ basierenden Programmen sogenannte "Phantom-Drucker". Um auch das zu verhindern, bieten sich folgende Workarounds an: '''Workaround 1''': Lösung per PPA (einer Fremdquelle) von Roman Shipovskij.\\ Gültig für: Ubuntu 16.04 und 18.04, jeweils in der Desktopversion. [[Vorlage(PPA, roman-shipovskij, gtk+3.0-withoutavahiprinters)]] Vereinfacht gesagt: {{{#!vorlage Befehl sudo add-apt-repository ppa:roman-shipovskij/gtk+3.0-withoutavahiprinters sudo apt update sudo apt upgrade }}} -------------------------- Wenn man keine PPAs auf seinem System zulassen/einbinden kann oder möchte, kann man alternativ die zwei folgenden Workarounds anwenden. -------------------------- '''Workaround 2''': Bonjour im "Netzwerkdrucker" deaktivieren.\\ Gültig für: Ubuntu 16.04, 18.04 und 20.04, jeweils in der Desktopversion.\\ Bedingung: Ein administrativer Zugriff auf den "Netzwerkdrucker" muss möglich sein.\\ Hinweis: Der "Netzwerkdrucker" sollte sich nicht im Standy-Modus befinden.\\ Info: Durch das Deaktivieren von Bonjour werden auch AirPrint, AirScan und IPP-Everywhere deaktiviert. Man ruft das WEB-UI des "Netzwerkdruckers" per IP-Adresse/Nodename/Hostname oder FQDN auf und deaktiviert dort den Dienst Bonjour. Tipp: Die aktuelle IP-Adresse und den Hostname kann man sich wie folgt anzeigen lasssen: {{{#!vorlage Befehl avahi-browse -rt _ipp._tcp | egrep "hostname|address|IP" | egrep = }}} -------------------------- '''Workaround 3''': Avahi umlenken (Empfehlung des Autors dieses HowTo).\\ Gültig für: Ubuntu 16.04, 18.04 und 20.04, jeweils in der Desktopversion.\\ Bedingung: keine weitere Bedingung. Wenn es nur um die Vermeidung eines sogenannten "Phantom-Drucker" auf dem eigenen Ubuntu-PC System geht und man vorher erfolgreich die Treiber vom jeweiligen Hersteller -unter der Angabe der Drucker-IP- installiert hat, reichen folgende Schritte: {{{#!vorlage Befehl sudoedit /etc/avahi/avahi-daemon.conf }}} Im Abschnitt [server], die Zeile {{{#!vorlage Befehl #allow-interfaces=eth0 }}} in {{{#!vorlage Befehl allow-interfaces=eth9 }}} ändern. Info: Weder Bonjour auf dem "Netzwerkdrucker", noch Avahi auf dem eigenen Ubuntu-PC werden dadurch deaktiviert, sondern nur so konfiguriert, dass sie sich nicht mehr automatisch sehen/erkennen können. Die Änderungen an der Datei speichern und das System einmal neu starten lassen. -------------------------- Danach nutzen auch die GTK+ basierenden Programme die gewünschten Vorgaben. = Links = ## Weiterführende Linksammlung * [tag:Howto:Howto-Liste] {Übersicht} - Übersicht aller Howto-Artikel #tag: Howto