Liebe Experten,

ein Drucker, der nicht in Cups auftaucht, auch in keiner Config-Datei, bleibt stur im XFCE-Drucker-Systemdialog stehen.
Wie kann ich ihn dort löschen?
Nervt, weil Firefox und LibreOffice immer mit dem gelöschten Drucker drucken wollen.
lpstat -p zeigt nur den tatsächlich funktionierenden Drucker an.

Vielen Dank!

Ich vermute, daß in irgendeiner Config- bzw. Statusdatei deines Users der Drucker noch drinsteht. Ist der auch nach Aus-/Einloggen bzw. Reboot nicht verschwunden?

Du könntest auch nach dem angezeigten Druckernamen in deinem $HOME suchen, z.B.
grep -r "DRUCKERNAME" $HOME/.config $HOME/.local
Evtl. findest du so die Datei in der der Drucker noch "drinsteht".

im Home-Verzeichnis findet grep nur was in der prefs.js-Datei meines .mozilla Ordners.
Da steht aber auch was über schon längst nicht mehr vorhandene Drucker, die trotzdem nicht im Druckdialog erscheinen.

Ansonsten finden sich in /var/log/cups haufenweise error-logs, in denen steht, dass der betreffende Drucker nicht erreichbar ist.

  • Bearbeitet

Hmm, ich bin mir aktuell nicht sicher ob das Problem beim xfce-Druckerdialog (ggf. nur für deinen User) oder beim systemweiten CUPS liegt.

Kannst du testweise mal einen neuen Testuser anlegen und für diesen auch XFCE starten. Taucht im dortigen Druckerdialog auch noch der "alte" Drucker auf?

Bitte weiterhin mal posten (von deinem Normaluser):

lpstat -d
lpstat -t

//Edit:
Sag bitte auch nochmal, was die Bezeichnung vom "alten, falschen" Drucker ist.
Und dann noch bitte zeigen:

lpotions
stat /etc/cups/lpoptions ~/.cups/lpoptions

Hallo
Das gleiche Problem habe ich auch mit dem Druckdialog von "plasma-desktop in 6.2.5-1" und "cups in 2:2.4.11-2"
Es ist egal ob der Druckdialog von "kate" oder "okular" oder auch "Libreoffice" aufgerufen wird.
Es werden zwei Drucker angezeigt wobei der erste eine Leiche ist.
Bis jetzt konnte ich den ersten Drucker nicht löschen.

Der Drucker wird auch als Scanner benutzt. Je nach Abfrage wird ein Fehler bzw. ein OK in den log Dateien angezeigt.

