Warum diese Leere?

Nach all diesen Vorarbeiten schlägt endlich die Stunde der Wahrheit: Mit lpr -Premote testdatei schicken wir eine testdatei an den eingerichteten Drucker remote. Wer jetzt mit schnöden Fehlermeldungen abgespeist wird, wird

  • ggf. nochmal das Filterskript einzeln testen,
  • sich mit lpq -Premote über den Zustand der Druckerwarteschlange informieren,
  • ggf. den Lineprinter-Dämonen lpd neu starten: Möglicherweise hat der die /etc/printcap schlichtweg nicht neu eingelesen. Dazu sucht man sich in dem Verzeichnis, in dem die Systeminitialisierungsskripte liegen (/etc/init.d, /etc/rc.d, /etc/rc.d/init.d o.ä.), jenes namens lpd aus. Beim alten lpr/lpd-System (re)startet es root selbst (etwa: /etc/init.d/lpd restart), bei lprng legt root seine Sonderrechte beiseite und startet das Initialisierungsskript als spezialisierter User lp ( - lp /etc/rc.d/init/lpd restart). Sollte sich der Parameter restart als falsch erweisen, muss man sich leider das Initialisierungsskript auf distributionsspezifische Eigenheiten hin näher ansehen.
  • nachprüfen, ob das Spoolverzeichnis existiert. Da wir hier das smbprint-Skript liegen haben, ist das zwar wahrscheinlich, aber vielleicht stimmt der Name nicht mit dem überein, was in der /etc/printcap steht.
  • nach den Rechten am Spoolverzeichnis schauen. Orientieren Sie sich dabei ggf. an Spoolverzeichnissen, die Ihr Distributor Ihnen z.B. bei der Installation eingerichtet hat. Sinnvoll ist in diesem Zusammenhang auch die Verwendung des Set-Group-ID-Bits mit chmod g+s spoolverzeichnis, sodass Dateien, die dahinein geschrieben werden (z.B. Lockdateien), automatisch in den Besitz der Gruppe übergehen, der das Spoolverzeichnis gehört (beispielsweise lp).

Sie halten glücklich einen Ausdruck in den Händen? Herzlichen Glückwunsch! Um zu kontrollieren, ob auch wirklich alles geklappt hat, werfen wir einen Blick in die Logdatei /var/log/smb-print.log.

Schmerz lass nach – warum ist nichts? So nah am Ziel, und dann das… Also gut, raffen wir uns nochmal auf…

Da lediglich unser smbprint-Inputfilter in die Logdatei schreibt, können wir unsere Fehlersuche auch auf diesen Schritt begrenzen. Versuchen wir also einmal, lpd "per Hand" zu spielen: Der schnappt sich schließlich auch nur eine Datei aus dem Spoolverzeichnis und jagt sie als User lp durch den Inputfilter.

Wir sind bescheidener und nehmen eine beliebige testdatei, um sie von /var/spool/lpd/ljet4/smbprint behandeln zu lassen. Doch zunächst machen wir uns als root zu lp:

lillegroenn:/# su - lp
lp@lillegroenn:/$ cat testdatei | /var/spool/lpd/ljet4/smbprint
./smbprint: /var/log/smb-print.log: Permission denied
./smbprint: /var/log/smb-print.log: Permission denied

Kein Wunder, dass es das Logfile nicht gibt, wenn die zwei Schreibzugriffe (von date und smbclient) verweigert werden. Nur warum? Ein Blick auf das Logverzeichnis /var/log spricht trotz der Kürze Bände (die ls-Option -d bewirkt, dass das Verzeichnis selbst, nicht aber sein Inhalt aufgelistet wird):

lillegroenn:/$ ls -ld /var/log
drwxr-xr-x    8 root     root         3072 May  9 22:48 /var/log

Lediglich root hat im Verzeichnis Schreibrechte. Verständlich, dass lp darin keine neue Datei anlegen darf. Da jedoch alle Benutzer nach /var/log wechseln dürfen, kann root darin mit touch die Logdatei namens smb-print.log anlegen und lp mit chown schenken. Wenn lp Schreibrechte an diesem seinem File hat, so kann das Skript darin auch die Fehlermeldungen ablegen.

root löst das Problem also folgendermaßen:

lillegroenn:/# touch /var/log/smb-print.log
lillegroenn:/# chown lp:lp /var/log/smb-print.log
lillegroenn:/# exit
trish@lillegroenn:/$ ls -al /var/log/smb-print.log
-rw-r--r--    1 lp       lp            0 May  9 22:48 /var/log/smb-print.log

Wunderbar, nun sollte doch alles klappen…

Die Last der Vielfältigkeit

… oder auch nicht: Obwohl fast alle Distributionen auf lpr/lpd bzw. lprng setzen, herrscht leider gerade bei den Print-Spoolsystemen fröhliche Verschiedenheit. Das macht es unmöglich, wirklich alle Eventualitäten in einem Artikel abzudecken. Die hier beschriebenen Fallen sind zwar alle der Realität entnommen, doch es ist sehr wohl möglich, dass ausgerechnet Ihr Problem nicht dabei war. Dann bleibt Ihnen lediglich, selbst auf die Suche zu gehen – vielleicht konnte das Answer-Girl immerhin Gedankenpfade vorbereiten.

Glossar

SMB

