Linux - Netzwerk und Serveradminstration Drucker Server
Druckerserver-Einführung
Was ist CUPS?
Das Common Unix Printing System (CUPS) ist das am weitesten verbreitete Drucksystem auf Linux-Systemen. Es wurde von Michael Sweet entwickelt, später von Apple aufgekauft und seit September 2020 wird es als Fork unter der Leitung von OpenPrinting weiterentwickelt.
- Aufgebaut als Client/Server-System
- Drucker lassen sich lokal nutzen, verwalten und im Netzwerk freigeben
- CUPS wandelt Druckdaten intern immer in PDF um, bevor sie an den Drucker gesendet werden
- Moderne Drucker mit AirPrint-Unterstützung können direkt über den Treiber IPP Everywhere eingebunden werden – ohne PPD-Datei
Installation
CUPS
sudo apt install cups cups-client cups-bsd
- cups – Server-Komponente
- cups-client – Client-Komponente (kann auf reinen Clients auch einzeln installiert werden)
- cups-bsd – Kompatibilitätslayer für das alte BSD-Drucksystem
Optionale Treiberpakete:
sudo apt install hplip printer-driver-gutenprint
- hplip – Treiber für HP-Drucker
- printer-driver-gutenprint – Treiber für viele Farb-Tintendrucker
CUPS-PDF (virtueller Drucker)
CUPS-PDF ist ein virtueller Drucker – ideal zum Testen ohne echte Hardware.
sudo apt install cups-pdf libreoffice
Hinweis: CUPS-PDF kann nur PostScript- und Bild-Dateien verarbeiten. Bei anderen Formaten entstehen leere PDFs.
Konfiguration
Standardmäßig speichert CUPS-PDF die Dateien unter /var/spool/cups-pdf/…. Das lässt sich anpassen:
vi /etc/cups/cups-pdf.conf
Out /home/${USER}/cups-pdf
Grp lpadmin
Hinweis: Je nach Distribution kann die Gruppe anders heißen.
Dienst steuern
systemctl start|stop|restart|status cups
Netzwerkzugang konfigurieren
Standardmäßig hört CUPS nur auf localhost (Port 631):
ss -lntp | grep 631
LISTEN 0 128 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=491,fd=9))
LISTEN 0 128 [::1]:631 [::]:* users:(("cupsd",pid=491,fd=8))
Variante 1: Alles freischalten (schnell, zum Testen)
cupsctl --remote-admin --remote-any --share-printers systemctl restart cups
systemctl restart cups
Zugang überprüfen:
ss -lntp | grep 631
LISTEN 0 128 0.0.0.0:631 0.0.0.0:* users:(("cupsd",pid=4247,fd=6))
| Variante | Befehl | Wann verwenden? |
|---|---|---|
| Schnell | cupsctl --remote-admin --remote-any --share-printers |
Testen / Labor |
| Präzise | cupsd.conf manuell editieren |
Produktion / bestimmte IP |
Weboberfläche
CUPS besitzt einen integrierten Webserver auf Port 631:
http://localhost:631 http://<server-ip>:631
- Drucker hinzufügen, verwalten und Aufträge einsehen
- Für administrative Aktionen ist eine Anmeldung erforderlich
- Nur Mitglieder der Gruppe lpadmin dürfen administrieren:
adduser meinbenutzer lpadmin
Drucker hinzufügen
Unter Verwaltung → Drucker hinzufügen:
- Gerät/Anschluss auswählen
- Verbindung festlegen (USB, Netzwerk, IPP, …)
- Name vergeben (keine Leer- oder Sonderzeichen)
- Marke und Modell auswählen
- Standardeinstellungen festlegen (z. B. Papierformat)
- Testseite drucken: Drucker → Wartung → Testseite drucken
Netzwerkprotokolle
| Protokoll | URL-Format | Hinweis |
|---|---|---|
| IPP | ipp://hostname/printers/druckername |
Empfohlen, universell |
| LPD/LPR | lpd://servername/warteschlange |
Ältere Geräte/Router |
| SMB | smb://domäne/server/drucker |
Windows-Druckserver (smbclient nötig) |
| Socket | socket://hostname:9100 |
Notlösung im LAN (HP JetDirect) |
Druckerserver im Netzwerk
cupsctl --share-printers # Lokale Drucker freigeben cupsctl --remote-admin # Remote-Administration erlauben
In der Weboberfläche unter Verwaltung → Server:
- Zeige freigegebene Drucker von anderen Systemen – bindet Netzwerkdrucker automatisch ein
- Freigeben von Druckern – gibt lokale Drucker im Netz frei
- Erlaube entfernte Verwaltung – Weboberfläche von anderen Rechnern erreichbar
Warteschlange und Status
- Aufträge – Druckaufträge einsehen, neu starten, löschen
- Drucker – Übersicht aller Drucker, Status prüfen, Drucker deaktivieren