scanimage -L
device `brother4:net1;dev0' is a Brother Scanner DCP-L2540DN
#
cd /var/log/cups/
grep -r "Brother_DCP_L2540DN_series"
/var/log/cups/error_log:E [24/Nov/2024:21:11:20 +0100] Brother_DCP_L2540DN_series: Unable to connect to drucker5C640E56.local:631: Name or service not known

grep -r "Laser"
access_log:localhost - - [25/Jan/2025:16:21:07 +0100] "POST /printers/Laser HTTP/1.1" 200 316 Create-Job successful-ok
access_log:localhost - - [25/Jan/2025:16:21:07 +0100] "POST /printers/Laser HTTP/1.1" 200 19565 Send-Document successful-ok

Meine Abfragen und Lösch-Versuche bis hier.

lpinfo -v
network beh
network lpd
file cups-pdf:/
network https
network http
network socket
network ipps
network ipp
network smb
network dnssd://Brother%20DCP-L2540DN%20series._pdl-datastream._tcp.local/?uuid=e3248000-80ce-11db-8000-30055c640e56
network lpd://drucker5C640E56/BINARY_P1
#
lpinfo -lv
Gerät: URI = dnssd://Brother%20DCP-L2540DN%20series._pdl-datastream._tcp.local/?uuid=e3248000-80ce-11db-8000-30055c640e56
       Klasse = network
       Info = Brother DCP-L2540DN series
       Hersteller-und-Modell = Brother DCP-L2540DN series
       Geräte-ID = MFG:Brother;MDL:DCP-L2540DN series;CMD:PJL,PCL,PCLXL,URF;
       Standort = 
Gerät: URI = lpd://drucker5C640E56/BINARY_P1
       Klasse = network
       Info = Brother DCP-L2540DN series
       Hersteller-und-Modell = Brother DCP-L2540DN series
       Geräte-ID = MFG:Brother;CMD:PJL,PCL,PCLXL,URF;MDL:DCP-L2540DN series;CLS:PRINTER;CID:Brother Laser Type1;URF:W8,CP1,IS4-1,MT1-3-4-5-8,OB10,PQ4,RS300-600,V1.3,DM1;
       Standort = md
#
lpstat -le
Brother_DCP_L2540DN_series network none ipp://Brother%20DCP-L2540DN%20series._ipp._tcp.local/
Laser permanent ipp://localhost/printers/Laser socket://192.168.10.78:9100
#
lpstat -lv
Gerät für Laser: socket://192.168.10.78:9100
#
lpstat -p
Drucker Laser ist im Leerlauf.  Aktiviert seit Do 23 Jan 2025 16:51:39 CET
#
lpstat -a
Laser akzeptiert Anfragen seit Sa 25 Jan 2025 16:21:07 CET
#
lpadmin -x -v lpd://drucker5C640E56/BINARY_P1
lpadmin -x -v "lpd://drucker5C640E56/BINARY_P1"
lpadmin: Der Drucker oder die Klasse existiert nicht.
#
lpadmin -x lpd://drucker5C640E56/BINARY_P1
lpadmin: Druckername darf nur druckbare Zeichen enthalten.
#
lpadmin -x drucker5C640E56/BINARY_P1
lpadmin: Druckername darf nur druckbare Zeichen enthalten.
#
lpadmin -x drucker5C640E56
lpadmin: Der Drucker oder die Klasse existiert nicht.
#
lpadmin -x -v ipp://Brother%20DCP-L2540DN%20series._ipp._tcp.local
lpadmin: Der Drucker oder die Klasse existiert nicht.
lpadmin -x -v "ipp://Brother%20DCP-L2540DN%20series._ipp._tcp.local"
lpadmin: Der Drucker oder die Klasse existiert nicht.
#
# Die Suche bringt leider auch nichts.
grep -r "Brother_DCP_L2540DN_series" $HOME/.config $HOME/.local
grep -r "Laser" $HOME/.config $HOME/.local
  • GerBra hat auf diesen Beitrag geantwortet.

    Das erste Anlaufziel für einen Cups-Drucker sollte sein:
    http://localhost:631/printers/
    Dort Verwaltung->Drucker verwalten (was eine Authentifizierung normalerweise als root und root-PW erfordert). Hierüber wären alle nicht mehr benötigten Adruckerziele zu löschen. Das Kommandozeilen-Werkzeug hierfür wäre lpadmin als root.

    Alle Druckdialoge sollten mit dem laufenden Cups-Dienst cups.service kommunizieren, also aktuell gültige Ziele von dort erhalten.

    Was es bei euch scheinbar nicht tut.

    Ich kann den Vorgang zumindest aktuell aufzeigen, da ich auch noch einen "alten" Drucker habe.
    Mein Status:

    $ lpstat -t
    Zeitplandienst läuft
    systemvoreingestelltes Ziel: Samsung_ML-2010
    Gerät für OKI_DATA_CORP_C321: socket://192.168.166.100
    Gerät für Samsung_ML-2010: usb://Samsung/ML-2010?serial=3A21BKALA02863F.
    OKI_DATA_CORP_C321 akzeptiert Anfragen seit So 01 Dez 2024 13:10:15 CET
    Samsung_ML-2010 akzeptiert Anfragen seit Mi 19 Sep 2018 16:42:36 CEST
    Drucker OKI_DATA_CORP_C321 ist im Leerlauf.  Aktiviert seit So 01 Dez 2024 13:10:15 CET
    Drucker Samsung_ML-2010 ist deaktiviert seit Mi 19 Sep 2018 16:42:36 CEST -
    	Backend /opt/brother/Printers/backend/usb does not exist!

    Der Samsung ist (noch) mein Default-Drucker. Aber:
    Der Samsung ist "alt" und soll weg.
    Im CUPS-Interface ist dieser noch enthalten.

    Ich werde ihn mit lpadmin (als root) löschen:

    # lpadmin -x Samsung_ML-2010
    Keine Fehlermeldung,
    - im Log /var/log/cups/access_log
    localhost - - [01/Feb/2025:10:41:32 +0100] "POST /admin/ HTTP/1.1" 401 0 - -
    localhost - root [01/Feb/2025:10:41:32 +0100] "POST /admin/ HTTP/1.1" 200 160 CUPS-Delete-Printer successful-ok

    Als User habe ich nun nur noch den Oki:

    $ lpstat -t
    Zeitplandienst läuft
    keine systemvoreingestellten Ziele
    Gerät für OKI_DATA_CORP_C321: socket://192.168.166.100
    OKI_DATA_CORP_C321 akzeptiert Anfragen seit So 01 Dez 2024 13:10:15 CET
    Drucker OKI_DATA_CORP_C321 ist im Leerlauf.  Aktiviert seit So 01 Dez 2024 13:10:15 CET

    Und keinen Default-Drucker mehr (welcher der Samsung war)

    $ lpstat -d
    keine systemvoreingestellten Ziele

    Ohne irgendeinen Reboot oder Neu-Einloggen ist bei allen Druckdialogen (FF, Mate) nur noch der Oki als realer Drucker drin.

    Ich kann nun (als User) den (einen) Drucker zum Default-Drucker machen:

    $ lpoptions -d OKI_DATA_CORP_C321
    $ lpstat -d
    systemvoreingestelltes Ziel: OKI_DATA_CORP_C321

    zeigt das nun an.

    $ cat .cups/lpoptions
    Default OKI_DATA_CORP_C321

    So sollte es also sein.

    Meine Vermutung wäre/war jetzt, das die "alten" Drucker bei Euch noch für den User als Default-Drucker aktiv sind - deshalb in den Dialogen auftauchen - obwohl eigentlich nicht mehr im Cups-Server verfügbar.
    Aber selbst wenn ich in $HOME/.cups/lpoptions den aktuellen OKI zu irgendwas wie Pupu_23 ändere wird mir in den Druckdialogen dieser Pupu nicht als Drucker angezeigt - weil es ihn im Cups-Server eben nicht gibt.
    Also müßte bei Euch beiden die "alten" Drucker noch irgendwo im Cups-Server (und/oder Avahi-Dienst, den ich nicht nutze) drinstehen - sonst dürften diese nicht angezeigt werden.

    @willigerNeuling
    Die offenen Fragen aus meinem vorherigen Post

    md_39118 lpadmin -x -v lpd://drucker5C640E56/BINARY_P1
    lpadmin -x -v "lpd://drucker5C640E56/BINARY_P1"
    lpadmin: Der Drucker oder die Klasse existiert nicht.

    Hier solltest du zumindest erfolgreich die lpd-Warteschlange(Druckerziel) für den Brother gelöscht haben.

    Entweder gehst du auch über das Cups-Webinterface, oder als root mit lpadmin. Die korrekte Bezeichnung für den zu löschenden Drucker bekommst du (wie in meinem beispeil oben) am besten per:
    lpstat -t
    und dann
    lpadmin -x was_bei_gerät_für_DRUCKERNAME angezeigt wird.

      GerBra
      Hallo
      Danke für die ausführlichen Hinweise damit konnte ich das Problem lösen.
      Es war der laufende "avahi-daemon"
      Nach dem Stop und Disabling war im Druckdialog kein weiterer Drucker mehr zu sehen.
      Die Abfragen sehen jetzt gut aus.

      systemctl status avahi-daemon
      sudo systemctl stop avahi-daemon
      sudo systemctl disable avahi-daemon
      
      lpstat -le
      Laser permanent ipp://localhost/printers/Laser socket://192.168.10.78:9100
      #
      lpstat -lv
      Gerät für Laser: socket://192.168.10.78:9100
      #
      lpstat -p
      Drucker Laser ist im Leerlauf.  Aktiviert seit Mi 29 Jan 2025 20:38:27 CET
      #
      lpstat -a
      Laser akzeptiert Anfragen seit Mi 29 Jan 2025 20:38:27 CET
      • GerBra hat auf diesen Beitrag geantwortet.
        • Bearbeitet

        md_39118 Es war der laufende "avahi-daemon"

        Und wenn du den avahi wieder startest - ist dann auch der ominöse Drucker wieder vorhanden?

        Ich habe von avahi keinerlei Ahnung - weiß nur, daß früher cups selbst Netzwerkdrucker im Netzwerk zum "Browsen/Finden" bereitstellte, diese Aufgabe wurde irgendwann an Avahi delegiert
        NB: (muß so ein Apple_Dingsbums sein: ich mache alles automagisch, aber man kann nichts einstellen - ich kann ja alles...)
        Wenn der Netzdrucker in der lokalen Namensauflösung aber per Hostname ermittelbar ist (bzw. über eine fixe IP-Adresse erreichbar) dann wird kein Avahi/Zeroconf benötigt. Am Single-Rechner IMHO sowieso nicht...

        Ich finde auf der Wiki-Seite zu Avahi:
        https://wiki.archlinux.org/title/Avahi
        nichts, wo ggf. irgendwas zu Printer temporär "zwischengespeichert" werden könnte, wo also dieser "Drucker" herkommen könnte.
        Auch auf der Cups / Troubleshooting Seite nichts:
        https://wiki.archlinux.org/title/CUPS
        https://wiki.archlinux.org/title/CUPS#Troubleshooting

        Wenn bei dir also Avahi der "Übeltäter" ist (auch wieder nach Reaktivierung) dann würde ich den Dienst abstellen, sofern du keine anderen Probleme dadurch hast.

        //Edit: Wenn nach Reaktivieren des Avahi der Alte Drucker wieder vorhanden wäre, dann versuche mal ob dieser auch bei:
        avahi-browse --all
        angezeigt würde.
        Avahi hat laut man-page scheinbar doch eine Art Cache:
        man avahi-browse sagt:

        -t | --terminate
                      Terminate after dumping a more or less complete list.
        
         -c | --cache
                      Terminate after dumping all entries available in the cache.

        Ich würde dann testweise mal beide Optionen versuchen, ggf. als User oder als root.
        Wahrscheinlich als root, da daß ja den laufenden Avahi beendet (???)
        Hmm, aber wie löscht/regeniert man den Cache (wo ist der?) ???
        Schau ggf. auchmal ob unter /var/cache/ ein avahi Verzeichnis existiert (daß ggf. mal löschen/umbenennen)??
        Alles mit vielen Fragezeichen <g>, ich kenne wie gesagt avahi nicht.

        Hallo
        Das Drucken via Druckdialog von "kate" oder "okular" oder auch "Libreoffice" ist im Moment OK.
        Der avahi-daemon.service bleibt erstmal Disabled um zu sehen ob etwas nicht mehr geht.
        Unter /var gibt es bei mir nichts von "avahi" in den Dateien unter /etc/avahi/ gibt es auch keine Hinweise auf den Drucker.