Die Abkürzung SMB steht für "Server Message Block", ein proprietäres Protokoll der Firma Microsoft (ursprünglich von Intel und Microsoft entwickelt), das die verteilte Nutzung von Ressourcen – Drucker, Verzeichnisse, Laufwerke – ermöglicht. Auf Linuxrechnern kann man derlei über einen Samba-Server für andere Rechner im "Microsoft Network" frei geben und mit dem smbclient-Programm auf angebotene SMB-Datei- und Druckershares zugreifen.

ODER

Ist von zwei oder mehreren Werten mindestens einer wahr, so ist ihre Verknüpfung durch logisches ODER ebenfalls wahr. Klassisches Beispiel aus der Schulphysik: Schaltet man zwei Glühbirnen parallel, so wird es hell, wenn entweder der eine oder der andere Schalter oder beide geschlossen sind. Bei der Reihenschaltung hingegen bekommt man ausschließlich Licht, wenn beide Schalter geschlossen sind – eine logische UND-Verknüpfung.

lp1

Während die erste parallele Schnittstelle bei stabilen Linuxversionen kleiner 2.2 analog zu LPT1 unter DOS in der Regel über /dev/lp1 angesprochen wird, beginnt bei aktuellen Kerneln die Zählung bei /dev/lp0.

chown

Wer mit dem "change owner"-Kommando Dateien an andere Benutzer "verschenken" will, muss root sein – schließlich mag sich nicht jede von ihren lieben Mitbenutzern Kuckuckseier in Dateiform unterschieben lassen.

chmod

Kommando zum Ändern von Berechtigungen ("change mode"). Wenn man dem Leserecht die 4, dem Schreibrecht die 2 und dem Ausführbarkeitsrecht die 1 zuordnet sowie weiß, dass ls -l die Rechte in der Reihenfolge Besitzer/in--Gruppe--Andere angibt, kommt man schnell hinter das Geheimnis der Zahl 511: 5=4+1, also Lese- und Ausführbarkeitsrecht für die Besitzerin sowie auschließlich letzteres (1) für die Gruppe und den Rest der Welt.

Kommentarzeile

Ein Kommentar ist normalerweise für menschliche Leser/innen eines Programms gedacht: Für den Rechner, der es ausführt, hat er keine Bedeutung. Da das Format der printcap-Datei jedoch fest vordefiniert ist, ist darin kein Platz für printtool-spezifische Erweiterungen. Daher griffen die Red-Hat-Entwickler zu einem "fiesen Hack" und bringen Zusatz-Informationen des printtools in einer Kommentarzeile unter. Bei Unix-Skriptsprachen (z.B. den meisten Shells) werden die oft durch ein # eingeleitet.

Escapen

(von engl. "to escape" – "fliehen/flüchten"), Slangausdruck, der besagt, dass man die Sonder-Bedeutung eines Zeichens aufhebt. Eine Möglichkeit dazu ist das Voranstellen des Fluchtzeichens \.

grep

Kommandozeilenwerkzeug, das im einfachsten Fall die als erstes Argument angegebene Zeichenkette in einer Datei, dem zweiten Argument, sucht und die entsprechenden Zeilen ausgibt. Statt aus einer Datei kann grep auch von einer Pipe lesen: Das Pipesymbol | bewirkt, dass die Ausgabe des davor stehenden Kommandos zur Eingabe für das hinter dem | stehende grep wird. Im Beispiel sucht grep so beispielsweise nach dem String lpr in der Ausgabe des rpm-Paketmanagerkommandos.

su

Das "substitute user"-Kommando erlaubt es einem Benutzer, eine andere Identität anzunehmen. Steht als letztes Argument zu su ein Kommando, hält die Verwandlung nur für dessen Ausführung an. Außer root, die sich ohne weitere Formalitäten in alle anderen Benutzer "hinein versetzen" darf, müssen sonstige User sich mit dem Passwort des gewünschten Benutzers identifizieren. Zu "Pseudobenutzern" wie lp, bei denen in der /etc/shadow statt des verschlüsselten Passwords ein Sternchen steht, kann sich daher lediglich root machen.

Lockdateien

(von engl. "to lock" – (ab)schließen) Eine Datei, die signalisiert, dass hier schon "gearbeitet" wird und bitte nicht gestört werden soll. Beim Drucken verhindert sie, dass ein Drucker zeitgleich mit mehreren Dateien bombardiert wird.

touch

Fasst man eine Datei mit touch an, ändert sich der Zeitstempel ihrer letzten Änderung. Existiert die Argumentdatei noch nicht, so wird sie als leeres File angelegt.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Drucker-Konfiguration unter Linux
    Natürlich muss man auch unter Linux nicht auf einen Drucker verzichten. In diesem Artikel wird Ihnen erklärt wie Sie Ihren Drucker unter verschiedenen Distributionen einrichten und benutzen.
  • The Answer Girl
    Dass der Computeralltag auch unter Linux des Öfteren für Überraschungen gut ist, ist eher eine Binsenweisheit: Immer wieder funktionieren Dinge nicht oder nicht so, wie eigentlich angenommen. Das Answer-Girl im LinuxUser zeigt, wie man mit solchen Problemchen elegant fertig wird.
  • Der lange Weg der Druckdaten
    Welche Wege und Umwege nimmt eine Datei, bis ihr Inhalt farbig oder schwarz auf weiß zu Papier gelangt?
  • Printserver mit Samba
  • Netzwerk im Gleichschritt
    Zentrales Backup, gemeinsam genutzte Dateien und Drucker – es gibt viele Argumente für einen Samba-Server im lokalen Netzwerk. Wie schnell und einfach Sie diesen aufsetzen, zeigt dieser Artikel.
Kommentare

Infos zur Publikation

LU 10/2017: Daten retten & sichern

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...