IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Unix - Allgemeines - Drucken unter Unix?



Drucken unter Unix?

Unter Windows oder gar X-Windows ist Drucken oft nicht allzu schwer - für viele ist es bei Unix allerdings eine herausforderung. Ein kleiner Einblick in den printing-bereich von Unix...


Autor: Franz Schaefer (mond)
Datum: 23-01-2002, 19:32:55
Referenzen: man lpr
lpr --help
man lpq
man lprm
man lpd
man printcap
man a2ps
info a2ps
a2ps --help
a2ps --list topics
man enscript
man psnup
man psselect
man psmerge
man pstoedit
man man
Schwierigkeit: Anfänger
Ansichten: 4505x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einführung

drucker einrichten unter unix ist nicht immer leicht (hauptsaechlich weil die hersteller von druckern meist nur windows user direkt supporten). aber wenn ein drucker mal eingerichtet ist geht alles ganz leicht.

druckereinrichtung behandel wir daher heute noch nicht. aber ein kurzer ueberblick wie alles zuammenhaengt und dich wichtigsten anwendungsprogramme zum drucken.

zu den grundlagen:

hat man einen drucker der direkt am prallelport angeschlossen ist und wird dieser von einem unix treiber unterstuetzt so kann man direkt rohe daten an diesen drucker schreiben. z.b.:

echo blabla > /dev/lp0

