printcap BACK .. Drucker - Konfiguration ======================= siehe "http://www.willemer.de/informatik/unix/unixlpr.htm" #------------------------------------------------------------------------------# Damit man uebers Netz drucken kann, muss dieser Rechner eine "Erlaubnis" bekommen, diese Erlaubnis ist der Eintrag des Hostname in der Datei "/etc/hosts.lpd" auf dem Print-Server (wenn es ein Unix-ähnliches System ist): vi /etc/hosts.lpd alf.melmak.de willi.melmak.de #------------------------------------------------------------------------------# so kann zum Beispiel eine "/etc/printcap" für den Netzwerkdruck aussehen: Wenn der Drucker durch einen UNIX-Rechner zum "Netzwerkdrucker" gemacht wird, weil der Drucker keine eigene Netzwerkkarte hat, dann muss eine zusaetzliche Zeile ":rp=lp:\" eingefuegt werden! Hier wird der Name angegeben, mit dem der Drucker auf dem Server aufgerufen wird. ################################################################################ ######## beginn printcap ###################################################### ################################################################################ # Netzwerkdrucker (der Printfilter ist auf dem Printserver installiert) # # Es ist natürlich auch hier möglich ein "if="-Kommando einzufu:hgen. # Das macht aber nicht immer sinn. # # Markant für diese Printcap sind die folgenden beiden Zeilen: # :rm=printserver:\ # :rp=lp:\ ################################################################################ lp|remote line printer:\ :lp=:\ :rm=printserver:\ :rp=lp:\ :sd=/var/spool/lpd/lp:\ :lf=/var/spool/lpd/lp/log:\ :af=/var/spool/lpd/lp/acct:\ :mx#0:\ :sh: ################################################################################ ######## ende printcap ######################################################## ################################################################################ Jetzt müssen noch das Spoolverzeichnis angelegt werden: ------------------------------------------------------- # mkdir -p /var/spool/lpd/lp # touch /var/spool/lpd/lp/log # touch /var/spool/lpd/lp/acct #------------------------------------------------------------------------------# Wenn der Netzwerkdrucker kein PostScript beherschen, muss das Kommando "if" in der PRINTCAP verwendet werden um den PostScript-Code für den Drucker aufzuarbeiten. Soein Filter kann mit dem Paket MAGICFILTER oder APSFILTER installiert werden. (siehe unter "Software" den Punkt "MAGICFILTER" oder "APSFILTER") so kann zum Beispiel eine "/etc/printcap" für den lokalen Druck aussehen: ################################################################################ ######## beginn printcap ###################################################### ################################################################################ # lokaler Drucker (hier ist ein Printfilter meistens nötig) # # In diesem Fall wurde "Magicfilter" installiert # und davon ein Filter (für einen LaserJet 4) eingebunden. ################################################################################ lp|ljet4|local line printer:\ :lp=/dev/lpt0:\ :if=/usr/local/libexec/magicfilter/ljet4-filter:\ :sd=/var/spool/lpd/ljet4:\ :lf=/var/spool/lpd/ljet4/log:\ :af=/var/spool/lpd/ljet4/acct:\ :mx#0:\ :sh: ################################################################################ ######## ende printcap ######################################################## ################################################################################ Jetzt müssen noch das Spoolverzeichnis angelegt werden: ------------------------------------------------------- # mkdir -p /var/spool/lpd/ljet4 # touch /var/spool/lpd/ljet4/log # touch /var/spool/lpd/ljet4/acct #------------------------------------------------------------------------------# Es ist auch möglich, sich selbst soeinen Filter zu schreiben, das ist garnicht so schwer. Als erstes muss GhostScropt installiert werden: ----------------------------------------------- # cd /usr/ports/print/ghostscript-gnu && make install && make clean Jetzt können wir unseren Filter schreiben, ein einfacher zweizeiler recht schon. In diesem Fall für einen ljet4: ------------------------------- # vi /usr/local/printfilter/ljet4filter #!/bin/sh /usr/local/bin/gs -q -sDEVICE=ljet4 -sPaperSize=a4 -dNOPAUSE -dBATCH -sOutputFile=- - nicht vergessen, die Datei muss ausführbar sein: ------------------------------------------------ # chmod 755 /usr/local/printfilter/ljet4filter siehe auch "http://www.ghostscript.com/doc/printer.htm" und "http://www.linuxprinting.org/printer_list.cgi" hier ein paar Beispiele: ------------------------ HP LaserJet 2100 ---------------- - ljet4 (PCL5: 600 dpi) (von mir aktuell genutzt) - pxlmono (PCL6: 1200 dpi) - lj5gray (PCL6: 1200 dpi) - lj5mono (selten erwähnt) - pxlcolor (selten erwähnt) HP DeskJet 890C / OfficeJet G85 ------------------------------- - hpijs - cdj890 - Gimp-Print - andere cdjXXX-Treiber - pcl3-Treiber - cdj550.upp (von mir Jahre lang betrieben) #------------------------------------------------------------------------------# Jetzt sollten alle Anwendungen direkt auf den Drucker drucken koennen, will man allerdings eine Textdatei direkt von der Konsole aus drucken, dann muss diese am besten in PostScript-Code umgewandelt werden, da unser Drucksystem damit am besten druckt und PostScript ist auch der vielseitigste Code. Man kann ihn z.B. in eine Datei drucken und mit GhostScript ansehen oder ihn mit GhostScript in eine PDF-Datei umwandeln. Verwenden Sie den folgenden Befehl um zwei Seiten auf einem Blatt mit einem Kopf auszudrucken: a2ps -P lp [Textdatei.txt] Wollen Sie den Text "blank" eins zu eins ohne extras ausdrucken, dann verwenden Sie den folgenden Befehl (70 Zeilen je Seite): a2ps -P lp -B -1 --borders=no [Textdatei.txt] Wollen Sie ein Ergebnis dazwischen, dann lasse sie den entsprechenden Parameter des letzten Befehles einfach weck. Um acht seiten je Blatt zu drucken geben Sie zum Beispiel "-8" an Stelle von "-1" ein und um alle Blaetter dreifach auszudrucken, fuehgen Sie den Parameter "-n 3" einfach an. Mehr infos unter "a2ps --list=defaults" und "man a2ps". Eine gute Hilfe ist mit "info a2ps" und ein "ENTER" auf die Options-Rubrik verfuehgbar. Ins PDF-Format werden Textdateien (ASCII-Dateien) mit dem folgenden Befehl umgewandelt, dann sind sie mit dem Acrobat-Reader lesbar. ascii2pdf [Textdatei.txt] PS-Dateien (PostScript-Dateien) werden mit dem folgenden Befehl ins PDF-Format umgewandelt, dann sind sie mit dem Acrobat-Reader lesbar. ps2pdf [PostScriptDateien.ps] PS-Dateien werden unter UNIX von jeder druckenden Anwendung erzeugt, man kann sie abspeichern, in dem man z.B. im Netscape oder in StarOffice auf Drucken klickt und in eine Datei (z.B. testdruck.ps) drucken laesst. Das ist die einfachste moeglichkeit *.pdf-Dateien zu erzeugen. [IMG]