Home / LinuxUser / 2000 / 08 / The Answer Girl

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Gut gedruckt

The Answer Girl

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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...