(die namen des drucker devices sind von unix zu unix leicht verschieden. im linux heisst der erste drucker /dev/lp0) dorthin schreiben darf i.a. natuerlich nur der root user. ) aber das blabla sollte dann direkt ausgedruckt werden. (ein drucker der nur ganze seiten druckt (z.b. laserdrucker) wartet dann noch auf das seitenende. das kann man ihm mit einem control-L zeichen schicken:

echo ^L > /dev/lp0

(control zeichen kann man in der shell eingeben in dem man zuerst control-v drueckt und dann den control den man senden will. also z.b. control-v control-l hier)

besonders bequem ist diese art zu drucken nicht. man will ja z.b. auch uebers netzwerk drucken oder wenn der drucker gerade belegt ist soll der druckauftrag zwischengespeichert ("ge-queued") werden. etc..

dazu laueft auf ein sogenannter drucker daemon (meist lpd ) es gibt inzwischen verschieden arten dieses drucker daemons (lpd, lpr-ng, cups,...) am verbreitetsten ist aber noch der alte BSD lpd.

der lpd uebernimmt jetzt das zwischenspeichern, das rauschicken der daten an das /dev/lp port. er stellt den drucker anderen computern im netz zur verfuegung und erlaubt das drucken auf andere netzwerkdrucker. weiters koenenn die daten bevor sie gedruckt werden noch durch programme aufbereitet werden (z.b. weil man daten in einem format drucken will das der drucker nicht direkt unterstuetzt.)

die vorhanden drucker auf einem system sind beim BSD lpd in /etc/printcap definiert.

hat man einen richtig eingerichtetn drucker so kann man dann einen druckauftrag mit dem "lpr" kommando an den lpd weitergeben.

echo blabla^L | lpr

das lpr druckt dabei auf den standard printer mit dem namen "lp". hat man mehrere drucker so kann man den namen des druckers angeben:

echo blabla^l| lpr -Pbrother

wuerde auf einem drucker mit dem namen "brother" drucken sofern dieser eingerichtet ist.

mit

lpq -Pbrother

sieht man alle druckauftraege die zur bearbeitung in der "queue" stehen.

lprm 1234

wuerde den druckauftrag mit der nummer 1234 aus der queue des standarddruckers "lp" entfernen. (man kann hier wieder mit -P einen anderen druckernamen angeben)

in welchem datenformat muessen die daten sein damit sie ausgedruckt werden? das haengt vom drucker ab un davon ob der lpd so eingestellt ist dass er daten in anderen formaten in das format umwandelt dass der drucker spricht.

die meisten drucker heutzutage sprechen entweder ein "laserjet" (PCL) format oder "deskjet". gute drucker koennen direkt die seitenbeschreibungssprache "postscript" verstehen. da die meisten programme im unix erwarten mit einem postscript drucker zu sprechen sollte

der lpd so eingestellt sein dass er postscript daten in jedem falle drucken kann. (ein gutes programm dafuer ist "apsfilter")

wir gehen im folgenden davon aus dass der lpd gut eingerichtet ist und postscript versteht.

wir koennen dann mit dem befehl:

lpr tiger.ps

oder

cat tiger.ps | lpr

die datei postscript datei tiger.ps ausdrucken. (die datei tiger.ps liegt normalerweise dem programm "gs" (ghostscript) bei und sollte auf jedem unix zufinden sein. am besten "locate" benutzen.

programme wie netscape, xv, etc... rufen intern das programm lpr zum drucken auf koennen aber alternativ auch in ein file drucken. dieses file ist dann ein .ps file.

hat man die grafische X11 oberflaeche zur verfuegung kann man sich die postscript datein mit

gv tiger.ps

oder:

ghostscript tiger.ps

anschaun bevor man sie ausdruckt.

zum ausdrucken von normalen text dateien auf einem postscript drucker ist das programm a2ps sehr zu empfehlen:

a2ps -2 blabla.txt

wuerde die datei blabla.txt in ein mit 2 spalten pro seite formatiertes postscript uwmandel und zum standarddrucker schicken.

a2ps -2 -oblabla.ps blabla.txt

wuerde die ausgabe nicht direkt zum drucker schicken sondern in die datei blabla.ps speichern. (die wir dann vor dem echten ausdrucken noch mal mit gv anschaun koennen)

a2ps versucht je nach art der textdatei diese speziell fomatiert auszudrucken. (so z.b. email oder C progrmme etc..) (das kann manchmal stoerend sein. mit der option --pretty-print=text schaltet man auf normalen text ausdruck zurueck.) will man direkt aus dem mail programm mutt heraus mit der p taste drucken koennen kann man z.b. folgendes in sein .muttrc file eintragen:

set print=ask-yes # ask me if I really want to print messages
set print_command="/usr/bin/a2ps -=mail -2 "

ebenfalls zum ausdrucken von textdatein geeignet ist enscript:

enscript -oblabla.ps -2 blabla.txt

(ich finde aber a2ps besser)

zum interaktiven ausdrucken von bildern ist "xv" sehr praktisch. fuer webseiten kann man seinen browser verwenden. (a2ps kann bei html seiten auch netscape aufrufen um die umwandlung durchzufuehren) die GNU version von "man" (bzw. "groff") kann man pages auch schoen formatiert als postscript ausgeben:

man -Tps lpr > bla.ps

wuerde die manpage zum "lpr" programm in die datei bla.ps speichern.

zum umgang mit postscript datein gibt es eine menge nuetzlicher tools. (das "psutils" packet ist hier besonders zu empfehlen). ich will hier kurz die wichtigsten auflisten:

psnup -2 bla.ps bla2.ps

macht aus einem postscript file bla.ps ein neues wobei immer 2 seitens verkleinert auf eine geschrieben werden. (aktion "rettet den regenwald")

ps2pdf

wandelt ps deiten in pdf um (meist aber nicht so gut wie programme die direkt pdfs erzeugen koennen)

pstopdf

ebenfalls. (.pdf files kannst du dir unter unix mit acroread oder xpdf ansehen)

pdftops

und

pdf2ps

wandeln pdf in ps um

pstops

ist ein sehr leistungsfaehgis programm um ps datein in andere umzuwandeln (kann wie psnub verkleinern aber auch seiten umordnen etc.. damit kann man sich z.b. die seiten so formatieren dass sie als kleinest "booklet" zusammenheftbar sind etc...)

psselect -p 1-3,7 bla.ps bla2.ps

erlaubt es einzelene seiten aus einem postscript dokument herauszufiltern. (im obigen fall die seiten 1 bis 3 und die seite 7) werden aus bla.ps gelesen und in bla2.ps gespeichert.

pstoedit

versucht postscript daten in editierbare vektor grafiken umzuwandeln (xfig, fig, ai, hpgl, dxf, ....)

EXERCISES:

* wenn du einen direkt angeschlossenen drucker hast und root bist dann versuche einige zeichen probehalber direkt auf das /dev/lp0 (o.ae.) zu schreiben.

* schau dir dein /etc/printcap file an oder informier dich bei deinem sysadmin welche drucker eingerichtet sind.

* drucke eine kurze textdatei direkt mit lpr

* verwende lpq und lprm um einen druckjob zu loeschen.

* erzeuge mit a2ps und/oder enscript postscript ausdrucke von text files (zum papierschonen am besten nicht gleich auf den drucker sondern zuerst in ein .ps file schreiben).

* betrachte postscript files mit "gv" oder "ghostscript"

* verwende psnup um eine postscript datei mit vielen seiten in eine umzuwandeln die nur halb soviele seiten hat.

* verwende ps2pdf um eine postscript datei in ein pdf umzuwandeln. sieh dir das entstandene pdf file an.

_______________________________________________
CD ist ein service von SILVER SERVER
der inhalt unterliegt der GFDL


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04511
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06248
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1158
Comments: 0