diff --git a/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml b/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml index 2433906823..138aff1da0 100644 --- a/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml @@ -7,7 +7,7 @@ $FreeBSD$ %SOURCE% en_US.ISO8859-1/books/handbook/printing/chapter.sgml - %SRCID% 1.1 + %SRCID% 1.120 --> @@ -35,56 +35,65 @@ Σύνοψη - LPD σύστημα spooling - εκτυπώσεις + LPD spooling system + printing - Το FreeBSD μπορεί να χρησιμοποιηθεί για να εκτυπώσει σε μια ευρεία γκάμα εκτυπωτών, από τον - παλαιότερο κρουστικό ως τον πλέον τελευταίο laser εκτυπωτή, και οτιδήποτε - ενδιάμεσα, επιτρέποντας σας να παράγετε εκτυπώσεις υψηλής ποιότητας από τις + Μπορείτε να χρησιμοποιήσετε το &os; για να κάνετε εκτυπώσεις + σε διάφορους τύπους εκτυπωτών, από τον παλαιότερο κρουστικό ως τον πιο + σύγχρονο laser εκτυπωτή, καθώς και οποιασδήποτε άλλης τεχνολογίας + ανάμεσα τους, και να δημιουργήσετε εκτυπώσεις υψηλής ποιότητας με τις εφαρμογές που εκτελείτε. - Το FreeBSD μπορεί επίσης να ρυθμιστεί να δρα ως εξυπηρετητής εκτυπώσεων σε ένα - δίκτυο; με αυτή τη δυνατότητα το FreeBSD μπορεί να λάβει εργασίες εκτύπωσης από διάφορους - άλλους υπολογιστές, συμπεριλαμβανομένων υπολογιστών FreeBSD, &windows; και &macos;. - Το FreeBSD μπορεί να εξασφαλίσει ότι μόνο μια εργασία θα τυπώνεται κάθε χρονική στιγμή και μπορεί - να τηρεί στατιστικά για το ποιοι χρήστες και μηχανήματα κάνουν τις περισσότερες εκτυπώσεις, - να παράγει banner σελίδες που δείχνουν σε ποιον ανήκει η κάθε εκτύπωση, και πολλά άλλα. - + Το &os; μπορεί επίσης να ρυθμιστεί ώστε να λειτουργεί ως + εξυπηρετητής εκτυπώσεων δικτύου. Με αυτή τη δυνατότητα το &os; μπορεί + να λαμβάνει εργασίες εκτύπωσης από διάφορους άλλους υπολογιστές, + συμπεριλαμβανομένων υπολογιστών &os;, &windows; και &macos;. Το &os; + μπορεί να εξασφαλίζει ότι μόνο μια εργασία θα τυπώνεται κάθε χρονική + στιγμή και μπορεί να τηρεί στατιστικά για τους χρήστες και τα + μηχανήματα που θα κάνουν τις περισσότερες εκτυπώσεις, να παράγει + σελίδες banner που να δείχνουν σε ποιόν ανήκει η κάθε + εκτύπωση, και πολλά άλλα. Αφού διαβάσετε αυτό το κεφάλαιο θα ξέρετε: - Πως να ρυθμίσετε τον print spooler του FreeBSD. + Πως να ρυθμίσετε την ουρά εκτυπώσεων (print spooler) του + &os;. - Πως να εγκαταστήσετε φίλτρα εκτύπωσης, να χειριστείτε ειδικές εργασίες εκτύπωσης - διαφορετικά, συμπεριλαμβανομένου και της μετατροπής εισερχόμενων κειμένων σε μορφές εκτύπωσης - που είναι κατανοητές από τους εκτυπωτές σας. + Πως να εγκαθιστάτε φίλτρα εκτύπωσης, να χειρίζεστε + ειδικές εργασίες εκτύπωσης (π.χ. τη μετατροπή + εισερχόμενων κειμένων σε μορφές εκτύπωσης που είναι κατανοητές από + τους εκτυπωτές σας). - Πως να ενεργοποιήσετε, σελίδες τύπου header ή banner στις εκτυπώσεις σας. + Πως να ενεργοποιήσετε σελίδες τύπου κεφαλίδας ή banner στις + εκτυπώσεις σας. - Πως να εκτυπώσετε σε εκτυπωτές που είναι συνδεδεμένοι σε άλλους υπολογιστές. + Πως να εκτυπώνετε σε εκτυπωτές που είναι συνδεδεμένοι σε άλλους + υπολογιστές. - Πως να τυπώσετε σε εκτυπωτές που είναι συνδεδεμένοι απευθείας στο - δίκτυο. + Πως να εκτυπώνετε σε εκτυπωτές που είναι συνδεδεμένοι απευθείας + στο δίκτυο. - Πως να ελέγχετε τους περιορισμούς εκτύπωσης, συμπεριλαμβανομένου και του περιορισμού του μεγέθους των - εργασιών εκτύπωσης, και απαγόρευση εκτυπώσεων σε συγκεκριμένους χρήστες. + Πως να ελέγχετε τους περιορισμούς εκτύπωσης, συμπεριλαμβανομένων + των περιορισμών μεγέθους των εργασιών εκτύπωσης, και πως να + παρεμποδίζετε την δυνατότητα εκτύπωσης σε συγκεκριμένους + χρήστες. - Πως να κρατήσετε στατιστικά για τον εκτυπωτή, και στοιχεία για τη χρήση - του εκτυπωτή. + Πως να κρατήσετε στατιστικά για τον εκτυπωτή, και καταγραφή + για τη χρήση του εκτυπωτή από κάθε χρήστη. @@ -96,907 +105,957 @@ - Να γνωρίζετε πως να ρυθμίσετε και να εγκαταστήσετε ένα νέο πυρήνα - (). + Να γνωρίζετε πως να ρυθμίσετε και να εγκαταστήσετε ένα νέο + πυρήνα (). - Introduction + Εισαγωγή - In order to use printers with FreeBSD, you may set - them up to work with the Berkeley line printer spooling system, - also known as the LPD spooling system, - or just LPD. - It is the standard printer control system in FreeBSD. This - chapter introduces LPD and - will guide you through its configuration. + Για να χρησιμοποιήσετε εκτυπωτές στο &os;, θα χρειαστεί να + ρυθμίσετε τη λειτουργία τους με το σύστημα παροχέτευσης (spooling) + εκτυπωτών γραμμής του Berkeley, γνωστό επίσης και ως σύστημα + παροχέτευσης LPD, ή απλά + LPD. Αυτό είναι το προκαθορισμένο σύστημα + ελέγχου εκτυπωτών στο &os;. Το κεφάλαιο αυτό είναι μια εισαγωγή στο + LPD και θα σας καθοδηγήσει στις ρυθμίσεις + του. - If you are already familiar with - LPD or another printer spooling - system, you may wish to skip to section Basic Setup. + Εάν σας είναι οικείο το LPD ή κάποιο άλλο + σύστημα παροχέτευσης εκτυπωτών, τότε μπορείτε να μεταπηδήσετε στην + ενότητα Βασική Εγκατάσταση. - LPD controls everything about a - host's printers. It is responsible for a number of things: + Το LPD μπορεί να ελέγχει εξ' ολοκλήρου + όλες τις λειτουργίες των εκτυπωτών ενός υπολογιστή. Είναι κυρίως + υπεύθυνο για ένα πλήθος λειτουργιών: - It controls access to attached printers and printers - attached to other hosts on the network. + Ελέγχει την πρόσβαση σε απευθείας συνδεμένους εκτυπωτές και + εκτυπωτές προσαρτημένους σε άλλους κόμβους στο δίκτυο. - print jobs + εργασίες εκτύπωσης - It enables users to submit files to be printed; these - submissions are known as jobs. + Επιτρέπει σε χρήστες να στέλνουν αρχεία προς εκτύπωση. Οι + αποστολές αυτές είναι γνωστές ως + εργασίες (jobs). - It prevents multiple users from accessing a printer at the - same time by maintaining a queue for each - printer. + Διατηρεί ουρά αναμονής (queue) για κάθε + εκτυπωτή, ώστε να προλαμβάνει την ταυτόχρονη πρόσβαση από πολλούς + χρήστες. - It can print header pages (also known - as banner or burst - pages) so users can easily find jobs they have printed in a - stack of printouts. + Μπορεί να εκτυπώνει σελίδες κεφαλίδας + (γνωστές επίσης ως banner ή + σελίδες burst) ώστε οι χρήστες να μπορούν + εύκολα να ξεχωρίσουν τις εργασίες τους μέσα στην στοίβα + εκτυπώσεων. - It takes care of communications parameters for printers - connected on serial ports. + Φροντίζει για την ορθότητα των παραμέτρων επικοινωνίας των + εκτυπωτών που είναι συνδεδεμένοι σε σειριακές θύρες. - It can send jobs over the network to a - LPD spooler on another host. + Μπορεί μέσω του δικτύου να στείλει εργασίες σε σύστημα + παροχέτευσης LPD διαφορετικού + υπολογιστή. - It can run special filters to format jobs to be printed for - various printer languages or printer capabilities. + Μπορεί να εκτελέσει διάφορα φίλτρα για να προσαρμόσει εργασίες + ώστε να είναι δυνατή η εκτύπωση τους σε εκτυπωτές που χρησιμοποιούν + διαφορετικές γλώσσες ή έχουν διαφορετικές δυνατότητες. - It can account for printer usage. + Μπορεί να κάνει καταμέτρηση χρήσης του εκτυπωτή. - Through a configuration file - (/etc/printcap), and by providing the special - filter programs, you can enable the LPD - system to do all or some - subset of the above for a great variety of printer hardware. + Μέσω του αρχείου ρύθμισης (/etc/printcap), + και με τη βοήθεια ειδικών προγραμμάτων φίλτρων, μπορείτε να + ενεργοποιήσετε το σύστημα LPD να κάνει όλες + ή κάποιες από τις παραπάνω εργασίες σε μια μεγάλη γκάμα συσκευών + εκτύπωσης. - Why You Should Use the Spooler + Γιατί θα πρέπει να χρησιμοποιείτε τον Spooler - If you are the sole user of your system, you may be wondering - why you should bother with the spooler when you do not need access - control, header pages, or printer accounting. While it is - possible to enable direct access to a printer, you should use the - spooler anyway since: + Αν είστε ο μοναδικός χρήστης του συστήματος, θα αναρωτιέστε + γιατί θα έπρεπε να ενδιαφερθείτε για τον spooler αφού δεν χρειάζεστε + έλεγχο πρόσβασης, σελίδες κεφαλίδας, ή αναφορές εκτύπωσης. Αν και + μπορείτε να ενεργοποιήσετε την άμεση πρόσβαση στον εκτυπωτή, είναι + καλύτερα να χρησιμοποιείτε τον spooler για τους παρακάτω + λόγους: - LPD prints jobs in the background; - you do not have to wait - for data to be copied to the printer. + το LPD εκτυπώνει τις εργασίες στο + παρασκήνιο, δεν χρειάζεται να περιμένετε να αντιγραφούν τα + δεδομένα στον εκτυπωτή. &tex; - LPD can conveniently run a job - to be printed through - filters to add date/time headers or convert a special file - format (such as a &tex; DVI file) into a format the printer will - understand. You will not have to do these steps - manually. + Το LPD μπορεί άνετα να εκτελεί + μια εργασία εκτύπωσης διαμέσου φίλτρων και να προσθέτει κεφαλίδες + ημερομηνίας/ώρας ή να μετατρέπει κάποιο ειδικό τύπο αρχείου + (όπως ένα αρχείο &tex; DVI) σε ένα τύπο κατανοητό από τον + εκτυπωτή σας. Αυτές οι διαδικασίες δεν χρειάζεται να γίνονται + χειροκίνητα. - Many free and commercial programs that provide a print - feature usually expect to talk to the spooler on your system. - By setting up the spooling system, you will more easily - support other software you may later add or already - have. + Πολλά από τα ελεύθερα και εμπορικά διαθέσιμα προγράμματα + που παρέχουν διευκολύνσεις στην εκτύπωση, συνήθως επιζητούν + να επικοινωνήσουν με τον spooler του συστήματος σας. Ρυθμίζοντας + το σύστημα παροχέτευσης, θα μπορείτε ευκολότερα να υποστηρίζετε + λογισμικό τρίτων, που μπορεί ήδη να έχετε ή που πρόκειται να + εγκαταστήσετε στο μέλλον. - Basic Setup + Βασική Εγκατάσταση - To use printers with the LPD spooling - system, you will need to - set up both your printer hardware and the - LPD software. This - document describes two levels of setup: + Για να χρησιμοποιήσετε εκτυπωτές με το σύστημα παροχέτευσης + LPD, θα πρέπει να εγκαταστήσετε τόσο το + hardware του εκτυπωτή σας όσο και το λογισμικό + LPD. Αυτό το έγγραφο περιγράφει την + εγκατάσταση σε δύο στάδια: - See section Simple Printer - Setup to learn how to connect a printer, tell - LPD how to - communicate with it, and print plain text files to the - printer. - + Δείτε την ενότητα Βασικές + Ρυθμίσεις Εκτυπωτών για να μάθετε πως γίνεται η σύνδεση + εκτυπωτών, με ποιο τρόπο επικοινωνεί το + LPD με τους εκτυπωτές, και πως να + εκτυπώνετε απλά αρχεία κειμένου. - See section Advanced - Printer Setup to learn how to print a variety of - special file formats, to print header pages, to print across a - network, to control access to printers, and to do printer - accounting. + Δείτε την ενότητα Ρυθμίσεις + Εκτυπωτών για Προχωρημένους για να μάθετε πως να εκτυπώνετε + αρχεία ειδικής μορφής διαφόρων τύπων, πως να εκτυπώνετε σελίδες + κεφαλίδας, πως να εκτυπώνετε σε ένα δίκτυο, πως να ελέγχετε την + πρόσβαση στους εκτυπωτές, και πως να χρησιμοποιείτε την καταγραφή + εκτυπώσεων. - Simple Printer Setup + Βασικές Ρυθμίσεις Εκτυπωτών - This section tells how to configure printer hardware and the - LPD software to use the printer. - It teaches the basics: + Αυτή η ενότητα περιγράφει πως να ρυθμίσετε το hardware του + εκτυπωτή και το λογισμικό LPD. Παρέχει + βασικές γνώσεις για τα εξής θέματα: - Section Hardware - Setup gives some hints on connecting the printer to a - port on your computer. + Η Ενότητα Ρυθμίσεις + Hardware υποδεικνύει πως να συνδέσετε τον εκτυπωτή σε + μια θύρα του υπολογιστή σας. - Section Software - Setup shows how to set up the - LPD spooler configuration - file (/etc/printcap). + Η Ενότητα Ρυθμίσεις + Λογισμικού υποδεικνύει πως να εγκαταστήσετε το αρχείο + ρύθμισης του συστήματος παροχέτευσης + LPD: το αρχείο + /etc/printcap. - If you are setting up a printer that uses a network protocol - to accept data to print instead of a computer's local interfaces, - see Printers With - Networked Data Stream Interfaces. + Αν προσπαθείτε να εγκαταστήσετε έναν εκτυπωτή που δέχεται δεδομένα + μέσω πρωτοκόλλου δικτύου και όχι μέσω διασύνδεσης τοπικής θύρας, τότε + δείτε την ενότητα + Εκτυπωτές Με + Συνδέσεις Δικτύου. - Although this section is called Simple Printer - Setup, it is actually fairly complex. Getting the printer - to work with your computer and the LPD - spooler is the hardest - part. The advanced options like header pages and accounting are - fairly easy once you get the printer working. + Αν και αυτή η ενότητα ονομάζεται Βασικές Ρυθμίσεις + Εκτυπωτών, στην πραγματικότητα είναι αρκετά περίπλοκη. Το + δυσκολότερο στάδιο στην εγκατάσταση είναι η επιτυχής λειτουργία στην + επικοινωνία του εκτυπωτή με τον υπολογιστή σας και το σύστημα + παροχέτευσης LPD. Οι επιλογές για + προχωρημένους, όπως οι σελίδες κεφαλίδας και αναφοράς είναι σχετικά + εύκολες να επιτευχθούν, μετά την επιτυχή ρύθμιση της βασικής + λειτουργίας εκτύπωσης. - Hardware Setup + Ρυθμίσεις Hardware - This section tells about the various ways you can connect a - printer to your PC. It talks about the kinds of ports and - cables, and also the kernel configuration you may need to enable - FreeBSD to speak to the printer. + Αυτή η ενότητα εξηγεί τους διάφορους τρόπους σύνδεσης του + εκτυπωτή με τον υπολογιστή σας. Περιγράφει τους διάφορους τύπους + θυρών και καλωδίων, και τις ρυθμίσεις που πρέπει να κάνετε + στον πυρήνα για να ενεργοποιήσετε την επικοινωνία μεταξύ &os; και + εκτυπωτή. - If you have already connected your printer and have - successfully printed with it under another operating system, you - can probably skip to section Software Setup. + Αν ήδη έχετε καταφέρει να συνδέσετε τον εκτυπωτή σας και έχετε + εκτυπώσει επιτυχώς σε άλλο λειτουργικό σύστημα, τότε μπορείτε να + μεταβείτε κατευθείαν στην ενότητα Ρυθμίσεις Λογισμικού. - Ports and Cables + Θύρες και Καλώδια - Printers sold for use on PC's today generally come - with one or more of the following three interfaces: + Οι εκτυπωτές που διατίθενται σήμερα για χρήση με Η/Υ + παρέχονται με μία ή περισσότερες εκ των ακολούθων τριών + διασυνδέσεων: - printers - serial - + εκτυπωτές + σειριακοί + - Serial interfaces, also known - as RS-232 or COM ports, use a serial port - on your computer to send data to the printer. Serial - interfaces are common in the computer industry and cables - are readily available and also easy to construct. Serial - interfaces sometimes need special cables and might require - you to configure somewhat complex communications - options. Most PC serial ports have a maximum - transmission rate of 115200 bps, which makes printing - large graphic print jobs with them impractical. + Οι Σειριακές διασυνδέσεις, γνωστές + και ως RS-232 ή θύρες COM, χρησιμοποιούν την σειριακή θύρα + του υπολογιστή σας για να στείλουν δεδομένα στον εκτυπωτή. + Οι σειριακές διασυνδέσεις είναι συνήθεις στην βιομηχανία + κατασκευής Η/Υ και τα καλώδια είναι εκτενώς διαδεδομένα και + επίσης εύκολα να κατασκευαστούν. Οι σειριακές διασυνδέσεις + μερικές φορές χρειάζονται ειδικά καλώδια και μπορεί να σας + ζητηθούν πολύπλοκες επικοινωνιακές ρυθμίσεις. Οι περισσότερες + σειριακές θύρες των Η/Υ έχουν μέγιστη ταχύτητα μετάδοσης + 115200 bps, κάνοντας δύσκολη την εργασία εκτύπωσης + γραφικών μεγάλων διαστάσεων. - printers - parallel - + εκτυπωτές + παράλληλοι + - Parallel interfaces use a - parallel port on your computer to send data to the - printer. Parallel interfaces are common in the PC market - and are faster than RS-232 serial. - Cables are readily available but more difficult to - construct by hand. There are usually no communications - options with parallel interfaces, making their - configuration exceedingly simple. + Οι Παράλληλες διασυνδέσεις + χρησιμοποιούν την παράλληλη θύρα του υπολογιστή σας για να + στέλνουν δεδομένα στον εκτυπωτή. Οι παράλληλες διασυνδέσεις + είναι διαδεδομένες στο εμπόριο και είναι γρηγορότερες από τις + σειριακές RS-232. Τα καλώδια διατίθενται έτοιμα, αλλά είναι + δυσκολότερο να κατασκευαστούν χειρωνακτικά. Με τις παράλληλες + διασυνδέσεις δεν προβλέπονται επιλογές ρύθμισης επικοινωνίας, + κάνοντας την ρύθμιση τους εξαιρετικά απλή. - centronics - parallel printers + centronics + παράλληλοι εκτυπωτές - Parallel interfaces are sometimes known as - Centronics interfaces, named after the - connector type on the printer. + Οι παράλληλες διασυνδέσεις είναι γνωστές και ως + διασυνδέσεις Centronics, ονομασία προερχόμενη + από τον τύπο του ακροδέκτη του εκτυπωτή. - printers - USB - + εκτυπωτές + USB + - USB interfaces, named for the Universal Serial - Bus, can run at even faster speeds than parallel or - RS-232 serial interfaces. Cables are simple and cheap. - USB is superior to RS-232 Serial and to Parallel for - printing, but it is not as well supported under &unix; - systems. A way to avoid this problem is to purchase a - printer that has both a USB interface and a Parallel - interface, as many printers do. + Οι διασυνδέσεις USB, συντομογραφία από το Universal + Serial Bus, δουλεύουν σε ακόμη μεγαλύτερες ταχύτητες από την + παράλληλη και την RS-232 σειριακή διασύνδεση. Τα καλώδια τους + είναι απλά και φτηνά. Η USB είναι ανώτερη από την Σειριακή + RS-232 και από την Παράλληλη στην εκτύπωση, αλλά δυστυχώς δεν + υποστηρίζεται καλά από τα συστήματα &unix;. Ένας τρόπος για + να αποφύγετε αυτό το πρόβλημα είναι να αγοράσετε εκτυπωτή + που φέρει διασύνδεση USB και Παράλληλη, όπως συμβαίνει με + πολλούς εκτυπωτές. - In general, Parallel interfaces usually offer just - one-way communication (computer to printer) while serial - and USB gives you two-way. Newer parallel ports (EPP and - ECP) and printers - can communicate in both directions under FreeBSD when a - IEEE-1284-compliant cable is used. + Γενικά, οι Παράλληλες διασυνδέσεις προσφέρουν συνήθως + μίας κατεύθυνσης επικοινωνία (από τον υπολογιστή στον εκτυπωτή) + ενώ η σειριακή και η USB δίνουν αμφίδρομη. Στο &os; οι πιο + πρόσφατες παράλληλες θύρες (EPP και ECP) καταφέρνουν + αμφίδρομη επικοινωνία με τους εκτυπωτές, όταν χρησιμοποιούνται + καλώδια που συμμορφώνονται με το πρότυπο IEEE-1284. PostScript - Two-way communication to the printer over a parallel - port is generally done in one of two ways. The first method - uses a custom-built printer driver for FreeBSD that speaks - the proprietary language used by the printer. This is - common with inkjet printers and can be used for reporting - ink levels and other status information. The second - method is used when the printer supports - &postscript;. + Η αμφίδρομη επικοινωνία με εκτυπωτές διαμέσου παράλληλης + θύρας μπορεί να επιτευχθεί γενικά με δύο τρόπους. Ο πρώτος τρόπος + χρησιμοποιεί ένα προσαρμοσμένο πρόγραμμα οδήγησης εκτυπωτή, ώστε + να μπορεί το &os; να συνομιλεί στην γλώσσα του εκτυπωτή. Αυτό + είναι σύνηθες με εκτυπωτές inkjet και μπορεί επίσης να + χρησιμοποιηθεί για αναφορές διαθέσιμης ποσότητας μελανιού και για + άλλες πληροφορίες λειτουργίας. Η δεύτερη μέθοδος χρησιμοποιείται + όταν ο εκτυπωτής έχει δυνατότητα υποστήριξης &postscript;. - &postscript; jobs are - actually programs sent to the printer; they need not produce - paper at all and may return results directly to the computer. - &postscript; also uses two-way communication to tell the - computer about problems, such as errors in the &postscript; - program or paper jams. Your users may be appreciative of such - information. Furthermore, the best way to do effective - accounting with a &postscript; printer requires two-way - communication: you ask the printer for its page count (how - many pages it has printed in its lifetime), then send the - user's job, then ask again for its page count. Subtract the - two values and you know how much paper to charge to the - user. + Οι εργασίες &postscript; είναι στην πραγματικότητα προγράμματα + που αποστέλλονται στον εκτυπωτή, δεν είναι απαραίτητο να παράγουν + εκτυπώσεις, ενώ μπορούν να επιστρέψουν το αποτέλεσμα τους + απευθείας στον υπολογιστή. Το &postscript; χρησιμοποιεί + αμφίδρομη επικοινωνία για να ενημερώσει τον υπολογιστή για τυχόν + προβλήματα, όπως σφάλματα στο πρόγραμμα &postscript; ή + μπλοκάρισμα τροφοδοσίας χαρτιού. Οι χρήστες σας, θα σας είναι + ευγνώμονες για αυτές τις πληροφορίες. Επιπλέον, ο καλύτερος + τρόπος για να κάνετε σωστή καταμέτρηση με ένα αμφίδρομο εκτυπωτή + &postscript; είναι: να ρωτήσετε τον εκτυπωτή για την συνολική + καταμέτρηση των σελίδων του (πόσες σελίδες εκτύπωσε σε όλη τη + διάρκεια ζωής του), μετά να αποστείλετε την εργασία του χρήστη, + και έπειτα να ξαναρωτήσετε για την καταμέτρηση των σελίδων του. + Αφαιρέστε τις δύο τιμές και θα γνωρίζετε πόσες σελίδες να + χρεώσετε στον χρήστη. - + - Parallel Ports + Παράλληλες Θύρες - To hook up a printer using a parallel interface, connect - the Centronics cable between the printer and the computer. - The instructions that came with the printer, the computer, or - both should give you complete guidance. + Για να συνδέσετε έναν εκτυπωτή σε παράλληλη θύρα, συνδέστε + το καλώδιο Centronics μεταξύ εκτυπωτή και υπολογιστή. + Οι οδηγίες που συνοδεύουν τον εκτυπωτή και τον υπολογιστή θα σας + καθοδηγήσουν να ολοκληρώσετε την σύνδεση. - Remember which parallel port you used on the computer. - The first parallel port is ppc0 to - FreeBSD; the second is ppc1, and so - on. The printer device name uses the same scheme: - /dev/lpt0 for the printer on the first - parallel ports etc. + Θυμηθείτε ποια παράλληλη θύρα χρησιμοποιείτε στον υπολογιστή. + Η πρώτη παράλληλη θύρα στο &os; είναι η + ppc0, + η δεύτερη είναι η ppc1, + και ούτω καθεξής. Το όνομα συσκευής του εκτυπωτή χρησιμοποιεί + την ίδια αρίθμηση: + /dev/lpt0 για τον + εκτυπωτή στην πρώτη παράλληλη θύρα κ.τ.λ. - Serial Ports + Σειριακές Θύρες - To hook up a printer using a serial interface, connect the - proper serial cable between the printer and the computer. The - instructions that came with the printer, the computer, or both - should give you complete guidance. + Για να συνδέσετε έναν εκτυπωτή χρησιμοποιώντας σειριακή + διασύνδεση, συνδέστε το κατάλληλο σειριακό καλώδιο μεταξύ εκτυπωτή + και υπολογιστή. Οι οδηγίες που συνοδεύουν τον εκτυπωτή και τον + υπολογιστή σας, θα σας καθοδηγήσουν να ολοκληρώσετε την + σύνδεση. - If you are unsure what the proper serial - cable is, you may wish to try one of the following - alternatives: + Αν δεν είστε σίγουροι ποιο είναι το κατάλληλο σειριακό + καλώδιο, μπορείτε να δοκιμάσετε μία από τις ακόλουθες + εναλλακτικές: - A modem cable connects each pin - of the connector on one end of the cable straight through - to its corresponding pin of the connector on the other - end. This type of cable is also known as a - DTE-to-DCE cable. + Ένα καλώδιο modem ενώνει κάθε pin + του ακροδέκτη από τη μια πλευρά του καλωδίου κατευθείαν με + το αντίστοιχο pin του ακροδέκτη στο άλλο άκρο. Αυτός ο τύπος + καλωδίου είναι γνωστός και ως καλώδιο + DTE-to-DCE. null-modem cable - A null-modem cable connects some - pins straight through, swaps others (send data to receive - data, for example), and shorts some internally in each - connector hood. This type of cable is also known as a - DTE-to-DTE cable. + Ένα καλώδιο null-modem ενώνει + κατευθείαν μερικά pins, ανταλλάσσει μερικά άλλα (για + παράδειγμα, τα pins αποστολής και λήψης), ενώ + βραχυκυκλώνει μερικά άλλα, εσωτερικά, στο προστατευτικό + κάλυμμα κάθε ακροδέκτη. Αυτός ο τύπος καλωδίου είναι γνωστός + και ως καλώδιο DTE-to-DTE. - A serial printer cable, required - for some unusual printers, is like the null-modem cable, - but sends some signals to their counterparts instead of - being internally shorted. + Ένα καλώδιο σειριακού εκτυπωτή, που + απαιτείται από κάποιους λιγότερο συνηθισμένους εκτυπωτές, + είναι σαν το καλώδιο null-modem, αλλά στέλνει ισοδύναμα + σήματα και στα δύο άκρα αντί να τα βραχυκυκλώνει + εσωτερικά. - baud rate - parity - flow control protocol - You should also set up the communications parameters for - the printer, usually through front-panel controls or DIP - switches on the printer. Choose the highest - bps (bits per second, sometimes - baud rate) that both your computer - and the printer can support. Choose 7 or 8 data bits; none, - even, or odd parity; and 1 or 2 stop bits. Also choose a flow - control protocol: either none, or XON/XOFF (also known as - in-band or software) flow control. - Remember these settings for the software configuration that - follows. + ρυθμός baud + ισοδυναμία + πρωτόκολλο ελέγχου ροής + Θα πρέπει επίσης να ρυθμίσετε τις παραμέτρους επικοινωνίας + του εκτυπωτή, συνήθως από τον μπροστινό πίνακα ελέγχου ή από τους + DIP διακόπτες του. Επιλέξτε την μέγιστη τιμή + bps (bits per second = bits ανά δευτερόλεπτο, + αναφέρεται και ως ρυθμός baud) που + υποστηρίζουν ο υπολογιστής και ο εκτυπωτής σας. Επιλέξτε 7 ή 8 + data bits, none, even, ή odd parity, και 1 ή 2 stop bits. Επίσης + επιλέξτε ένα πρωτόκολλο ελέγχου ροής: είτε none, ή XON/XOFF + (αναφέρεται και ως έλεγχος ροής in-band ή + software). Να θυμάστε αυτές τις + ρυθμίσεις, για το στάδιο ρύθμισης λογισμικού που ακολουθεί. - Software Setup + Ρυθμίσεις Λογισμικού - This section describes the software setup necessary to print - with the LPD spooling system in FreeBSD. - + Αυτή η ενότητα περιγράφει τις αναγκαίες ρυθμίσεις που πρέπει + να γίνουν στο λογισμικό για να μπορείτε να εκτυπώνετε με το σύστημα + παροχέτευσης εκτυπωτών LPD στο + &os;. - Here is an outline of the steps involved: + Μια γενική άποψη των ενεργειών που πρέπει να ακολουθήσετε + είναι: - Configure your kernel, if necessary, for the port you - are using for the printer; section Kernel Configuration tells - you what you need to do. + Ρυθμίστε τον πυρήνα σας, αν είναι αναγκαίο, για την θύρα + που χρησιμοποιείτε για τον εκτυπωτή σας. Οι απαραίτητες + ρυθμίσεις περιγράφονται στην ενότητα Ρυθμίσεις Πυρήνα. - Set the communications mode for the parallel port, if - you are using a parallel port; section Setting the - Communication Mode for the Parallel Port gives - details. + Ρυθμίστε την κατάσταση επικοινωνίας για την παράλληλη θύρα, + αν πρόκειται να την χρησιμοποιήσετε. + Η ενότητα Ρυθμίσεις + Κατάστασης Επικοινωνίας για την Παράλληλη Θύρα περιέχει + λεπτομέρειες. - Test if the operating system can send data to the printer. - Section Checking Printer - Communications gives some suggestions on how to do - this. + Ελέγξτε αν το λειτουργικό σύστημα μπορεί να στείλει δεδομένα + στον εκτυπωτή. + Η ενότητα Έλεγχος Επικοινωνίας + του Εκτυπωτή παρέχει μερικές συμβουλές για το πως θα + μπορούσε να γίνει ο έλεγχος. - Set up LPD for the printer by - modifying the file - /etc/printcap. You will find out how - to do this later in this chapter. + Ρυθμίστε το LPD για τον εκτυπωτή + σας, τροποποιώντας το αρχείο /etc/printcap. + Θα βρείτε οδηγίες για αυτές τις ρυθμίσεις σε επόμενο τμήμα αυτού + του κεφαλαίου. - Kernel Configuration + Ρυθμίσεις Πυρήνα - The operating system kernel is compiled to work with a - specific set of devices. The serial or parallel interface for - your printer is a part of that set. Therefore, it might be - necessary to add support for an additional serial or parallel - port if your kernel is not already configured for one. + Ο πυρήνας του λειτουργικού συστήματος έχει μεταγλωττιστεί έτσι + ώστε να δουλεύει με ένα συγκεκριμένο σύνολο συσκευών. Η σειριακή + και η παράλληλη διασύνδεση του εκτυπωτή είναι μέρος αυτού του + συνόλου. Επομένως, ίσως να είναι αναγκαίο να προσθέσετε + υποστήριξη για κάποια πρόσθετη σειριακή ή παράλληλη θύρα, αν δεν + είναι ήδη ρυθμισμένη στον πυρήνα σας. - To find out if the kernel you are currently using supports - a serial interface, type: + Για να ελέγξετε αν ο πυρήνας σας μπορεί να υποστηρίξει μια + σειριακή διασύνδεση, πληκτρολογήστε: - &prompt.root; grep sioN /var/run/dmesg.boot + &prompt.root; grep sioN /var/run/dmesg.boot - Where N is the number of the - serial port, starting from zero. If you see output similar to - the following: + Όπου N είναι ο αριθμός της + σειριακής θύρας, ξεκινώντας από το μηδέν. Αν δείτε στην έξοδο του + τερματικού σας κάτι παρόμοιο με: sio2 at port 0x3e8-0x3ef irq 5 on isa sio2: type 16550A - then the kernel supports the port. + τότε ο πυρήνας υποστηρίζει αυτή τη θύρα. - To find out if the kernel supports a parallel interface, - type: + Για να ελέγξετε αν ο πυρήνας σας υποστηρίζει παράλληλες + διασυνδέσεις, πληκτρολογήστε: - &prompt.root; grep ppcN /var/run/dmesg.boot + &prompt.root; grep ppcN /var/run/dmesg.boot + + Όπου N είναι ο αριθμός της + παράλληλης θύρας, ξεκινώντας από το μηδέν. Αν δείτε στην έξοδο + του τερματικού σας κάτι παρόμοιο με: - Where N is the number of the - parallel port, starting from zero. If you see output similar - to the following: - ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold - - then the kernel supports the port. - You might have to reconfigure your kernel in order for the - operating system to recognize and use the parallel or serial - port you are using for the printer. + τότε ο πυρήνας υποστηρίζει αυτή τη θύρα. - To add support for a serial port, see the section on - kernel configuration. To add support for a parallel port, see - that section and the section that - follows. + Για να μπορεί το λειτουργικό σύστημα να αναγνωρίζει και να + χρησιμοποιεί την θύρα (παράλληλη ή σειριακή) για τον εκτυπωτή σας, + ίσως χρειαστεί να επαναπροσαρμόσετε τον πυρήνα σας. + + Για την υποστήριξη σειριακής θύρας, δείτε την ενότητα στις + ρυθμίσεις του πυρήνα. Για την υποστήριξη παράλληλης θύρας, δείτε + την ίδια ενότητα και την ενότητα που + ακολουθεί. - - Setting the Communication Mode for the Parallel - Port - When you are using the parallel interface, you can choose - whether FreeBSD should use interrupt-driven or polled - communication with the printer. The generic printer - device driver (&man.lpt.4;) on FreeBSD - uses the &man.ppbus.4; system, which controls the port - chipset with the &man.ppc.4; driver. + + Ρυθμίσεις Κατάστασης Επικοινωνίας για την Παράλληλη + Θύρα - - - The interrupt-driven method is - the default with the GENERIC kernel. With this method, - the operating system uses an IRQ line to determine when - the printer is ready for data. - + Όταν χρησιμοποιείτε την παράλληλη διασύνδεση, μπορείτε να + επιλέξετε αν η επικοινωνία του &os; με τον εκτυπωτή θα είναι + τύπου interrupt-driven ή polled. Ο γενικός οδηγός συσκευής του + εκτυπωτή (&man.lpt.4;) στο &os; χρησιμοποιεί το σύστημα + &man.ppbus.4;, το οποίο ελέγχει την θύρα του chipset + με τον οδηγό &man.ppc.4;. - - The polled method directs the - operating system to repeatedly ask the printer if it is - ready for more data. When it responds ready, the kernel - sends more data. - - + + + Η μέθοδος interrupt-driven είναι + προεπιλεγμένη στον πυρήνα GENERIC. Με αυτή τη μέθοδο, + το λειτουργικό σύστημα χρησιμοποιεί ένα σήμα IRQ για να + προσδιορίσει αν ο εκτυπωτής είναι έτοιμος για δεδομένα. + - The interrupt-driven method is usually somewhat faster - but uses up a precious IRQ line. Some newer HP printers - are claimed not to work correctly in interrupt mode, - apparently due to some (not yet exactly understood) timing - problem. These printers need polled mode. You should use - whichever one works. Some printers will work in both - modes, but are painfully slow in interrupt mode. + + Η μέθοδος polled οδηγεί το + λειτουργικό σύστημα να ζητά κατά επανάληψη από τον εκτυπωτή + αν είναι έτοιμος για πρόσθετα δεδομένα. Όταν απαντήσει θετικά, + ο πυρήνας στέλνει πρόσθετα δεδομένα. + + - You can set the communications mode in two ways: by - configuring the kernel or by using the &man.lptcontrol.8; - program. + Η μέθοδος interrupt-driven είναι συνήθως κάπως γρηγορότερη + αλλά χρησιμοποιεί μια πολύτιμη γραμμή IRQ. Έχει παρατηρηθεί πως + κάποιοι σύγχρονοι εκτυπωτές HP δε δουλεύουν σωστά σε κατάσταση + interrupt, πιθανώς λόγω κάποιων (όχι απόλυτα εξακριβωμένων) + προβλημάτων συγχρονισμού. Αυτοί οι εκτυπωτές χρειάζονται την μέθοδο + polled. Θα πρέπει να χρησιμοποιείτε την αποτελεσματικότερη + κατάσταση λειτουργίας. Κάποιοι εκτυπωτές δουλεύουν και στις δυο + καταστάσεις, αλλά είναι οδυνηρά αργοί στην κατάσταση λειτουργίας + interrupt. - To set the communications mode by configuring - the kernel: + Μπορείτε να ρυθμίσετε την κατάσταση επικοινωνίας με δύο + τρόπους: ρυθμίζοντας τον πυρήνα ή χρησιμοποιώντας το πρόγραμμα + &man.lptcontrol.8;. - - - Edit your kernel configuration file. Look for - an ppc0 entry. If you are setting up - the second parallel port, use ppc1 - instead. Use ppc2 for the third port, - and so on. + Για να θέσετε την κατάσταση επικοινωνίας ρυθμίζοντας + τον πυρήνα: - - - If you want interrupt-driven mode, edit the following line: + + + Επεξεργαστείτε το αρχείο ρύθμισης του πυρήνα. Δείτε την + καταχώριση ppc0. Αν εγκαθιστάτε την + δεύτερη παράλληλη θύρα, τότε χρησιμοποιείστε + ppc1. Για την τρίτη θύρα + ppc2 και ούτω καθεξής. - hint.ppc.0.irq="N" + + + Αν επιθυμείτε κατάσταση λειτουργίας interrupt-driven, + επεξεργαστείτε την ακόλουθη γραμμή: - in the /boot/device.hints file - and replace N with the right - IRQ number. The kernel configuration file must - also contain the &man.ppc.4; driver: + hint.ppc.0.irq="N" - device ppc + στο αρχείο /boot/device.hints και + αντικαταστήστε το N με τον + σωστό αριθμό IRQ. Το αρχείο ρύθμισης του πυρήνα πρέπει + επίσης να περιέχει τον οδηγό &man.ppc.4;: - + device ppc + - - If you want polled mode, remove in your - /boot/device.hints file, the - following line: + + Αν επιθυμείτε κατάσταση λειτουργίας polled, διαγράψτε + από το αρχείο /boot/device.hints, την + ακόλουθη γραμμή: - hint.ppc.0.irq="N" + hint.ppc.0.irq="N" - In some cases, this is not enough to put the - port in polled mode under FreeBSD. Most of - time it comes from &man.acpi.4; driver, this latter - is able to probe and attach devices, and therefore, - control the access mode to the printer port. You - should check your &man.acpi.4; configuration to - correct this problem. - - - + Σε μερικές περιπτώσεις, το παραπάνω δεν είναι αρκετό + για να θέσετε την θύρα σε κατάσταση polled. Τις + περισσότερες φορές το πρόβλημα προέρχεται από τον οδηγό + &man.acpi.4;, ο οποίος έχει την ευχέρεια να εξετάζει και + να προσαρτά συσκευές, και επομένως, να ελέγχει τον τρόπο + πρόσβασης στην θύρα του εκτυπωτή. Θα πρέπει να ελέγξετε + τις ρυθμίσεις του &man.acpi.4; για να διορθώσετε αυτό το + πρόβλημα. + + + - - Save the file. Then configure, build, and install the - kernel, then reboot. See kernel configuration for - more details. - - + + Αποθηκεύστε το αρχείο. Ρυθμίστε, μεταγλωττίστε, και + εγκαταστήστε τον πυρήνα, και έπειτα κάντε επανεκκίνηση. + Για περισσότερες λεπτομέρειες, δείτε τις ρυθμίσεις του πυρήνα. + + - To set the communications mode with - &man.lptcontrol.8;: + Για να θέσετε την κατάσταση επικοινωνίας με + το &man.lptcontrol.8;: - - - Type: + + + Πληκτρολογήστε: - &prompt.root; lptcontrol -i -d /dev/lptN + &prompt.root; lptcontrol /dev/lptN - to set interrupt-driven mode for - lptN. - + για να θέσετε την κατάσταση λειτουργίας interrupt-driven + για το lptN. + - - Type: + + Πληκτρολογήστε: - &prompt.root; lptcontrol -p -d /dev/lptN + &prompt.root; lptcontrol /dev/lptN - to set polled-mode for - lptN. - - + για να θέσετε την κατάσταση λειτουργίας polled για το + lptN. + + - You could put these commands in your - /etc/rc.local file to set the mode each - time your system boots. See &man.lptcontrol.8; for more - information. - + Θα μπορούσατε να καταχωρίσετε αυτές τις εντολές στο + δικό σας αρχείο /etc/rc.local. Έτσι θα + εκτελούνται αυτόματα κατά την εκκίνηση + του συστήματος σας. Για περισσότερες πληροφορίες δείτε το + &man.lptcontrol.8;. + - - Checking Printer Communications + + Έλεγχος Επικοινωνίας του Εκτυπωτή - Before proceeding to configure the spooling system, you - should make sure the operating system can successfully send - data to your printer. It is a lot easier to debug printer - communication and the spooling system separately. + Πριν συνεχίσουμε να ρυθμίζουμε το σύστημα παροχέτευσης, θα + πρέπει να βεβαιωθείτε ότι το λειτουργικό σύστημα μπορεί να στείλει + επιτυχώς δεδομένα στον εκτυπωτή σας. Είναι ευκολότερο να κάνουμε + ξεχωριστά την αποσφαλμάτωση επικοινωνίας του εκτυπωτή και την + αποσφαλμάτωση του συστήματος παροχέτευσης. - To test the printer, we will send some text to it. For - printers that can immediately print characters sent to them, - the program &man.lptest.1; is perfect: it generates all 96 - printable ASCII characters in 96 lines. + Θα ελέγξουμε τον εκτυπωτή στέλνοντας μερικά δεδομένα κειμένου. + Για εκείνους τους εκτυπωτές που μπορούν να εκτυπώνουν άμεσα + τους χαρακτήρες που έχουν αποσταλεί, το πρόγραμμα &man.lptest.1; + είναι τέλειο: Παράγει όλους τους εκτυπώσιμους χαρακτήρες (96) + ASCII σε 96 γραμμές. - PostScript - For a &postscript; (or other language-based) printer, we - will need a more sophisticated test. A small &postscript; - program, such as the following, will suffice: + PostScript + Για εκτυπωτές &postscript; (ή που βασίζονται σε άλλη γλώσσα), + θα χρειαστεί να κάνουμε ένα πιο πολύπλοκο τεστ. Ένα μικρό + πρόγραμμα &postscript;, όπως αυτό που ακολουθεί, επαρκεί: - %!PS + %!PS 100 100 moveto 300 300 lineto stroke 310 310 moveto /Helvetica findfont 12 scalefont setfont (Is this thing working?) show showpage - The above &postscript; code can be placed into a file and - used as shown in the examples appearing in the following - sections. + Ο παραπάνω κώδικας &postscript; μπορεί να τοποθετηθεί σε ένα + αρχείο και να χρησιμοποιηθεί όπως υποδεικνύουν τα παραδείγματα + στις ακόλουθες ενότητες. - PCL - - When this document refers to a printer language, it is - assuming a language like &postscript;, and not Hewlett - Packard's PCL. Although PCL has great functionality, you - can intermingle plain text with its escape sequences. - &postscript; cannot directly print plain text, and that is the - kind of printer language for which we must make special - accommodations. - + PCL + + Όταν αυτό το έγγραφο αναφέρεται σε μια γλώσσα εκτυπωτή, + εννοείται μια γλώσσα όπως η &postscript;, αλλά όχι η PCL της + Hewlett Packard — η PCL είναι μια γλώσσα ευρείας + λειτουργικότητας η οποία επιτρέπει την ανάμιξη απλού κειμένου με + ακολουθίες διαφυγής. Η &postscript; δεν μπορεί να εκτυπώσει + άμεσα απλό κείμενο, και αυτός είναι ακριβώς ο τύπος της + γλώσσας εκτυπωτή που θα πρέπει να διευθετήσουμε + κατάλληλα. + - - Checking a Parallel Printer + + Έλεγχος Παράλληλου Εκτυπωτή - - printers - parallel - - This section tells you how to check if FreeBSD can - communicate with a printer connected to a parallel - port. + + εκτυπωτές + παράλληλη + + Αυτή η ενότητα υποδεικνύει πως να ελέγξετε αν το &os; μπορεί + να επικοινωνήσει με έναν εκτυπωτή συνδεδεμένο σε παράλληλη + θύρα. - To test a printer on a parallel - port: + Για να ελέγξετε έναν εκτυπωτή σε παράλληλη + θύρα: - - - Become root with &man.su.1;. - + + + Γίνετε root με &man.su.1;. + - - Send data to the printer. + + Στείλτε δεδομένα στον εκτυπωτή. - - - If the printer can print plain text, then use - &man.lptest.1;. Type: + + + Αν ο εκτυπωτής μπορεί να εκτυπώσει απλό κείμενο, + τότε χρησιμοποιήστε το &man.lptest.1;. + Πληκτρολογήστε: - &prompt.root; lptest > /dev/lptN + &prompt.root; lptest > /dev/lptN - Where N is the number - of the parallel port, starting from zero. - + Όπου N είναι ο αριθμός + της παράλληλης θύρας, ξεκινώντας από το μηδέν. + - - If the printer understands &postscript; or other - printer language, then send a small program to the - printer. Type: + + Εάν ο εκτυπωτής καταλαβαίνει &postscript; ή κάποια + άλλη γλώσσα εκτυπωτών, τότε στείλτε ένα μικρό πρόγραμμα + στον εκτυπωτή. Πληκτρολογήστε: - &prompt.root; cat > /dev/lptN + &prompt.root; cat > /dev/lptN - Then, line by line, type the program - carefully as you cannot edit a - line once you have pressed RETURN - or ENTER. When you have finished - entering the program, press - CONTROL+D, or whatever your end - of file key is. + Έπειτα πληκτρολογήστε το πρόγραμμα μία προς μία + γραμμή, προσεκτικά, γιατί δεν + μπορείτε να επεξεργαστείτε μια γραμμή αφότου έχετε + πιέσει το πλήκτρο RETURN ή + ENTER. Αφού τελειώσετε με την + καταχώριση του προγράμματος, πιέστε + CONTROL+D, ή άλλο πλήκτρο + τερματισμού αρχείου. - Alternatively, you can put the program in a file - and type: + Εναλλακτικά, μπορείτε να τοποθετήσετε το πρόγραμμα + σε ένα αρχείο και να πληκτρολογήσετε: - &prompt.root; cat file > /dev/lptN + &prompt.root; cat file > /dev/lptN - Where file is the - name of the file containing the program you want to - send to the printer. - - - - + Όπου file είναι το + όνομα του αρχείου που περιέχει το πρόγραμμα που θέλετε + να στείλετε στον εκτυπωτή. + + + + - You should see something print. Do not worry if the - text does not look right; we will fix such things - later. - + Θα δείτε κάτι να εκτυπώνεται. Μην ανησυχείτε αν το κείμενο + δεν φαίνεται σωστό. Θα το διορθώσουμε αργότερα. + - - Checking a Serial Printer + + Έλεγχος Σειριακού Εκτυπωτή - - printers - serial - - This section tells you how to check if FreeBSD can - communicate with a printer on a serial port. + + printers + serial + + Αυτή η ενότητα υποδεικνύει πως να ελέγξετε αν το &os; μπορεί + να επικοινωνήσει με έναν εκτυπωτή συνδεδεμένο σε σειριακή + θύρα. - To test a printer on a serial - port: + Για να ελέγξετε έναν εκτυπωτή σε σειριακή + θύρα: - - - Become root with &man.su.1;. - + + + Γίνετε root με &man.su.1;. + - - Edit the file /etc/remote. Add - the following entry: + + Επεξεργαστείτε το αρχείο + /etc/remote. Προσθέστε την ακόλουθη + καταχώριση: - printer:dv=/dev/port:br#bps-rate:pa=parity + printer:dv=/dev/port:br#bps-rate:pa=parity - bits-per-second - serial port - parity - Where port is the device - entry for the serial port (ttyd0, - ttyd1, etc.), - bps-rate is the - bits-per-second rate at which the printer communicates, - and parity is the parity - required by the printer (either even, - odd, none, or - zero). + bits-per-second + serial port + parity + Όπου port είναι η + καταχώριση συσκευής για την σειριακή πόρτα + (ttyd0, ttyd1, κτλ.), + bps-rate είναι η ταχύτητα + bits-per-second επικοινωνίας με τον εκτυπωτή, και + parity η ισοτιμία που + απαιτείται από τον εκτυπωτή (even, + odd, none, ή + zero). - Here is a sample entry for a printer connected via - a serial line to the third serial port at 19200 bps with - no parity: + Παρακάτω φαίνεται ένα υπόδειγμα καταχώρισης, για έναν + εκτυπωτή συνδεδεμένο μέσω σειριακής γραμμής στην τρίτη + σειριακή θύρα με ταχύτητα 19200 bps και χωρίς + parity: - printer:dv=/dev/ttyd2:br#19200:pa=none - + printer:dv=/dev/ttyd2:br#19200:pa=none + - - Connect to the printer with &man.tip.1;. - Type: + + Συνδεθείτε στον εκτυπωτή με &man.tip.1;. + Πληκτρολογήστε: - &prompt.root; tip printer + &prompt.root; tip printer - If this step does not work, edit the file - /etc/remote again and try using - /dev/cuaaN - instead of - /dev/ttydN. - + Αν αυτό το στάδιο δεν δουλεύει, επεξεργαστείτε πάλι το + αρχείο /etc/remote και προσπαθήστε το + χρησιμοποιώντας + /dev/cuaaN + αντί για + /dev/ttydN. + - - Send data to the printer. + + Στείλτε δεδομένα στον εκτυπωτή. - - - If the printer can print plain text, then use - &man.lptest.1;. Type: + + + Αν ο εκτυπωτής μπορεί να εκτυπώσει απλό κείμενο, + χρησιμοποιήστε &man.lptest.1;. Γράψτε: - &prompt.user; $lptest - + &prompt.user; $lptest + - - If the printer understands &postscript; or other - printer language, then send a small program to the - printer. Type the program, line by line, - very carefully as backspacing - or other editing keys may be significant to the - printer. You may also need to type a special - end-of-file key for the printer so it knows it - received the whole program. For &postscript; - printers, press CONTROL+D. + + Εάν ο εκτυπωτής καταλαβαίνει &postscript; ή κάποια + άλλη γλώσσα εκτυπωτών, τότε στείλτε ένα μικρό πρόγραμμα + στον εκτυπωτή. Πληκτρολογήστε το πρόγραμμα, μία προς μία + γραμμή, πολύ προσεκτικά, καθώς + ο εκτυπωτής μπορεί να ερμηνεύει διαφορετικά την χρήση + χαρακτήρων όπως το backspace ή άλλων που παράγονται από + διάφορα πλήκτρα επεξεργασίας. Μπορεί επίσης να + χρειαστεί να πληκτρολογήσετε κάποιο ειδικό πλήκτρο + τερματισμού αρχείου για τον εκτυπωτή ώστε να γνωρίζει + πότε ολοκληρώνεται το πρόγραμμα. Για εκτυπωτές + &postscript;, πιέστε + CONTROL+D. - Alternatively, you can put the program in a file - and type: + Εναλλακτικά, μπορείτε να τοποθετήσετε το πρόγραμμα + σε ένα αρχείο και να πληκτρολογήσετε: - &prompt.user; >file + &prompt.user; >file - Where file is the - name of the file containing the program. After - &man.tip.1; sends the file, press any required - end-of-file key. - - - - + Όπου file είναι το + όνομα του αρχείου που περιέχει το πρόγραμμα. Αφού το + &man.tip.1; στείλει το αρχείο, πιέστε το κατάλληλο + πλήκτρο τερματισμού αρχείου, αν απαιτείται. + + + + - You should see something print. Do not worry if the - text does not look right; we will fix that later. - - + Θα δείτε κάτι να εκτυπώνεται. Μην ανησυχείτε αν το + κείμενο δεν φαίνεται σωστό. Θα το διορθώσουμε αργότερα. + + - Enabling the Spooler: the <filename>/etc/printcap</filename> - File + Ενεργοποίηση του Spooler: το Αρχείο + <filename>/etc/printcap</filename> - At this point, your printer should be hooked up, your kernel - configured to communicate with it (if necessary), and you have - been able to send some simple data to the printer. Now, we are - ready to configure LPD to control access - to your printer. + Σε αυτό το σημείο, ο εκτυπωτής σας θα πρέπει να είναι + συνδεμένος, ο πυρήνας σας ρυθμισμένος να επικοινωνεί μαζί του + (αν χρειάζεται), και έχετε πετύχει να στείλετε κάποια δοκιμαστικά + δεδομένα στον εκτυπωτή. Είστε τώρα έτοιμοι να ρυθμίσετε το + LPD για να ελέγχετε την πρόσβαση + στον εκτυπωτή σας. - You configure LPD by editing the file - /etc/printcap. The - LPD spooling system - reads this file each time the spooler is used, so updates to the - file take immediate effect. + Μπορείτε να ρυθμίσετε το LPD + με επεξεργασία του αρχείου /etc/printcap. + Το σύστημα παροχέτευσης LPD + διαβάζει αυτό το αρχείο κάθε φορά που χρησιμοποιείται ο spooler, + επομένως πιθανές αναβαθμίσεις του μπαίνουν άμεσα σε εφαρμογή. - printers - capabilities - - The format of the &man.printcap.5; file is straightforward. - Use your favorite text editor to make changes to - /etc/printcap. The format is identical to - other capability files like - /usr/share/misc/termcap and - /etc/remote. For complete information - about the format, see the &man.cgetent.3;. + εκτυπωτές + ικανότητες + + Είναι εύκολο να κατανοήσετε την μορφή του αρχείου + &man.printcap.5;. Χρησιμοποιήστε τον κειμενογράφο που προτιμάτε + για να κάνετε αλλαγές στο /etc/printcap. Η + μορφή του είναι παρόμοια με άλλα αρχεία περιγραφής δυνατοτήτων, + όπως τα /usr/share/misc/termcap και + /etc/remote. Δείτε την &man.cgetent.3; + για λεπτομερείς πληροφορίες σχετικά με την μορφή του αρχείου. - The simple spooler configuration consists of the following - steps: + Η πιο απλή ρύθμιση του spooler αποτελείται από τα ακόλουθα + βήματα: - Pick a name (and a few convenient aliases) for the - printer, and put them in the - /etc/printcap file; see the - Naming the Printer - section for more information on naming. + Επιλέξτε ένα όνομα (και λίγα βολικά παρωνύμια) για τον + εκτυπωτή, και τοποθετήστε τα στο αρχείο + /etc/printcap. + Δείτε την ενότητα Ονοματοδότηση Εκτυπωτή για + περισσότερες πληροφορίες σχετικά με την ονομασία των + εκτυπωτών. - header pages + σελίδες κεφαλίδας - Turn off header pages (which are on by default) by - inserting the sh capability; see the - Suppressing Header - Pages section for more information. + Απενεργοποιήστε τις σελίδες κεφαλίδας (είναι ενεργές από + προεπιλογή) εισάγοντας την ικανότητα sh. + Για περισσότερες πληροφορίες δείτε την ενότητα Παρεμπόδιση Σελίδων + Κεφαλίδας. - Make a spooling directory, and specify its location with - the sd capability; see the Making the Spooling - Directory section for more information. + Δημιουργήστε ένα κατάλογο παροχέτευσης, και καθορίστε την + τοποθεσία του με την ικανότητα sd. Για + περισσότερες πληροφορίες δείτε την ενότητα Δημιουργία Καταλόγου + Παροχέτευσης. - Set the /dev entry to use for the - printer, and note it in /etc/printcap - with the lp capability; see the Identifying the Printer - Device for more information. Also, if the printer is - on a serial port, set up the communication parameters with - the ms# capability which is discussed in the Configuring Spooler - Communications Parameters section. + Καθορίστε την κατάλληλη καταχώριση + /dev + για τον εκτυπωτή, και σημειώστε τη στο + /etc/printcap με την ικανότητα + lp. Για περισσότερες πληροφορίες, δείτε την + ενότητα Αναγνώριση της Συσκευής + Εκτύπωσης. Επίσης, αν ο εκτυπωτής είναι σε σειριακή + θύρα, εγκαταστήστε τις παραμέτρους επικοινωνίας με την ικανότητα + ms# η οποία αναλύεται στην ενότητα Ρυθμίσεις Παραμέτρων Επικοινωνίας + του Spooler. - Install a plain text input filter; see the Installing the Text - Filter section for details. + Εγκαταστήστε φίλτρα εισόδου απλού κειμένου. Δείτε την + ενότητα Εγκατάσταση Φίλτρου + Κειμένου για περισσότερες πληροφορίες. - Test the setup by printing something with the - &man.lpr.1; command. More details are available in the - Trying It Out and - Troubleshooting - sections. + Ελέγξτε την εγκατάσταση εκτυπώνοντας οτιδήποτε με την + εντολή &man.lpr.1;. Περισσότερες πληροφορίες είναι διαθέσιμες + στις ενότητες Δοκιμή του + Spooler και Εντοπισμός Βλαβών. - Language-based printers, such as &postscript; printers, - cannot directly print plain text. The simple setup outlined - above and described in the following sections assumes that if - you are installing such a printer you will print only files - that the printer can understand. + Εκτυπωτές που βασίζονται σε γλώσσες εκτύπωσης, όπως οι + εκτυπωτές &postscript;, δεν μπορούν να εκτυπώσουν άμεσα απλό + κείμενο. Ο απλός τρόπος ρύθμισης που δείξαμε παραπάνω και + που θα περιγράψουμε εκτενέστερα στις επόμενες ενότητες, + προϋποθέτει πως αν ρυθμίζετε έναν τέτοιο εκτυπωτή θα μπορείτε να + εκτυπώσετε μόνον αρχεία γραμμένα στη γλώσσα του. - Users often expect that they can print plain text to any of - the printers installed on your system. Programs that interface - to LPD to do their printing usually - make the same assumption. - If you are installing such a printer and want to be able to - print jobs in the printer language and - print plain text jobs, you are strongly urged to add an - additional step to the simple setup outlined above: install an - automatic plain-text-to-&postscript; (or other printer language) - conversion program. The section entitled Accommodating Plain - Text Jobs on &postscript; Printers tells how to do - this. + Οι χρήστες συνήθως νομίζουν πως μπορούν να εκτυπώσουν απλό + κείμενο σε όλους τους εκτυπωτές που είναι εγκατεστημένοι στο + σύστημα τους. Τα προγράμματα που χρησιμοποιούν το + LPD για να εκτυπώσουν, κάνουν ακριβώς + την ίδια υπόθεση. Αν προσπαθείτε να εγκαταστήσετε έναν τέτοιο + εκτυπωτή και θέλετε να μπορείτε να τυπώνετε εργασίες στην γλώσσα + του εκτυπωτή αλλά και σε απλό κείμενο, σας + συνιστούμε να προσθέσετε ένα επιπλέον βήμα στην διαδικασία + εγκατάστασης που περιγράψαμε παραπάνω: Εγκαταστήστε ένα πρόγραμμα + αυτόματης μετατροπής από απλό κείμενο σε PostScript (ή σε άλλη + γλώσσα εκτυπωτή). Η ενότητα Συμβατότητα Εργασιών + Απλού Κειμένου σε εκτυπωτές &postscript; εξηγεί πως να + ενεργήσετε. - Naming the Printer + Ονοματοδότηση Εκτυπωτή - The first (easy) step is to pick a name for your printer. - It really does not matter whether you choose functional or - whimsical names since you can also provide a number of aliases - for the printer. + Το πρώτο (εύκολο) βήμα είναι να επιλέξετε όνομα για τον + εκτυπωτή σας. Δεν έχει σημασία αν θα προτιμήσετε ένα λειτουργικό + ή κάποιο εξωτικό όνομα αφού μπορείτε επίσης να προσθέσετε και + μερικά παρωνύμια (aliases) για τον ίδιο εκτυπωτή. - At least one of the printers specified in the - /etc/printcap should have the alias - lp. This is the default printer's name. - If users do not have the PRINTER environment - variable nor specify a printer name on the command line of any - of the LPD commands, - then lp will be the - default printer they get to use. + Τουλάχιστον ένας από τους εκτυπωτές που αναφέρονται στο + /etc/printcap θα πρέπει να έχει το + παρωνύμιο lp. Αυτή είναι η ονομασία του + προεπιλεγμένου εκτυπωτή. Εάν οι χρήστες δεν έχουν την μεταβλητή + περιβάλλοντος PRINTER και δεν αναφέρουν κάποιο + όνομα εκτυπωτή στην γραμμή εντολών με οποιαδήποτε εντολή + LPD, τότε ο lp θα + είναι ο προεπιλεγμένος εκτυπωτής για τις εκτυπώσεις τους. - Also, it is common practice to make the last alias for a - printer be a full description of the printer, including make - and model. + Επίσης, είναι κοινή πρακτική το τελευταίο alias του εκτυπωτή + να είναι μια πλήρης περιγραφή του εκτυπωτή, που να περιλαμβάνει + τον κατασκευαστή και το μοντέλο. - Once you have picked a name and some common aliases, put - them in the /etc/printcap file. The name - of the printer should start in the leftmost column. Separate - each alias with a vertical bar and put a colon after the last - alias. + Αφού επιλέξετε μια ονομασία και μερικά συνήθη παρωνύμια, + καταχωρίστε τα στο αρχείο /etc/printcap. + Το όνομα του εκτυπωτή θα πρέπει να αναφέρεται πρώτο στο αριστερό + άκρο. Διαχωρίστε κάθε παρωνύμιο με μια κάθετη μπάρα και + τοποθετήστε μια άνω-κάτω τελεία μετά το τελευταίο + παρωνύμιο. - In the following example, we start with a skeletal - /etc/printcap that defines two printers - (a Diablo 630 line printer and a Panasonic KX-P4455 &postscript; - laser printer): + Στο ακόλουθο παράδειγμα, ξεκινάμε με ένα εντελώς βασικό + /etc/printcap που ορίζει δύο εκτυπωτές (έναν + εκτυπωτή γραμμής Diablo 630 και έναν εκτυπωτή &postscript; laser + Panasonic KX-P4455): # # /etc/printcap for host rose @@ -1005,39 +1064,39 @@ rattan|line|diablo|lp|Diablo 630 Line Printer: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4: - In this example, the first printer is named - rattan and has as aliases + Σε αυτό το παράδειγμα, ο πρώτος εκτυπωτής ονομάζεται + rattan και έχει ως παρωνύμια τα line, diablo, - lp, and Diablo 630 Line - Printer. Since it has the alias - lp, it is also the default printer. The - second is named bamboo, and has as aliases - ps, PS, - S, panasonic, and + lp, και Diablo 630 Line + Printer. Από τη στιγμή που έχει το παρωνύμιο + lp, είναι και ο προεπιλεγμένος εκτυπωτής. Ο + δεύτερος ονομάζεται bamboo, και έχει ως + παρωνύμια τα ps, PS, + S, panasonic, και Panasonic KX-P4455 PostScript v51.4. - Suppressing Header Pages + Παρεμπόδιση Σελίδων Κεφαλίδας - printing - header pages - + printing + header pages + - The LPD spooling system will - by default print a - header page for each job. The header - page contains the user name who requested the job, the host - from which the job came, and the name of the job, in nice - large letters. Unfortunately, all this extra text gets in the - way of debugging the simple printer setup, so we will suppress - header pages. + Το σύστημα παροχέτευσης LPD, από + προεπιλογή, εκτυπώνει μια σελίδα κεφαλίδας + για κάθε εργασία. Η σελίδα κεφαλίδας περιλαμβάνει το όνομα + χρήστη που αιτήθηκε την εργασία, τον υπολογιστή από τον οποίον + προήλθε η εργασία, και το όνομα της εργασίας, με μεγάλους όμορφους + χαρακτήρες. Δυστυχώς αυτό το πρόσθετο κείμενο ακολουθεί την + διαδικασία αποσφαλμάτωσης της εγκατάστασης ενός απλού εκτυπωτή, + επομένως θα παρεμποδίσουμε τις σελίδες κεφαλίδας. - To suppress header pages, add the sh - capability to the entry for the printer in - /etc/printcap. Here is an example - /etc/printcap with sh - added: + Για την παρεμπόδιση των σελίδων κεφαλίδας, προσθέστε την + ικανότητα sh στην καταχώριση για τον εκτυπωτή + στο αρχείο /etc/printcap. Εδώ βλέπετε ένα + παράδειγμα του /etc/printcap με προσθήκη της + sh: # # /etc/printcap for host rose - no header pages anywhere @@ -1048,251 +1107,263 @@ rattan|line|diablo|lp|Diablo 630 Line Printer:\ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh: - Note how we used the correct format: the first line starts - in the leftmost column, and subsequent lines are indented. - Every line in an entry except the last ends in - a backslash character. + Παρατηρήστε πως χειριστήκαμε σωστά τη μορφή: η πρώτη + γραμμή ξεκινά στην αριστερή στήλη, και οι ακόλουθες γραμμές + είναι στοιχισμένες (indented). Κάθε γραμμή καταχώρισης (εκτός + από την τελευταία) τελειώνει με μια αριστερόστροφη κάθετο. - Making the Spooling Directory - printer spool - print jobs + Δημιουργία Καταλόγου Παροχέτευσης + εκτυπωτής spool + εκτύπωση εργασίες - The next step in the simple spooler setup is to make a - spooling directory, a directory where - print jobs reside until they are printed, and where a number - of other spooler support files live. + Το επόμενο βήμα στον απλό τρόπο εγκατάστασης είναι η + δημιουργία ενός + καταλόγου παροχέτευσης (spool), + όπου θα φιλοξενούνται οι εργασίες εκτύπωσης έως ότου + να εκτυπωθούν και όπου επίσης φυλάσσονται και κάποια άλλα + βοηθητικά αρχεία του συστήματος εκτύπωσης. - Because of the variable nature of spooling directories, it - is customary to put these directories under - /var/spool. It is not necessary to - backup the contents of spooling directories, either. - Recreating them is as simple as running &man.mkdir.1;. + Λόγω της μεταβαλλόμενης φύσης των καταλόγων παροχέτευσης, + συνηθίζεται να τοποθετούνται κάτω από τον κατάλογο + /var/spool. Δεν είναι + αναγκαίο να παίρνετε αντίγραφα ασφαλείας των καταλόγων + παροχέτευσης. Η επαναδημιουργία τους είναι τόσο απλή όσο να + τρέξουμε την εντολή &man.mkdir.1;. - It is also customary to make the directory with a name - that is identical to the name of the printer, as shown - below: + Είναι επίσης συνηθισμένο να ονομάζεται ο κατάλογος με το ίδιο + όνομα με τον εκτυπωτή, όπως φαίνεται παρακάτω: - &prompt.root; mkdir /var/spool/printer-name + &prompt.root; mkdir /var/spool/printer-name - However, if you have a lot of printers on your network, - you might want to put the spooling directories under a single - directory that you reserve just for printing with - LPD. We - will do this for our two example printers - rattan and - bamboo: + Ωστόσο, αν έχετε αρκετούς εκτυπωτές στο δίκτυο, ίσως + επιθυμείτε να τοποθετήσετε τους καταλόγους παροχέτευσης κάτω από + ένα μοναδικό κατάλογο που θα χρησιμοποιείται αποκλειστικά για + εκτυπώσεις με το LPD. Θα κάνουμε + ακριβώς αυτό για τα παραδείγματα μας με τους εκτυπωτές + rattan και bamboo: - &prompt.root; mkdir /var/spool/lpd -&prompt.root; mkdir /var/spool/lpd/rattan -&prompt.root; mkdir /var/spool/lpd/bamboo + &prompt.root; mkdir /var/spool/lpd +&prompt.root; mkdir /var/spool/lpd/rattan +&prompt.root; mkdir /var/spool/lpd/bamboo - If you are concerned about the privacy of jobs that - users print, you might want to protect the spooling - directory so it is not publicly accessible. Spooling - directories should be owned and be readable, writable, and - searchable by user daemon and group daemon, and no one else. - We will do this for our example printers: + Εάν οι εργασίες των χρηστών περιέχουν προσωπικά δεδομένα, + μπορεί να θέλετε να προστατέψετε τον κατάλογο παροχέτευσης με + κάποιο τρόπο, ώστε να μην είναι δημόσια προσβάσιμος. Οι + κατάλογοι παροχέτευσης θα πρέπει να ανήκουν και να είναι + αναγνώσιμοι, εγγράψιμοι και με δυνατότητα αναζήτησης από τον + χρήστη daemon και από την ομάδα daemon, από κανέναν άλλο. Για + τους εκτυπωτές του παραδείγματος: - &prompt.root; chown daemon:daemon /var/spool/lpd/rattan -&prompt.root; chown daemon:daemon /var/spool/lpd/bamboo -&prompt.root; chmod 770 /var/spool/lpd/rattan -&prompt.root; chmod 770 /var/spool/lpd/bamboo + &prompt.root; chown daemon:daemon /var/spool/lpd/rattan +&prompt.root; chown daemon:daemon /var/spool/lpd/bamboo +&prompt.root; chmod 770 /var/spool/lpd/rattan +&prompt.root; chmod 770 /var/spool/lpd/bamboo - Finally, you need to tell LPD - about these directories - using the /etc/printcap file. You - specify the pathname of the spooling directory with the - sd capability: + Τέλος, πρέπει να ενημερώσετε το LPD + για αυτούς τους καταλόγους χρησιμοποιώντας το αρχείο + /etc/printcap. Προσδιορίστε την διαδρομή + του καταλόγου παροχέτευσης με την ικανότητα + sd: # # /etc/printcap for host rose - added spooling directories # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan: + :sh:sd=/var/spool/lpd/rattan: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo: + :sh:sd=/var/spool/lpd/bamboo: - Note that the name of the printer starts in the first - column but all other entries describing the printer should be - indented and each line end escaped with a - backslash. + Σημειώστε πως το όνομα του εκτυπωτή ξεκινά στην πρώτη στήλη, + ενώ όλες οι άλλες καταχωρίσεις που περιγράφουν τον εκτυπωτή θα + πρέπει να είναι στοιχισμένες και κάθε τέλος γραμμής να φέρει + χαρακτήρα διαφυγής με αριστερόστροφη κάθετο. - If you do not specify a spooling directory with - sd, the spooling system will use - /var/spool/lpd as a default. + Εάν δεν προσδιορίσετε τον κατάλογο παροχέτευσης μέσω του + sd, τότε το σύστημα παροχέτευσης θα + χρησιμοποιήσει τον προεπιλεγμένο + /var/spool/lpd. - Identifying the Printer Device + Αναγνώριση της Συσκευής Εκτύπωσης - In the - Entries for the Ports - section, we identified which entry in the - /dev directory FreeBSD will use to - communicate with the printer. Now, we tell - LPD that - information. When the spooling system has a job to print, it - will open the specified device on behalf of the filter program - (which is responsible for passing data to the printer). + Στην ενότητα Ρυθμίσεις + Hardware αναγνωρίσαμε τη θύρα, και κατά συνέπεια την + καταχώριση του καταλόγου + /dev που θα + χρησιμοποιήσει το &os; για να επικοινωνήσει με τον εκτυπωτή. + Τώρα, θα δώσουμε στο LPD αυτή + την πληροφορία. Όταν το σύστημα παροχέτευσης έχει μια εργασία να + εκτυπώσει, θα ανοίξει αυτή την ειδική συσκευή για λογαριασμό του + προγράμματος φίλτρου (που είναι υπεύθυνο για το πέρασμα των + δεδομένων στον εκτυπωτή). - List the /dev entry pathname in the - /etc/printcap file using the - lp capability. + Προσδιορίστε την διαδρομή της καταχώρισης + /dev στο αρχείο + /etc/printcap χρησιμοποιώντας την ικανότητα + lp. - In our running example, let us assume that - rattan is on the first parallel port, and - bamboo is on a sixth serial port; here are - the additions to /etc/printcap: + Στο τρέχον παράδειγμα μας, ας υποθέσουμε ότι ο + rattan είναι στην πρώτη παράλληλη θύρα, και ο + bamboo είναι στην έκτη σειριακή πόρτα. Οι νέες + καταχωρίσεις στο /etc/printcap θα + είναι: # # /etc/printcap for host rose - identified what devices to use # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5: + :sh:sd=/var/spool/lpd/bamboo:\ + :lp=/dev/ttyd5: - If you do not specify the lp capability - for a printer in your /etc/printcap file, - LPD uses /dev/lp - as a default. - /dev/lp currently does not exist in - FreeBSD. + Αν δεν καθορίσετε σε κάποιον εκτυπωτή την ικανότητα + lp στο αρχείο + /etc/printcap, το + LPD χρησιμοποιεί από προεπιλογή + το /dev/lp. + Το /dev/lp + δεν υπάρχει την δεδομένη στιγμή στο &os;. - If the printer you are installing is connected to a - parallel port, skip to the section entitled, Installing the Text - Filter. Otherwise, be sure to follow the instructions - in the next section. + Εάν ο εκτυπωτής που εγκαθιστάτε είναι συνδεδεμένος σε + παράλληλη θύρα, διαβάστε απευθείας την ενότητα με τίτλο + Εγκατάσταση Φίλτρου + Κειμένου. Διαφορετικά, ακολουθήστε προσεκτικά τις + οδηγίες που ακολουθούν στην επόμενη ενότητα. - Configuring Spooler Communication Parameters + Ρυθμίσεις Παραμέτρων Επικοινωνίας του Spooler - printers - serial - + εκτυπωτές + σειριακοί + - For printers on serial ports, LPD - can set up the bps rate, - parity, and other serial communication parameters on behalf of - the filter program that sends data to the printer. This is - advantageous since: + Για εκτυπωτές σε σειριακή πόρτα, το + LPD μπορεί να ρυθμίσει την + ταχύτητα σε bps, το parity, και άλλες παραμέτρους σειριακής + επικοινωνίας για λογαριασμό του προγράμματος φίλτρου που στέλνει + δεδομένα στον εκτυπωτή. Αυτό είναι πλεονέκτημα γιατί: - It lets you try different communication parameters by - simply editing the /etc/printcap - file; you do not have to recompile the filter - program. + Σας επιτρέπει να δοκιμάσετε διάφορες παραμέτρους + επικοινωνίας προσθέτοντας τις απλά με επεξεργασία του αρχείου + /etc/printcap. Δεν χρειάζεται να + επαναμεταγλωττίσετε το πρόγραμμα φίλτρου. - It enables the spooling system to use the same filter - program for multiple printers which may have different - serial communication settings. + Επιτρέπει στο σύστημα παροχέτευσης να χρησιμοποιεί το + ίδιο πρόγραμμα για πολλαπλούς εκτυπωτές, οι οποίοι μπορεί να + έχουν διαφορετικές σειριακές ρυθμίσεις επικοινωνίας. - The following /etc/printcap - capabilities control serial communication parameters of the - device listed in the lp capability: + Οι ακόλουθες ικανότητες του + /etc/printcap ελέγχουν τις παραμέτρους + σειριακής επικοινωνίας των συσκευών που αναφέρονται στην + ικανότητα lp: - br#bps-rate + + br#bps-rate + - Sets the communications speed of the device to - bps-rate, where - bps-rate can be 50, 75, 110, - 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, - 19200, 38400, 57600, or 115200 bits-per-second. + Ορίζει την ταχύτητα επικοινωνίας της συσκευής σε + bps-rate, όπου το + bps-rate μπορεί να είναι 50, + 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, + 9600, 19200, 38400, 57600, ή 115200 bits-per-second. - ms#stty-mode + + ms#stty-mode + - Sets the options for the terminal device after - opening the device. &man.stty.1; explains the - available options. + Ορίζει τις επιλογές της συσκευής τερματικού μετά το + άνοιγμα της συσκευής. Η &man.stty.1; εξηγεί τις διαθέσιμες + επιλογές. - When LPD opens the device - specified by the lp capability, it sets - the characteristics of the device to those specified with - the ms# capability. Of particular - interest will be the parenb, - parodd, cs5, - cs6, cs7, - cs8, cstopb, - crtscts, and ixon - modes, which are explained in the &man.stty.1; - manual page. + Όταν το LPD ανοίγει την συσκευή + που ορίζεται από την ικανότητα lp, υιοθετεί τα + χαρακτηριστικά της συσκευής με ικανότητα ms#. + Έχουν ιδιαίτερο ενδιαφέρον οι καταστάσεις λειτουργίας + parenb, parodd, + cs5, cs6, + cs7, cs8, + cstopb, crtscts, και + ixon, που εξηγούνται στην σελίδα βοηθείας + &man.stty.1;. - Let us add to our example printer on the sixth serial - port. We will set the bps rate to 38400. For the mode, - we will set no parity with -parenb, - 8-bit characters with cs8, - no modem control with clocal and - hardware flow control with crtscts: + Ας προσθέσουμε στο παράδειγμα μας έναν εκτυπωτή στην έκτη + σειριακή θύρα. Θα θέσουμε την ταχύτητα bps σε 38400. Για την + κατάσταση λειτουργίας θα θέσουμε , no parity με + -parenb, χαρακτήρες 8-bit με + cs8, no modem control με + clocal και έλεγχο ροής μέσω hardware με + crtscts: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts: + :sh:sd=/var/spool/lpd/bamboo:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts: - Installing the Text Filter + Εγκατάσταση Φίλτρου Κειμένου - printing - filters + εκτύπωση + φίλτρα - We are now ready to tell LPD - what text filter to use to - send jobs to the printer. A text filter, - also known as an input filter, is a - program that LPD runs when it - has a job to print. When LPD - runs the text filter for a printer, it sets the filter's - standard input to the job to print, and its standard output to - the printer device specified with the lp - capability. The filter is expected to read the job from - standard input, perform any necessary translation for the - printer, and write the results to standard output, which will - get printed. For more information on the text filter, see - the Filters - section. + Τώρα είμαστε έτοιμοι να πούμε στο + LPD ποιο φίλτρο κειμένου να + χρησιμοποιήσει για να στείλει εργασίες στον εκτυπωτή. Το φίλτρο + κειμένου, γνωστό και ως φίλτρο εισόδου, + είναι ένα πρόγραμμα που εκτελεί το LPD + όταν υπάρχει εργασία προς εκτύπωση. Όταν το + LPD εκτελεί το φίλτρο κειμένου για + κάποιον εκτυπωτή, θέτει την standard input του φίλτρου στην + εργασία εκτύπωσης, και την standard output στην συσκευή του + εκτυπωτή που ορίζεται με την ικανότητα lp. + Το φίλτρο αναμένεται να αναγνώσει την εργασία από την standard + input, να εκτελέσει όλες τις απαραίτητες μεταγλωττίσεις για τον + εκτυπωτή, και να γράψει το αποτέλεσμα στην standard output, το + οποίο και θα εκτυπωθεί. Για περισσότερες πληροφορίες για τα + φίλτρα κειμένου, δείτε την ενότητα + Φίλτρα. - For our simple printer setup, the text filter can be a - small shell script that just executes - /bin/cat to send the job to the printer. - FreeBSD comes with another filter called - lpf that handles backspacing and - underlining for printers that might not deal with such - character streams well. And, of course, you can use any other - filter program you want. The filter lpf is - described in detail in section entitled lpf: a Text - Filter. + Για την απλή εγκατάσταση των εκτυπωτών μας, το φίλτρο κειμένου + μπορεί να είναι ένα μικρό shell script που απλά θα εκτελεί την + εντολή /bin/cat για να στέλνει εργασίες στον + εκτυπωτή. Το &os; έρχεται με άλλο ένα φίλτρο, το + lpf που χειρίζεται δυνατότητες backspacing + και υπογράμμισης για εκτυπωτές που ίσως να μην χειρίζονται σωστά + αυτές τις λειτουργίες. Και φυσικά, μπορείτε να χρησιμοποιήσετε + οποιοδήποτε άλλο πρόγραμμα φίλτρου επιθυμείτε. Το φίλτρο + lpf περιγράφεται λεπτομερώς στην ενότητα + lpf: ένα Φίλτρο Κειμένου. - First, let us make the shell script - /usr/local/libexec/if-simple be a simple - text filter. Put the following text into that file with your - favorite text editor: + Θα ξεκινήσουμε δημιουργώντας το shell script + /usr/local/libexec/if-simple σαν ένα απλό + φίλτρο κειμένου. Τοποθετήστε το ακόλουθο κείμενο στο αρχείο + χρησιμοποιώντας τον κειμενογράφο που προτιμάτε: #!/bin/sh # @@ -1304,516 +1375,556 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ /bin/cat && exit 0 exit 2 - Make the file executable: + Κάντε το αρχείο εκτελέσιμο: - &prompt.root; chmod 555 /usr/local/libexec/if-simple + &prompt.root; chmod 555 /usr/local/libexec/if-simple - And then tell LPD to use it by specifying it with the - if capability in - /etc/printcap. We will add it to the two - printers we have so far in the example + Και ενημερώστε το LPD να το χρησιμοποιήσει, ορίζοντας το με + την ικανότητα if στο αρχείο + /etc/printcap. Θα το προσθέσουμε στους δύο + εκτυπωτές από το προηγούμενο παράδειγμα στο /etc/printcap: # # /etc/printcap for host rose - added text filter # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/bamboo:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:\ + :if=/usr/local/libexec/if-simple: - A copy of the if-simple script - can be found in the /usr/share/examples/printing - directory. + Μπορείτε να βρείτε ένα αντίγραφο του script + if-simple στον κατάλογο + /usr/share/examples/printing. - Turn on <application>LPD</application> + Ενεργοποίηση του <application>LPD</application> - &man.lpd.8; is run from /etc/rc, - controlled by the lpd_enable variable. This - variable defaults to NO. If you have not done - so already, add the line: + Το &man.lpd.8; εκτελείται από το + /etc/rc, και ελέγχεται από την μεταβλητή + lpd_enable. Η μεταβλητή αυτή έχει + προεπιλεγμένη τιμή NO. Αν δεν το έχετε κάνει + ακόμα, προσθέστε την ακόλουθη γραμμή: lpd_enable="YES" - to /etc/rc.conf, and then either restart - your machine, or just run &man.lpd.8;. + στο αρχείο /etc/rc.conf, και + επανεκκινήστε το σύστημα σας, ή απλά εκτελέστε το + &man.lpd.8;. - &prompt.root; lpd + &prompt.root; lpd - + - Trying It Out + Δοκιμή του Spooler - You have reached the end of the simple - LPD setup. - Unfortunately, congratulations are not quite yet in order, - since we still have to test the setup and correct any - problems. To test the setup, try printing something. To - print with the LPD system, you - use the command &man.lpr.1;, - which submits a job for printing. + Φτάσατε στο τέλος της απλής εγκατάστασης του + LPD. Θα αφήσουμε για αργότερα τα + συγχαρητήρια, αφού ακόμη θα πρέπει να ελέγξουμε την εγκατάσταση + και να διορθώσουμε οποιοδήποτε πρόβλημα έχει προκύψει. Για να + ελέγξετε την εγκατάσταση προσπαθήστε να εκτυπώσετε κάτι. Για να + εκτυπώσετε με το σύστημα LPD, + χρησιμοποιήστε την εντολή &man.lpr.1;, η οποία αποστέλλει μία + εργασία προς εκτύπωση. - You can combine &man.lpr.1; with the &man.lptest.1; - program, introduced in section Checking Printer - Communications to generate some test text. + Μπορείτε να συνδυάσετε την &man.lpr.1; με το πρόγραμμα + &man.lptest.1;, για το οποίο κάναμε μια εισαγωγή στην ενότητα + Έλεγχος Επικοινωνίας του + Εκτυπωτή, για τον έλεγχο κειμένου. - To test the simple LPD - setup: + Για τον έλεγχο μιας απλής εγκατάστασης + LPD: - Type: + Πληκτρολογήστε: - &prompt.root; lptest 20 5 | lpr -Pprinter-name - - Where printer-name is a the - name of a printer (or an alias) specified in - /etc/printcap. To test the default - printer, type &man.lpr.1; without any - argument. Again, if you are testing a printer that expects - &postscript;, send a &postscript; program in that language instead - of using &man.lptest.1;. You can do so by putting the program - in a file and typing lpr - file. + &prompt.root; lptest 20 5 | lpr printer-name - For a &postscript; printer, you should get the results of - the program. If you are using &man.lptest.1;, then your - results should look like the following: + Όπου printer-name είναι το όνομα + ενός εκτυπωτή (ή το alias) που αναφέρεται στο + /etc/printcap. Για να ελέγξετε τον + προεπιλεγμένο εκτυπωτή, πληκτρολογήστε &man.lpr.1; χωρίς το + πρόθεμα . Αν ο εκτυπωτής σας χρησιμοποιεί + &postscript;, πρέπει να στείλετε ένα πρόγραμμα &postscript;, + αντί να χρησιμοποιήσετε το &man.lptest.1;. Για να τα καταφέρετε, + τοποθετήστε το πρόγραμμα σε ένα αρχείο και πληκτρολογήστε + lpr file. - !"#$%&'()*+,-./01234 + Σε έναν εκτυπωτή &postscript;, η εκτύπωση θα είναι το + αποτέλεσμα του προγράμματος που στείλατε. Αν χρησιμοποιείτε το + &man.lptest.1;, τότε το αποτέλεσμα θα μοιάζει με το + ακόλουθο: + + !"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456 $%&'()*+,-./01234567 -%&'()*+,-./012345678 +%&'()*+,-./012345678 - To further test the printer, try downloading larger - programs (for language-based printers) or running - &man.lptest.1; with different arguments. For example, - lptest 80 60 will produce 60 lines of 80 - characters each. + Για περαιτέρω έλεγχο του εκτυπωτή, δοκιμάστε να κατεβάσετε + μεγαλύτερα προγράμματα (για εκτυπωτές που χρησιμοποιούν γλώσσα + προγραμματισμού) ή τρέξτε το &man.lptest.1; με διαφορετικά + προθέματα. Για παράδειγμα, η εντολή + lptest 80 60 θα παράγει 60 γραμμές των 80 + χαρακτήρων η καθεμία. - If the printer did not work, see the Troubleshooting - section. + Αν ο εκτυπωτής δεν δουλεύει, δείτε την ενότητα Εντοπισμός Βλαβών. - + - Advanced Printer Setup - - This section describes filters for printing specially formatted - files, header pages, printing across networks, and restricting and - accounting for printer usage. + Ρυθμίσεις Εκτυπωτών για Προχωρημένους + + Αυτή η ενότητα περιγράφει φίλτρα για την εκτύπωση ειδικής μορφής + αρχείων, σελίδων κεφαλίδας, για εκτυπώσεις μέσω δικτύου, καθώς και για + τον έλεγχο πρόσβασης και την καταμέτρηση χρήσης των εκτυπωτών. - Filters + Φίλτρα - printing - filters + εκτύπωση + φίλτρα - - Although LPD handles network protocols, - queuing, access control, - and other aspects of printing, most of the real - work happens in the filters. Filters are - programs that communicate with the printer and handle its device - dependencies and special requirements. In the simple printer setup, - we installed a plain text filter—an extremely simple one that - should work with most printers (section Installing the Text - Filter). - - However, in order to take advantage of format conversion, printer - accounting, specific printer quirks, and so on, you should understand - how filters work. It will ultimately be the filter's responsibility - to handle these aspects. And the bad news is that most of the time - you have to provide filters yourself. The good - news is that many are generally available; when they are not, they are - usually easy to write. - - Also, FreeBSD comes with one, - /usr/libexec/lpr/lpf, that works with many - printers that can print plain text. (It handles backspacing and tabs - in the file, and does accounting, but that is about all it does.) - There are also several filters and filter components in the FreeBSD - Ports Collection. - - Here is what you will find in this section: - + + Αν και το LPD μπορεί να χειριστεί + πρωτόκολλα δικτύων, λίστες αναμονής, έλεγχο πρόσβασης, και άλλες + παραμέτρους των εκτυπώσεων, το κύριο μέρος της + πραγματικής εργασίας γίνεται με τα + φίλτρα. Τα φίλτρα είναι προγράμματα που + επικοινωνούν με τον εκτυπωτή και χειρίζονται τις εξαρτήσεις της + συσκευής και άλλες ειδικές απαιτήσεις της. Στην απλή εγκατάσταση + εκτυπωτή, εγκαταστήσαμε ένα φίλτρο απλού κειμένου ιδιαίτερα + απλής μορφής, που θα πρέπει να δουλεύει με τους περισσότερους + εκτυπωτές (ενότητα Εγκατάσταση Φίλτρου Κειμένου). + + Ωστόσο, για να μπορέσετε να εκμεταλλευτείτε τις δυνατότητες + μετατροπών μορφής, ελέγχου πρόσβασης και καταμέτρησης, και τυχόν + ειδικές δυνατότητες του εκτυπωτή σας, θα πρέπει να καταλάβετε πως + δουλεύουν τα φίλτρα. Σε τελική ανάλυση, θα είναι ευθύνη των φίλτρων + να χειρίζονται όλες αυτές τις παραμέτρους. Τα κακά νέα είναι πως τις + περισσότερες φορές θα πρέπει να παρέχετε + εσείς οι ίδιοι τα φίλτρα σας. Τα καλά νέα είναι + πως γενικώς υπάρχουν αρκετά διαθέσιμα, και αν δεν υπάρχουν, είναι + σχετικά εύκολο να τα γράψετε. + + Επίσης, το &os; διατίθεται με ένα φίλτρο, το + /usr/libexec/lpr/lpf, που δουλεύει με πολλούς + εκτυπωτές που μπορούν να εκτυπώσουν απλό κείμενο. (Χειρίζεται + backspacing και tabs στο αρχείο, και κάνει καταμέτρηση, αλλά + τίποτα περισσότερο.) Υπάρχουν, επίσης, διάφορα άλλα φίλτρα και + συστατικά τους στην Συλλογή των Ports του &os;. + + Σε αυτή την ενότητα θα βρείτε: : + - - Section How Filters - Work, tries to give an overview of a filter's role in the - printing process. You should read this section to get an - understanding of what is happening under the hood - when LPD uses filters. This knowledge - could help you anticipate - and debug problems you might encounter as you install more and - more filters on each of your printers. - - - - LPD expects every printer to be - able to print plain text by - default. This presents a problem for &postscript; (or other - language-based printers) which cannot directly print plain text. - Section Accommodating - Plain Text Jobs on &postscript; Printers tells you what you - should do to overcome this problem. You should read this - section if you have a &postscript; printer. - + + Η ενότητα Πως + δουλεύουν τα Φίλτρα, προσπαθεί να δώσει μια γενική άποψη + για τις αρμοδιότητες των φίλτρων στις διεργασίες εκτύπωσης. Θα + πρέπει να διαβάσετε αυτή την ενότητα για να μπορείτε να καταλάβετε + τι πραγματικά συμβαίνει όταν το + LPD χρησιμοποιεί φίλτρα. Αυτές οι + γνώσεις θα σας βοηθήσουν να προλαμβάνετε και να αποσφαλματώνετε + προβλήματα που μπορούν να συμβούν καθώς εγκαθιστάτε όλο και + περισσότερα φίλτρα σε κάθε εκτυπωτή σας. + - - &postscript; is a popular output format for many programs. - Some people even write &postscript; code directly. Unfortunately, - &postscript; printers are expensive. Section Simulating &postscript; on - Non &postscript; Printers tells how you can further modify - a printer's text filter to accept and print &postscript; data on a - non &postscript; printer. You should read - this section if you do not have a &postscript; printer. - - - - Section Conversion - Filters tells about a way you can automate the conversion - of specific file formats, such as graphic or typesetting data, - into formats your printer can understand. After reading this - section, you should be able to set up your printers such that - users can type lpr -t to print troff data, or - lpr -d to print &tex; DVI data, or lpr - -v to print raster image data, and so forth. I - recommend reading this section. - - - - Section Output - Filters tells all about a not often used feature of - LPD: - output filters. Unless you are printing header pages (see Header Pages), - you can probably skip that section altogether. - + + Το LPD αναμένει πως κάθε + εκτυπωτής είναι ικανός, από προεπιλογή, να εκτυπώσει απλό + κείμενο. Αυτό όμως είναι πρόβλημα για εκτυπωτές &postscript; + (ή άλλους που βασίζονται σε γλώσσες προγραμματισμού) οι οποίοι + δεν μπορούν να εκτυπώσουν άμεσα απλό κείμενο. Η ενότητα Συμβατότητα Εργασιών + Απλού Κειμένου σε εκτυπωτές &postscript; σας εξηγεί τι θα + πρέπει να κάνετε για να ξεπεράσετε αυτό το πρόβλημα. Θα πρέπει + να διαβάσετε αυτή την ενότητα αν έχετε εκτυπωτή + &postscript;. + - - Section lpf: a Text - Filter describes lpf, a fairly - complete if simple text filter for line printers (and laser - printers that act like line printers) that comes with FreeBSD. If - you need a quick way to get printer accounting working for plain - text, or if you have a printer which emits smoke when it sees - backspace characters, you should definitely consider - lpf. - + + Το &postscript; είναι δημοφιλής μορφή εξόδου για πολλά + προγράμματα. Μερικοί άνθρωποι προτιμούν και να γράφουν κατευθείαν + σε κώδικα &postscript;. Δυστυχώς, οι εκτυπωτές &postscript; + έχουν μεγάλο κόστος. Η ενότητα Προσομοίωση &postscript; για + εκτυπωτές που δεν το υποστηρίζουν εξηγεί λεπτομερώς πως + να μετατρέψετε ένα φίλτρο κειμένου για εκτυπωτές ώστε να λαμβάνει + και να τυπώνει δεδομένα &postscript; σε εκτυπωτές που + δεν είναι &postscript;. Θα πρέπει να + διαβάσετε αυτήν την ενότητα αν είστε κάτοχος εκτυπωτή που δεν + υποστηρίζει &postscript;. + + + + Η ενότητα Φίλτρα Μετατροπής + περιγράφει μια αυτοματοποιημένη διαδικασία για την μετατροπή + αρχείων ειδικής μορφής, όπως δεδομένα γραφικών ή στοιχειοθεσίας, + σε μια μορφή κατανοητή από τον εκτυπωτή σας. Μετά την ανάγνωση + αυτής της ενότητας, θα πρέπει να είστε σε θέση να ρυθμίσετε τους + εκτυπωτές σας με τέτοιο τρόπο ώστε πληκτρολογώντας + lpr οι χρήστες σας να + μπορούν να εκτυπώσουν δεδομένα troff, ή με + lpr δεδομένα &tex; + DVI, ή με lpr να + εκτυπώνουν εικόνες δεδομένων ράστερ, και ούτω καθεξής. Σας + συμβουλεύουμε να διαβάσετε αυτή την ενότητα. + + + + Η ενότητα Φίλτρα + Εξόδου περιγράφει ένα χαρακτηριστικό του + LPD που δεν χρησιμοποιείται συχνά: τα + φίλτρα εξόδου. Μπορείτε να προσπεράσετε αυτή την ενότητα, εκτός + αν τυπώνετε σελίδες κεφαλίδας (δείτε τις Σελίδες Κεφαλίδας). + + + + Η ενότητα lpf: ένα + Φίλτρο Κειμένου περιγράφει το lpf, ένα + πραγματικά πλήρες, αν και απλό, φίλτρο κειμένου για εκτυπωτές + γραμμής (και εκτυπωτές laser που μπορούν να λειτουργήσουν και ως + εκτυπωτές γραμμής) που περιέχεται στο &os;. Αν χρειάζεστε ένα + γρήγορο τρόπο για να κάνετε την καταμέτρηση σελίδων να δουλεύει + σε απλό κείμενο, ή αν έχετε κάποιον εκτυπωτή που βγάζει καπνούς + όταν βλέπει χαρακτήρες backspace, θα πρέπει οπωσδήποτε να + εξετάσετε την περίπτωση του lpf. + - + - A copy of the various scripts described below can be - found in the /usr/share/examples/printing - directory. + Μπορείτε να βρείτε αντίγραφο των διάφορων scripts που + αναφέρονται παρακάτω, στον κατάλογο /usr/share/examples/printing. - How Filters Work + Πως Δουλεύουν τα Φίλτρα - As mentioned before, a filter is an executable program started - by LPD to handle the device-dependent part of - communicating with the printer. - - When LPD wants to print a file in a - job, it starts a filter - program. It sets the filter's standard input to the file to print, - its standard output to the printer, and its standard error to the - error logging file (specified in the lf - capability in /etc/printcap, or - /dev/console by default). - - - troff - - Which filter LPD starts and the - filter's arguments depend on - what is listed in the /etc/printcap file and - what arguments the user specified for the job on the - &man.lpr.1; command line. For example, if the user typed - lpr -t, LPD would - start the troff filter, listed - in the tf capability for the destination printer. - If the user wanted to print plain text, it would start the - if filter (this is mostly true: see Output Filters for - details). + Όπως αναφέραμε προηγουμένως, φίλτρο είναι ένα εκτελέσιμο + πρόγραμμα που ενεργοποιείται από το LPD + για να χειρίζεται το τμήμα της επικοινωνίας με τον εκτυπωτή που + εξαρτάται από τον τύπο της ίδιας της συσκευής. - There are three kinds of filters you can specify in - /etc/printcap: + Όταν το LPD θέλει να εκτυπώσει ένα + αρχείο μιας εργασίας, ξεκινά το πρόγραμμα του φίλτρου. Θέτει ως + standard input του φίλτρου το αρχείο που πρέπει να εκτυπωθεί, ως + standard output τον ίδιο τον εκτυπωτή και ως standard error το + αρχείο αναφοράς σφαλμάτων (αναφέρεται στην ικανότητα + lf του /etc/printcap, ή από + προεπιλογή το /dev/console). - - - The text filter, confusingly called the - input filter in - LPD documentation, handles - regular text printing. Think of it as the default filter. - LPD - expects every printer to be able to print plain text by default, - and it is the text filter's job to make sure backspaces, tabs, - or other special characters do not confuse the printer. If you - are in an environment where you have to account for printer - usage, the text filter must also account for pages printed, - usually by counting the number of lines printed and comparing - that to the number of lines per page the printer supports. The - text filter is started with the following argument list: + + troff + + Το φίλτρο που θα ξεκινήσει το LPD + καθώς και οι παράμετροι του φίλτρου, εξαρτώνται από το τι έχετε + δηλώσει στο αρχείο /etc/printcap και από το τι + παραμέτρους έχει καθορίσει ο ίδιος ο χρήστης για την εργασία με + την γραμμή εντολής &man.lpr.1;. Για παράδειγμα, αν ο χρήστης + πληκτρολογήσει lpr , το + LPD θα ξεκινήσει το φίλτρο troff, που + υποδηλώνεται με την ικανότητα tf για τον + εκτυπωτή προορισμού. Αν ο χρήστης επιθυμεί να εκτυπώσει απλό + κείμενο, θα ξεκινήσει το φίλτρο if + (αυτό πράγματι ισχύει τις περισσότερες φορές: δείτε τα Φίλτρα Εξόδου για + λεπτομέρειες). - - filter-name - -c - -wwidth - -llength - -iindent - -n login - -h host - acct-file - + Υπάρχουν τρεις τύποι φίλτρων που μπορείτε να προσδιορίσετε στο + /etc/printcap: - where - - - - + + + Το φίλτρο κειμένου, επονομαζόμενο και + ως φίλτρο εισόδου στην τεκμηρίωση του + LPD, χειρίζεται εκτυπώσεις κανονικού + κειμένου. Θεωρήστε το ως το προεπιλεγμένο φίλτρο. Το + LPD αναμένει πως όλοι οι εκτυπωτές, + από προεπιλογή, είναι σε θέση να εκτυπώσουν απλό κείμενο, και + είναι δουλειά του φίλτρου κειμένου να βεβαιωθεί ότι τα + backspaces, τα tabs, και όλοι οι άλλοι ειδικοί χαρακτήρες + δεν πρόκειται να προβληματίσουν τον εκτυπωτή. Εάν βρίσκεστε σε + ένα περιβάλλον όπου θα πρέπει να καταμετρήσετε την χρήση των + εκτυπωτών, το φίλτρο κειμένου θα πρέπει επίσης να καταμετρήσει + τις εκτυπωμένες σελίδες, συνήθως μετρώντας τον αριθμό των + εκτυπωμένων γραμμών και συγκρίνοντας τον με τον αριθμό των + γραμμών που υποστηρίζει ο εκτυπωτής ανά σελίδα. Το φίλτρο + κειμένου ξεκινά με την ακόλουθη λίστα παραμέτρων: + + filter-name + -c + -wwidth + -llength + -iindent + -n login + -h host + acct-file + - - appears if the job is submitted with lpr - -l - - - - - width - - - is the value from the pw (page - width) capability specified in - /etc/printcap, default 132 - - - - - length - - - is the value from the pl (page - length) capability, default 66 - - - - - indent - - - is the amount of the indentation from lpr - -i, default 0 - - - - - login - - - is the account name of the user printing the - file - - - - - host - - - is the host name from which the job was - submitted - - - - - acct-file - - - is the name of the accounting file from the - af capability. - - - - - + όπου + + + + + + + εμφανίζεται αν η εργασία έχει αποσταλεί με + lpr + + + + + width + + + είναι η τιμή από την ικανότητα pw + (πλάτος σελίδας - page width) όπως προσδιορίζεται στο + /etc/printcap, με προεπιλεγμένη + τιμή το 132 + + + + + length + + + είναι η τιμή από την ικανότητα pl + (μήκος σελίδας - page length), με προεπιλεγμένη τιμή + το 66 + + + + + indent + + + είναι το μέγεθος της εσοχής (indentation) από το + lpr , με + προεπιλεγμένη τιμή 0 + + + + + login + + + είναι το καταγεγραμμένο όνομα χρήστη που εκτυπώνει + το αρχείο + + + + + host + + + είναι το όνομα του υπολογιστή από τον οποίο + στάλθηκε η εργασία + + + + + acct-file + + + είναι το όνομα του αρχείου καταμέτρησης από την + ικανότητα af. + + + + + - printing - filters - - - A conversion filter converts a specific - file format into one the printer can render onto paper. For - example, ditroff typesetting data cannot be directly printed, - but you can install a conversion filter for ditroff files to - convert the ditroff data into a form the printer can digest and - print. Section Conversion - Filters tells all about them. Conversion filters also - need to do accounting, if you need printer accounting. - Conversion filters are started with the following arguments: + εκτυπώσεις + φίλτρα + + + Ένα φίλτρο μετατροπής μετατρέπει ένα + αρχείο ειδικής μορφής σε ένα τύπο αρχείου κατάλληλο για εκτύπωση + από τον συγκεκριμένο εκτυπωτή. Για παράδειγμα, τα δεδομένα + στοιχειοθεσίας ditroff δεν μπορούν να εκτυπωθούν κατευθείαν, + αλλά μπορείτε να εγκαταστήσετε ένα φίλτρο μετατροπής αρχείων + ditroff, ώστε να μετατρέψετε τα δεδομένα ditroff σε μια + μορφή που ο εκτυπωτής να μπορεί να αφομοιώσει και να τυπώσει. + Θα μάθετε περισσότερα στην ενότητα Φϊλτρα Μετατροπής. + Τα φίλτρα μετατροπής επίσης χρειάζονται για να κάνετε + αρίθμηση/καταμέτρηση, αν χρειάζεστε καταμέτρηση των εκτυπώσεων + σας. Τα φίλτρα μετατροπής ξεκινούν με τις ακόλουθες + παραμέτρους: - - filter-name - -xpixel-width - -ypixel-height - -n login - -h host - acct-file - + + filter-name + -xpixel-width + -ypixel-height + -n login + -h host + acct-file + - where pixel-width is the value - from the px capability (default 0) and - pixel-height is the value from the - py capability (default 0). - - - - The output filter is used only if there - is no text filter, or if header pages are enabled. In my - experience, output filters are rarely used. Section Output Filters describe - them. There are only two arguments to an output filter: + όπου pixel-width είναι η τιμή από την + ικανότητα px (προεπιλεγμένη τιμή 0) και + pixel-height είναι η τιμή από την + ικανότητα py (προεπιλεγμένη τιμή 0). + - - filter-name - -wwidth - -llength - + + Το φίλτρο εξόδου χρησιμοποιείται μόνον + αν δεν υπάρχει φίλτρο κειμένου, ή αν είναι ενεργοποιημένες οι + σελίδες κεφαλίδας. Διαβάστε τη σχετική ενότητα Φίλτρα Εξόδου, αν και + από την εμπειρία μας μπορούμε να σας πούμε ότι χρησιμοποιούνται + σπάνια. Υπάρχουν μόνο δύο παράμετροι για τα φίλτρα εξόδου: - which are identical to the text filters and - arguments. - - + + filter-name + -wwidth + -llength + - Filters should also exit with the - following exit status: - - - - exit 0 + οι οποίες είναι πανομοιότυπες με τις παραμέτρους + και των φίλτρων + κειμένου. + + - - If the filter printed the file successfully. - - - - - exit 1 - - - If the filter failed to print the file but wants - LPD to - try to print the file again. LPD - will restart a filter if it exits with this status. - - - - - exit 2 - - - If the filter failed to print the file and does not want - LPD to try again. - LPD will throw out the file. - - - + Τα φίλτρα θα πρέπει επίσης να τερματίζουν + με κάποια από τις ακόλουθες καταστάσεις εξόδου: - The text filter that comes with the FreeBSD release, - /usr/libexec/lpr/lpf, takes advantage of the - page width and length arguments to determine when to send a form - feed and how to account for printer usage. It uses the login, host, - and accounting file arguments to make the accounting entries. + + + exit 0 - If you are shopping for filters, see if they are LPD-compatible. - If they are, they must support the argument lists described above. - If you plan on writing filters for general use, then have them - support the same argument lists and exit codes. + + Αν το φίλτρο τύπωσε επιτυχώς το αρχείο. + + + + + exit 1 + + + Αν το φίλτρο απέτυχε να τυπώσει το αρχείο, αλλά θέλει το + LPD να προσπαθήσει να εκτυπώσει + το αρχείο ξανά. Το LPD θα + ξεκινήσει ξανά το φίλτρο αν γίνει έξοδος με αυτή την + κατάσταση. + + + + + exit 2 + + + Αν το φίλτρο απέτυχε να εκτυπώσει το αρχείο και δεν θέλει + το LPD να προσπαθήσει ξανά. Το + LPD θα απορρίψει το αρχείο. + + + + + Το φίλτρο κειμένου που έρχεται με την κανονική έκδοση του + &os;, /usr/libexec/lpr/lpf, εκμεταλλεύεται τις + παραμέτρους πλάτους και μήκους σελίδας για να προσδιορίσει πότε να + αποστείλει το form feed και πως να κάνει καταμέτρηση. Χρησιμοποιεί + τις παραμέτρους για login, host, και αρχείου καταμέτρησης για να + δημιουργήσει τις σχετικές εγγραφές καταμέτρησης. + + Αν είστε στη διαδικασία επιλογής φίλτρων, ελέγξτε αν είναι + συμβατά με το LPD. Αν είναι συμβατά, + τότε πρέπει να υποστηρίζουν την λίστα παραμέτρων που περιγράψαμε + προηγουμένως. Αν σχεδιάζετε να γράψατε τα δικά σας φίλτρα γενικής + χρήσης, τότε πρέπει να τα κάνετε να υποστηρίζουν την ίδια λίστα + παραμέτρων και κωδικών εξόδου. - + - Accommodating Plain Text Jobs on &postscript; Printers - print jobs + Συμβατότητα Εργασιών Απλού Κειμένου σε Εκτυπωτές + &postscript; + εκτύπωση εργασιών - If you are the only user of your computer and &postscript; (or - other language-based) printer, and you promise to never send plain - text to your printer and to never use features of various programs - that will want to send plain text to your printer, then you do not - need to worry about this section at all. - - But, if you would like to send both &postscript; and plain text - jobs to the printer, then you are urged to augment your printer - setup. To do so, we have the text filter detect if the arriving job - is plain text or &postscript;. All &postscript; jobs must start with - %! (for other printer languages, see your printer - documentation). If those are the first two characters in the job, - we have &postscript;, and can pass the rest of the job directly. If - those are not the first two characters in the file, then the filter - will convert the text into &postscript; and print the result. - - How do we do this? + Αν είστε ο μοναδικός χρήστης του Η/Υ σας και του εκτυπωτή + &postscript; (ή άλλης γλώσσας εκτυπωτών), και είστε σίγουροι πως δεν + πρόκειται να στείλετε ποτέ εκτυπώσεις απλού κειμένου στον εκτυπωτή + σας και πως δεν θα χρησιμοποιήσετε τις υπηρεσίες των διαφόρων + προγραμμάτων σας που θα θελήσουν να στείλουν απλό κείμενο στον + εκτυπωτή σας, τότε δεν χρειάζεται να ασχοληθείτε καθόλου με αυτή την + ενότητα. - - printers - serial - - If you have got a serial printer, a great way to do it is to - install lprps. lprps is a - &postscript; printer filter which performs two-way communication with - the printer. It updates the printer's status file with verbose - information from the printer, so users and administrators can see - exactly what the state of the printer is (such as toner - low or paper jam). But more - importantly, it includes a program called psif - which detects whether the incoming job is plain text and calls - textps (another program that comes with - lprps) to convert it to &postscript;. It then uses - lprps to send the job to the printer. - - lprps is part of the FreeBSD Ports Collection - (see The Ports Collection). You can - fetch, build and install it yourself, of course. After installing - lprps, just specify the pathname to the - psif program that is part of - lprps. If you installed lprps - from the Ports Collection, use the following in the serial - &postscript; printer's entry in - /etc/printcap: - - :if=/usr/local/libexec/psif: + Αλλά, αν επιθυμείτε να στείλετε τόσο εργασίες &postscript; όσο + και απλού κειμένου στον εκτυπωτή σας, τότε σας προτρέπουμε να + προσθέσετε κάποιες ρυθμίσεις στην εγκατάσταση σας. Για να γίνει + αυτό, θα πρέπει το φίλτρο κειμένου να ανιχνεύει αν η τρέχουσα + εργασία είναι απλό κείμενο ή &postscript;. Όλες οι εργασίες + &postscript; πρέπει να ξεκινούν με %! + (αν ο εκτυπωτής σας χρησιμοποιεί άλλη γλώσσα, συμβουλευθείτε + την τεκμηρίωση του). Αν είναι αυτοί οι πρώτοι δύο χαρακτήρες, τότε + έχουμε &postscript;, και η υπόλοιπη εργασία μπορεί να σταλεί + απευθείας στον εκτυπωτή. Αν δεν είναι αυτοί οι πρώτοι δύο + χαρακτήρες, τότε το φίλτρο θα μετατρέψει το κείμενο σε &postscript; + και θα τυπώσει το αποτέλεσμα. - You should also specify the rw capability; - that tells LPD to open the printer in - read-write mode. - - If you have a parallel &postscript; printer (and therefore cannot - use two-way communication with the printer, which - lprps needs), you can use the following shell - script as the text filter: + Πως γίνεται αυτό; - #!/bin/sh + + εκτυπωτές + σειριακοί + + Αν είστε κάτοχος σειριακού εκτυπωτή, ένας καλός τρόπος για + να γίνει αυτό εφικτό είναι να εγκαταστήσετε το + lprps. Το lprps είναι ένα + φίλτρο εκτύπωσης &postscript; που επικοινωνεί αμφίδρομα με τον + εκτυπωτή. Ενημερώνει το αρχείο κατάστασης του εκτυπωτή με + αναλυτικές πληροφορίες, ώστε οι χρήστες και οι διαχειριστές να + μπορούν να δουν επακριβώς ποια είναι η κατάσταση του εκτυπωτή + (όπως χαμηλή στάθμη toner ή + πρόβλημα χαρτιού). Ακόμη πιο σημαντικό + είναι πως περιέχει το πρόγραμμα psif που + ανιχνεύει αν η εισερχόμενη εργασία είναι απλού κειμένου και καλεί το + textps (ένα άλλο πρόγραμμα που περιέχεται στο + lprps) να το μετατρέψει σε &postscript;. Τέλος + χρησιμοποιείται το lprps για να αποστείλει την + εργασία στον εκτυπωτή. + + Το lprps είναι μέρος της Συλλογής των Ports + του &os; (δείτε Η Συλλογή των Ports). + Φυσικά, μπορείτε να το κατεβάσετε, να το μεταγλωττίσετε και να το + εγκαταστήσετε μόνοι σας. Μετά την εγκατάσταση του + lprps, απλά προσδιορίστε τη διαδρομή προς το + πρόγραμμα psif που είναι μέρος του + lprps. Αν εγκαταστήσατε το + lprps από την Συλλογή των Ports, τότε για τον + σειριακό σας εκτυπωτή &postscript; χρησιμοποιήστε την ακόλουθη + καταχώριση στο αρχείο /etc/printcap: + + :if=/usr/local/libexec/psif: + + Θα πρέπει επίσης να καθορίσετε την ικανότητα + rw η οποία ορίζει ότι το + LPD θα χειρίζεται τον εκτυπωτή σε + κατάσταση ανάγνωσης και εγγραφής. + + Αν έχετε παράλληλο εκτυπωτή &postscript; (και για το λόγο αυτό + δεν μπορείτε να χρησιμοποιήσετε αμφίδρομη επικοινωνία με τον + εκτυπωτή, όπως απαιτείται από το lprps), μπορείτε + να χρησιμοποιήσετε το ακόλουθο shell script ως φίλτρο + κειμένου: + + #!/bin/sh # # psif - Print PostScript or plain text on a PostScript printer # Script version; NOT the version that comes with lprps @@ -1836,52 +1947,63 @@ else ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0 exit 2 fi - - In the above script, textps is a program we - installed separately to convert plain text to &postscript;. You can - use any text-to-&postscript; program you wish. The FreeBSD Ports - Collection (see The Ports Collection) - includes a full featured text-to-&postscript; program called - a2ps that you might want to investigate. - - - - Simulating &postscript; on Non &postscript; Printers - - PostScript - emulating - - - Ghostscript - &postscript; is the de facto standard for - high quality typesetting and printing. &postscript; is, however, an - expensive standard. Thankfully, Aladdin - Enterprises has a free &postscript; work-alike called - Ghostscript that runs with FreeBSD. - Ghostscript can read most &postscript; files and can render their - pages onto a variety of devices, including many brands of - non-PostScript printers. By installing Ghostscript and using a - special text filter for your printer, you can make your - non &postscript; printer act like a real &postscript; printer. - - Ghostscript is in the FreeBSD Ports Collection, if you - would like to install it from there. You can fetch, build, and - install it quite easily yourself, as well. - - To simulate &postscript;, we have the text filter detect if it is - printing a &postscript; file. If it is not, then the filter will pass - the file directly to the printer; otherwise, it will use Ghostscript - to first convert the file into a format the printer will - understand. - - Here is an example: the following script is a text filter - for Hewlett Packard DeskJet 500 printers. For other printers, - substitute the argument to the - gs (Ghostscript) command. (Type gs - -h to get a list of devices the current installation of - Ghostscript supports.) - #!/bin/sh + Στο παραπάνω script, το textps είναι ένα + πρόγραμμα που εγκαταστήσαμε ξεχωριστά για να μετατρέπουμε απλό + κείμενο σε &postscript;. Μπορείτε να χρησιμοποιείτε οποιοδήποτε + πρόγραμμα μετατροπής από κείμενο- σε-&postscript;. Η Συλλογή των + Ports (δείτε Η Συλλογή των Ports) + περιέχει επίσης ένα πλήρες πρόγραμμα μετατροπής + από κείμενο σε &postscript;, το a2ps που ίσως + επιθυμείτε να διερευνήσετε. + + + + Προσομοίωση &postscript; για Εκτυπωτές που δεν το + Υποστηρίζουν + + + PostScript + προσομοίωση + + + Ghostscript + Το &postscript; είναι το de facto πρότυπο + για στοιχειοθεσία και εκτύπωση υψηλής ποιότητας. Ωστόσο, το + &postscript; είναι κάπως δαπανηρό πρότυπο. + Ευτυχώς, η Aladdin Enterprises παρέχει ένα παρεμφερές ελεύθερο + &postscript; που ονομάζεται Ghostscript + και δουλεύει άψογα στο &os;. Το Ghostscript διαβάζει τα περισσότερα + αρχεία &postscript; και μπορεί να αποδώσει τις σελίδες τους σε + μεγάλη γκάμα συσκευών, συμπεριλαμβάνοντας πολλούς τύπους εκτυπωτών + που δεν υποστηρίζουν &postscript;. Εγκαθιστώντας το + Ghostscript και χρησιμοποιώντας ένα + ειδικό φίλτρο κειμένου για τον εκτυπωτή σας, μπορείτε να κάνετε τον + κοινό εκτυπωτή σας να λειτουργεί σαν ένας πραγματικός εκτυπωτής + &postscript;. + + Το Ghostscript βρίσκεται στην + Συλλογή των Ports του &os;, και μάλιστα σε πολλές εκδόσεις. Η πιο + διαδεδομένη είναι το print/ghostscript-gpl. + + Για να κάνετε προσομοίωση &postscript;, πρέπει το φίλτρο + κειμένου να ανιχνεύσει αν εκτυπώνετε αρχείο &postscript;. Εάν όχι, + τότε το φίλτρο θα περάσει το αρχείο κατευθείαν στον εκτυπωτή. + Διαφορετικά, θα χρησιμοποιήσει το + Ghostscript για να μετατρέψει + αρχικά το αρχείο σε ένα τύπο που θα καταλαβαίνει ο εκτυπωτής. + + Ιδού ένα παράδειγμα: το ακόλουθο script είναι ένα φίλτρο + κειμένου για εκτυπωτές Hewlett Packard DeskJet 500. Για άλλους + εκτυπωτές, αντικαταστήστε το όρισμα στην + εντολή gs + (Ghostscript). (Πληκτρολογήστε + gs για να δείτε την λίστα + συσκευών που υποστηρίζει η τρέχουσα εγκατάσταση του + Ghostscript.) + + #!/bin/sh # # ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500 # Installed in /usr/local/libexec/ifhp @@ -1909,205 +2031,219 @@ else # Plain text or HP/PCL, so just print it directly; print a form feed # at the end to eject the last page. # - echo "$first_line" && cat && printf "\033&l0H" && + echo "$first_line" && cat && printf "\033&l0H" && exit 0 fi exit 2 - Finally, you need to notify LPD of - the filter via the if capability: - - :if=/usr/local/libexec/ifhp: + Τέλος, χρειάζεται να ενημερώσετε το + LPD για το φίλτρο με την ικανότητα + if: - That is it. You can type lpr plain.text and - lpr whatever.ps and both should print - successfully. + :if=/usr/local/libexec/ifhp: + + Αυτό είναι όλο. Μπορείτε να πληκτρολογήσετε + lpr plain.text και + lpr whatever.ps και τα δύο θα εκτυπωθούν επιτυχώς. - + - Conversion Filters + Φίλτρα Μετατροπής - After completing the simple setup described in Simple Printer Setup, the first - thing you will probably want to do is install conversion filters for - your favorite file formats (besides plain ASCII text). - - - Why Install Conversion Filters? - - &tex; - printing DVI files - - - Conversion filters make printing various kinds of files easy. - As an example, suppose we do a lot of work with the &tex; - typesetting system, and we have a &postscript; printer. Every time - we generate a DVI file from &tex;, we cannot print it directly until - we convert the DVI file into &postscript;. The command sequence - goes like this: - - &prompt.user; dvips seaweed-analysis.dvi -&prompt.user; lpr seaweed-analysis.ps - - By installing a conversion filter for DVI files, we can skip - the hand conversion step each time by having - LPD do it for us. - Now, each time we get a DVI file, we are just one step away from - printing it: - - &prompt.user; lpr -d seaweed-analysis.dvi - - We got LPD to do the DVI file - conversion for us by specifying - the option. Section Formatting and Conversion - Options lists the conversion options. - - For each of the conversion options you want a printer to - support, install a conversion filter and - specify its pathname in /etc/printcap. A - conversion filter is like the text filter for the simple printer - setup (see section Installing - the Text Filter) except that instead of printing plain - text, the filter converts the file into a format the printer can - understand. - + Το επόμενο βήμα μετά την ολοκλήρωση της απλής εγκατάστασης που + περιγράψαμε στις Βασικές Ρυθμίσεις + Εκτυπωτών, είναι συνήθως η εγκατάσταση φίλτρων μετατροπής + για τους τύπους αρχείων που προτιμάτε (εκτός από απλό κείμενο + ASCII). - - Which Conversion Filters Should I Install? - - You should install the conversion filters you expect to use. - If you print a lot of DVI data, then a DVI conversion filter is in - order. If you have got plenty of troff to print out, then you - probably want a troff filter. - - The following table summarizes the filters that - LPD works - with, their capability entries for the - /etc/printcap file, and how to invoke them - with the lpr command: + + Γιατί να εγκαταστήσετε Φίλτρα Μετατροπής; + + &tex; + εκτύπωση αρχείων DVI + - - - - - File type - /etc/printcap capability - lpr option - - - - - - cifplot - cf - - - - - DVI - df - - - - - plot - gf - - - - - ditroff - nf - - - - - FORTRAN text - rf - - - - - troff - tf - - - - - raster - vf - - - - - plain text - if - none, , or - - - - - - - In our example, using lpr -d means the - printer needs a df capability in its entry in - /etc/printcap. - - FORTRAN - Despite what others might contend, formats like FORTRAN text - and plot are probably obsolete. At your site, you can give new - meanings to these or any of the formatting options just by - installing custom filters. For example, suppose you would like to - directly print Printerleaf files (files from the Interleaf desktop - publishing program), but will never print plot files. You could - install a Printerleaf conversion filter under the - gf capability and then educate your users that - lpr -g mean print Printerleaf - files. - + Τα φίλτρα μετατροπής κάνουν την εκτύπωση διαφόρων τύπων + αρχείων εύκολη υπόθεση. Για παράδειγμα, ας υποθέσουμε ότι έχουμε + να κάνουμε αρκετή εργασία με το σύστημα στοιχειοθεσίας &tex;, και + ότι έχουμε εκτυπωτή &postscript;. Κάθε φορά που δημιουργούμε ένα + αρχείο DVI με το &tex;, δεν μπορούμε να εκτυπώσουμε κατευθείαν έως + ότου να μετατρέψουμε το αρχείο DVI σε &postscript;. Η ακολουθία + εντολών που πρέπει να ακολουθήσουμε είναι: - - Installing Conversion Filters - - Since conversion filters are programs you install outside of - the base FreeBSD installation, they should probably go under - /usr/local. The directory - /usr/local/libexec is a popular location, - since they are specialized programs that only - LPD will run; - regular users should not ever need to run them. - - To enable a conversion filter, specify its pathname under the - appropriate capability for the destination printer in - /etc/printcap. - - In our example, we will add the DVI conversion filter to the - entry for the printer named bamboo. Here is - the example /etc/printcap file again, with - the new df capability for the printer - bamboo. + &prompt.user; dvips seaweed-analysis.dvi +&prompt.user; lpr seaweed-analysis.ps - # + Με την χρήση ενός φίλτρου μετατροπής για αρχεία DVI, μπορούμε + να αποφύγουμε την μετατροπή που πρέπει να κάνουμε κάθε φορά + χειροκίνητα, καλώντας το LPD να κάνει + τη δουλειά για μας. Τώρα, κάθε φορά που έχουμε ένα αρχείο DVI, + για να το τυπώσουμε χρειάζεται μόνο ένα βήμα: + + &prompt.user; lpr seaweed-analysis.dvi + + Έχουμε αναθέσει στο LPD να κάνει τη + μετατροπή του αρχείου DVI προσθέτοντας του την επιλογή + . Η ενότητα Επιλογές Μορφοποίησης και + Μετατροπής περιέχει τους πίνακες επιλογής + μετατροπών. + + Για κάθε επιλογή μετατροπής που θέλετε να υποστηρίζετε από + ένα εκτυπωτή, πρέπει να εγκαταστήσετε ένα + φίλτρο μετατροπής και να ορίσετε την + διαδρομή του στο αρχείο /etc/printcap. Ένα + φίλτρο μετατροπής είναι σαν το φίλτρο κειμένου στην απλή + εγκατάσταση εκτυπωτή (δείτε την ενότητα Εγκατάσταση Φίλτρου + Κειμένου) με μόνη διαφορά πως αντί το φίλτρο να + εκτυπώνει απλό κείμενο, μετατρέπει το αρχείο σε μια διαφορετική + μορφή ώστε να είναι κατανοητό από τον εκτυπωτή. + + + + Ποιο Φίλτρο Μετατροπής θα Πρέπει να Εγκαταστήσω; + + Θα πρέπει να εγκαθιστάτε τα φίλτρα μετατροπής που νομίζετε + πως θα χρησιμοποιήσετε. Αν εκτυπώνετε αρκετά δεδομένα DVI, τότε + είναι λογικό να συμπεριλάβετε ένα φίλτρο μετατροπής DVI. Αν + εκτυπώνετε συχνά δεδομένα troff, θα θέλετε να εγκαταστήσετε ένα + φίλτρο troff. + + Ο ακόλουθος πίνακας συνοψίζει τα φίλτρα με τα οποία + συνεργάζεται το LPD, τις καταχωρίσεις + της αντίστοιχης ικανότητας στο αρχείο + /etc/printcap, και πως να τις καλέσετε μέσω + της εντολής lpr: + + + + + + Τύπος αρχείου + Ικανότητα /etc/printcap + Παράμετρος εντολής lpr + + + + + + cifplot + cf + + + + + DVI + df + + + + + plot + gf + + + + + ditroff + nf + + + + + FORTRAN text + rf + + + + + troff + tf + + + + + raster + vf + + + + + plain text + if + none, , or + + + + + + + Στο παράδειγμα μας, αν χρησιμοποιήσουμε + lpr σημαίνει ότι ο + εκτυπωτής χρειάζεται την ικανότητα df στην + καταχώριση του στο /etc/printcap. + + FORTRAN + Αν και κάποιοι μπορεί να ισχυριστούν το αντίθετο, μερικοί + τύποι αρχείων όπως είναι τα κείμενα και γραφικά FORTRAN είναι + ξεπερασμένα. Μπορείτε να δώσετε νέα πνοή σε αρχεία αυτού του + τύπου (ή και οποιασδήποτε άλλης μορφής εξόδου), εγκαθιστώντας + προσαρμοσμένα φίλτρα. Για παράδειγμα, ας υποθέσουμε ότι θα θέλατε + να εκτυπώσετε κατευθείαν αρχεία Printerleaf (αρχεία προερχόμενα + από το πρόγραμμα επιτραπέζιας τυπογραφίας Interleaf), αλλά δεν + θα εκτυπώσετε ποτέ διαγράμματα (plots). Θα μπορούσατε να + εγκαταστήσετε ένα φίλτρο μετατροπής αρχείων Printerleaf υπό την + ικανότητα gf και να εκπαιδεύσετε τους χρήστες + σας ότι η εντολή lpr + σημαίνει τύπωσε αρχεία Printerleaf. + + + + Εγκατάσταση Φίλτρων Μετατροπών + + Από τη στιγμή που τα φίλτρα μετατροπής είναι προγράμματα που + δεν ανήκουν στο βασικό σύστημα εγκατάστασης του &os;, είναι πιο + σωστό να εγκατασταθούν στον κατάλογο + /usr/local. Ένας συνήθης + προορισμός των προγραμμάτων αυτών είναι ο κατάλογος + /usr/local/libexec, μια + που πρόκειται για εξειδικευμένα προγράμματα που εκτελούνται μόνο + από το LPD. Οι απλοί χρήστες δεν θα + χρειαστεί ποτέ να τα εκτελέσουν. + + Για να ενεργοποιήσετε ένα φίλτρο μετατροπής, προσδιορίστε τη + διαδρομή του στο αρχείο /etc/printcap, + αλλάζοντας την κατάλληλη ικανότητα στον εκτυπωτή που επιθυμείτε + να το χρησιμοποιήσετε. + + Στο παράδειγμα μας, θα προσθέσουμε το φίλτρο μετατροπής DVI + στην καταχώριση μας για τον εκτυπωτή με το όνομα + bamboo. Ακολουθεί, λοιπόν, το παράδειγμα + για το αρχείο /etc/printcap, με την νέα + ικανότητα df για τον εκτυπωτή + bamboo: + + # # /etc/printcap for host rose - added df filter for bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: + :sh:sd=/var/spool/lpd/bamboo:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: - The DVI filter is a shell script named - /usr/local/libexec/psdf. Here is that - script: + Το φίλτρο DVI είναι ένα shell script που ονομάζεται + /usr/local/libexec/psdf, το οποίο και + παραθέτουμε παρακάτω: - #!/bin/sh + #!/bin/sh # # psdf - DVI to PostScript printer filter # Installed in /usr/local/libexec/psdf @@ -2116,88 +2252,96 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ # exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@" - This script runs dvips in filter mode (the - argument) on standard input, which is the job - to print. It then starts the &postscript; printer filter - lprps (see section Accommodating Plain - Text Jobs on &postscript; Printers) with the arguments - LPD - passed to this script. lprps will use those - arguments to account for the pages printed. - - - - More Conversion Filter Examples - - Since there is no fixed set of steps to install conversion - filters, let me instead provide more examples. Use these as - guidance to making your own filters. Use them directly, if - appropriate. - - This example script is a raster (well, GIF file, actually) - conversion filter for a Hewlett Packard LaserJet III-Si - printer: + Αυτό το script τρέχει το dvips σε κατάσταση + φίλτρου (με την παράμετρο ) στην standard + input, από όπου και λαμβάνει την εργασία προς εκτύπωση. Αυτό + ξεκινά το φίλτρο εκτύπωσης &postscript; lprps + (δείτε την ενότητα Συμβατότητα Εργασιών + Απλού Κειμένου σε εκτυπωτές &postscript;) δίνοντας του + και τις παραμέτρους που πέρασε το LPD + στο παραπάνω script. Το lprps θα + χρησιμοποιήσει αυτές τις παραμέτρους για την καταμέτρηση των + εκτυπωμένων σελίδων. + - #!/bin/sh + + Ακόμα μερικά Παραδείγματα Φίλτρων Μετατροπής + + Από τη στιγμή που δεν υπάρχει αυτοματοποιημένη μέθοδος για την + εγκατάσταση των φίλτρων μετατροπής, ας μας επιτραπεί να παρέχουμε + μερικά ακόμη παραδείγματα. Μπορείτε να τα χρησιμοποιήσετε σαν + οδηγό για την δημιουργία των δικών σας φίλτρων. Αν νομίζετε πως + είναι κατάλληλα για την περίπτωση σας μπορείτε να τα + χρησιμοποιήσετε και κατευθείαν. + + Αυτό το παράδειγμα script είναι ένα φίλτρο μετατροπής ράστερ + (αρχείου GIF για την ακρίβεια) για έναν εκτυπωτή Hewlett Packard + LaserJet III-Si: + + #!/bin/sh # # hpvf - Convert GIF files into HP/PCL, then print # Installed in /usr/local/libexec/hpvf - + PATH=/usr/X11R6/bin:$PATH; export PATH giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \ && exit 0 \ || exit 2 - It works by converting the GIF file into a portable anymap, - converting that into a portable graymap, converting that into a - portable bitmap, and converting that into LaserJet/PCL-compatible - data. - - Here is the /etc/printcap file with an - entry for a printer using the above filter: + Δουλεύει ως εξής: μετατρέπει το αρχείο GIF σε ένα γενικό + φορητό τύπο anymap, εν συνεχεία το μετατρέπει σε ένα φορητό τύπο + graymap, έπειτα σε ένα φορητό τύπο bitmap, και τέλος το + μετατρέπει σε δεδομένα συμβατά με PCL για τον LaserJet. - # + Εδώ είναι το αρχείο /etc/printcap με μια + καταχώριση για έναν εκτυπωτή που χρησιμοποιεί το παραπάνω + φίλτρο: + + # # /etc/printcap for host orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/hpif:\ - :vf=/usr/local/libexec/hpvf: - - The following script is a conversion filter for troff data - from the groff typesetting system for the &postscript; printer named - bamboo: + :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ + :if=/usr/local/libexec/hpif:\ + :vf=/usr/local/libexec/hpvf: - #!/bin/sh + Το ακόλουθο script είναι ένα φίλτρο μετατροπής δεδομένων troff + από το σύστημα στοιχειοθεσίας groff για τον εκτυπωτή &postscript; + με όνομα bamboo: + + #!/bin/sh # # pstf - Convert groff's troff data into PS, then print. # Installed in /usr/local/libexec/pstf # exec grops | /usr/local/libexec/lprps "$@" - - The above script makes use of lprps again - to handle the communication with the printer. If the printer were - on a parallel port, we would use this script instead: - #!/bin/sh + Το παραπάνω script χρησιμοποιεί πάλι το + lprps για να χειριστεί την επικοινωνία με τον + εκτυπωτή. Αν ο εκτυπωτής ήταν σε παράλληλη πόρτα τότε θα είχαμε, + αντιθέτως, χρησιμοποιήσει το ακόλουθο script: + + #!/bin/sh # # pstf - Convert groff's troff data into PS, then print. # Installed in /usr/local/libexec/pstf # exec grops - - That is it. Here is the entry we need to add to - /etc/printcap to enable the filter: - - :tf=/usr/local/libexec/pstf: - - Here is an example that might make old hands at FORTRAN blush. - It is a FORTRAN-text filter for any printer that can directly - print plain text. We will install it for the printer - teak: - #!/bin/sh + Εδώ είναι η καταχώριση που χρειάζεται να προσθέσουμε στο + /etc/printcap για να ενεργοποιήσουμε το + φίλτρο: + + :tf=/usr/local/libexec/pstf: + + Εδώ είναι ένα παράδειγμα που μας επιτρέπει να εκτυπώσουμε + παλαιό κώδικα της FORTRAN. Είναι ένα φίλτρο κειμένου για FORTRAN + για οποιονδήποτε εκτυπωτή μπορεί να εκτυπώσει κατευθείαν απλό + κείμενο. Θα το εγκαταστήσουμε για έναν εκτυπωτή που ονομάζεται + teak: + + #!/bin/sh # # hprf - FORTRAN text filter for LaserJet 3si: # Installed in /usr/local/libexec/hprf @@ -2206,60 +2350,68 @@ exec grops printf "\033&k2G" && fpr && printf "\033&l0H" && exit 0 exit 2 - - And we will add this line to the - /etc/printcap for the printer - teak to enable this filter: - - :rf=/usr/local/libexec/hprf: - - Here is one final, somewhat complex example. We will add a - DVI filter to the LaserJet printer teak - introduced earlier. First, the easy part: updating - /etc/printcap with the location of the DVI - filter: - - :df=/usr/local/libexec/hpdf: - - Now, for the hard part: making the filter. For that, we need - a DVI-to-LaserJet/PCL conversion program. The FreeBSD Ports - Collection (see The Ports Collection) - has one: dvi2xx is the name of the package. - Installing this package gives us the program we need, - dvilj2p, which converts DVI into LaserJet IIp, - LaserJet III, and LaserJet 2000 compatible codes. - - dvilj2p makes the filter - hpdf quite complex since - dvilj2p cannot read from standard input. It - wants to work with a filename. What is worse, the filename has to - end in .dvi so using - /dev/fd/0 for standard input is problematic. - We can get around that problem by linking (symbolically) a - temporary file name (one that ends in .dvi) - to /dev/fd/0, thereby forcing - dvilj2p to read from standard input. - - The only other fly in the ointment is the fact that we cannot - use /tmp for the temporary link. Symbolic - links are owned by user and group bin. The - filter runs as user daemon. And the - /tmp directory has the sticky bit set. The - filter can create the link, but it will not be able clean up when - done and remove it since the link will belong to a different - user. - - Instead, the filter will make the symbolic link in the current - working directory, which is the spooling directory (specified by - the sd capability in - /etc/printcap). This is a perfect place for - filters to do their work, especially since there is (sometimes) - more free disk space in the spooling directory than under - /tmp. - - Here, finally, is the filter: - #!/bin/sh + Και θα προσθέσουμε αυτή τη γραμμή στο + /etc/printcap για να ενεργοποιήσουμε το + φίλτρο για τον εκτυπωτή teak: + + :rf=/usr/local/libexec/hprf: + + Και ένα τελευταίο κάπως περίπλοκο παράδειγμα: Θα + προσθέσουμε ένα φίλτρο DVI στον εκτυπωτή LaserJet + teak που αναφέραμε προηγούμενα. Καταρχήν το + εύκολο μέρος: αναβαθμίζουμε το /etc/printcap + με την τοποθεσία όπου βρίσκεται το φίλτρο DVI: + + :df=/usr/local/libexec/hpdf: + + Τώρα, το δύσκολο μέρος: η κατασκευή του φίλτρου. Θα + χρειαστούμε ένα πρόγραμμα μετατροπής από DVI-σε-LaserJet/PCL. + Στην Συλλογή των Ports του &os; (δείτε Συλλογή των Ports) υπάρχει ένα τέτοιο + πρόγραμμα: Το όνομα του πακέτου είναι dvi2xx. + Η εγκατάσταση του πακέτου, μας παρέχει ακριβώς το πρόγραμμα + που χρειαζόμαστε, το dvilj2p, το οποίο + μετατρέπει τον κώδικα DVI σε κώδικα συμβατό με LaserJet IIp, + LaserJet III, και LaserJet 2000. + + Το dvilj2p κάνει το φίλτρο + hpdf αρκετά περίπλοκο από τη στιγμή που το + dvilj2p δε μπορεί να διαβάσει από το standard + input. Χρειάζεται να δουλέψει με κάποιο όνομα αρχείου. Ακόμη + χειρότερα, το όνομα του αρχείου πρέπει να τελειώνει σε + .dvi κι επομένως η χρήση του + /dev/fd/0 ως standard + input είναι προβληματική. Θα μπορούσαμε να αντιμετωπίσουμε το + πρόβλημα δημιουργώντας (συμβολικούς) δεσμούς με κάποιο προσωρινό + όνομα αρχείου (που να τελειώνει σε .dvi) + για το /dev/fd/0, και με + αυτό τον τρόπο να εξαναγκάσουμε το dvilj2p να + διαβάζει από το standard input. + + Ακόμη ένα πρόβλημα που προκύπτει είναι το γεγονός πως δεν + μπορούμε να χρησιμοποιήσουμε το + /tmp για τον + προσωρινό δεσμό. Οι συμβολικοί δεσμοί ανήκουν στον χρήστη και + στην ομάδα bin, ενώ το φίλτρο τρέχει σαν + χρήστης daemon. Επίσης στον κατάλογο + /tmp είναι ενεργό το + sticky bit. Το φίλτρο μπορεί να δημιουργήσει το δεσμό, αλλά δεν + θα είναι ικανό να τον εξαλείψει και να τον αφαιρέσει από τη + στιγμή που αυτός θα ανήκει σε διαφορετικό χρήστη. + + Αντίθετα, το φίλτρο θα φτιάξει το συμβολικό link στον τρέχοντα + κατάλογο, που είναι ο κατάλογος παροχέτευσης (spooling) (και που + προσδιορίζεται από την ικανότητα sd στο + /etc/printcap). Αυτό είναι το τέλειο μέρος + για να δουλεύουν τα φίλτρα, ειδικά λόγω του ότι (μερικές φορές) + υπάρχει περισσότερες ελεύθερος χώρος στο δίσκο στον κατάλογο + παροχέτευσης (spool) από ότι στο + /tmp. + + Και τελικά, ιδού το φίλτρο: + + #!/bin/sh # # hpdf - Print DVI data on HP/PCL printer # Installed in /usr/local/libexec/hpdf @@ -2290,7 +2442,7 @@ fatal() { # If user removes the job, LPD will send SIGINT, so trap SIGINT # (and a few other signals) to clean up after ourselves. # -trap cleanup 1 2 15 +trap cleanup 1 2 15 # # Make sure we are not colliding with any existing files. @@ -2307,7 +2459,7 @@ ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0" # printf "\033&k2G" || fatal "Cannot initialize printer" -# +# # Convert and print. Return value from dvilj2p does not seem to be # reliable, so we ignore it. # @@ -2318,270 +2470,292 @@ dvilj2p -M1 -q -e- dfhp$$.dvi # cleanup exit 0 - + - - Automated Conversion: an Alternative to Conversion - Filters - - All these conversion filters accomplish a lot for your - printing environment, but at the cost forcing the user to specify - (on the &man.lpr.1; command line) which one to use. - If your users are not particularly computer literate, having to - specify a filter option will become annoying. What is worse, - though, is that an incorrectly specified filter option may run a - filter on the wrong type of file and cause your printer to spew - out hundreds of sheets of paper. - - Rather than install conversion filters at all, you might want - to try having the text filter (since it is the default filter) - detect the type of file it has been asked to print and then - automatically run the right conversion filter. Tools such as - file can be of help here. Of course, it will - be hard to determine the differences between - some file types—and, of course, you can - still provide conversion filters just for them. - - apsfilter - - printing - filters - apsfilter - - The FreeBSD Ports Collection has a text filter that performs - automatic conversion called apsfilter. It can - detect plain text, &postscript;, and DVI files, run the proper - conversions, and print. - + + Αυτοματοποιημένες Μετατροπές: Μία Εναλλακτική στα Φίλτρα + Μετατροπής + + Όλα τα φίλτρα μετατροπής μπορεί να πληρούν το περιβάλλον + εκτυπώσεων σας, αλλά υποχρεώνουν τον χρήστη να προσδιορίζει + (στην γραμμή εντολών του &man.lpr.1;) ποιό από αυτά θα + χρησιμοποιηθεί. Αν οι χρήστες σας δεν είναι ιδιαίτερα + εξοικειωμένοι με τους Η/Υ, το να πρέπει να αναφέρουν κάθε φορά + ένα φίλτρο πιθανώς να είναι ενοχλητικό. Είναι ακόμα χειρότερο + ωστόσο να γίνει λανθασμένη επιλογή φίλτρου, το οποίο θα + εκτελεστεί σε ακατάλληλο για αυτό τύπο αρχείου, και θα προκαλέσει + την σπατάλη εκατοντάδων σελίδων χαρτιού. + + Αντί να εγκαταστήσετε οποιοδήποτε φίλτρο μετατροπής, μπορεί να + θέλετε να δοκιμάσετε να έχετε ένα φίλτρο κειμένου (αφού είναι + το προεπιλεγμένο φίλτρο) που να ανιχνεύει τον τύπο του αρχείου + που έχει ζητηθεί να εκτυπωθεί και να εκτελεί αυτόματα το + κατάλληλο φίλτρο μετατροπής. Εργαλεία σαν το + file μπορούν να σας βοηθήσουν. Μπορεί να + είναι δύσκολο να προσδιοριστούν οι διαφορές μεταξύ + κάποιων τύπων αρχείων—αλλά, φυσικά, + μπορείτε πάντα να παρέχετε φίλτρα μετατροπής ειδικά για αυτές τις + περιπτώσεις. + + apsfilter + + printing + filters + apsfilter + + Η Συλλογή των Ports του &os; έχει ένα φίλτρο κειμένου που + εκτελεί αυτόματες μετατροπές και ονομάζεται + apsfilter. Μπορεί να ανιχνεύει απλό κείμενο, + &postscript;, DVI και σχεδόν οποιοδήποτε τύπο αρχείου, να εκτελεί + την κατάλληλη μετατροπή, και να εκτυπώνει. + - + - Output Filters + Φίλτρα Εξόδου - The LPD spooling system supports one - other type of filter that - we have not yet explored: an output filter. An output filter is - intended for printing plain text only, like the text filter, but - with many simplifications. If you are using an output filter but no - text filter, then: + Το σύστημα παροχέτευσης LPD + υποστηρίζει έναν ακόμη τύπο φίλτρου που ίσως να μην έχετε + εξερευνήσει ακόμα: το φίλτρο εξόδου. Το φίλτρο εξόδου προορίζεται + μόνο για εκτύπωση απλού κειμένου, όπως το φίλτρο κειμένου, αλλά με + πολλές απλοποιήσεις. Εάν χρησιμοποιείτε φίλτρο εξόδου αλλά όχι + φίλτρο κειμένου, τότε: - - - LPD starts an output filter once - for the entire job instead - of once for each file in the job. - - - - LPD does not make any provision - to identify the start or the - end of files within the job for the output filter. - - - - LPD does not pass the user's - login or host to the filter, so - it is not intended to do accounting. In fact, it gets only two - arguments: - - - filter-name - -wwidth - -llength - - - Where width is from the - pw capability and - length is from the - pl capability for the printer in - question. - - + + + Το LPD ξεκινά ένα φίλτρο εξόδου + μόνο μια φορά για όλη την εργασία, αντί ένα χωριστό για κάθε + αρχείο της εργασίας. + - Do not be seduced by an output filter's simplicity. If you - would like each file in a job to start on a different page an output - filter will not work. Use a text filter (also - known as an input filter); see section Installing the Text Filter. - Furthermore, an output filter is actually more - complex in that it has to examine the byte stream being - sent to it for special flag characters and must send signals to - itself on behalf of LPD. - - However, an output filter is necessary if - you want header pages and need to send escape sequences or other - initialization strings to be able to print the header page. (But it - is also futile if you want to charge header - pages to the requesting user's account, since - LPD does not give any - user or host information to the output filter.) - - On a single printer, LPD - allows both an output filter and text or other filters. In - such cases, LPD will start the - output filter - to print the header page (see section Header Pages) - only. LPD then expects the - output filter to stop - itself by sending two bytes to the filter: ASCII 031 - followed by ASCII 001. When an output filter sees these two bytes - (031, 001), it should stop by sending SIGSTOP - to itself. When - LPD's - done running other filters, it will restart the output filter by - sending SIGCONT to it. - - If there is an output filter but no text - filter and LPD is working on a plain - text job, LPD uses the output - filter to do the job. As stated before, the output filter will - print each file of the job in sequence with no intervening form - feeds or other paper advancement, and this is probably - not what you want. In almost all cases, you - need a text filter. - - The program lpf, which we introduced earlier - as a text filter, can also run as an output filter. If you need a - quick-and-dirty output filter but do not want to write the byte - detection and signal sending code, try lpf. You - can also wrap lpf in a shell script to handle any - initialization codes the printer might require. + + Το LPD δεν φροντίζει να + αναγνωρίσει την αρχή ή το τέλος των αρχείων μέσα στην ίδια την + εργασία όταν χρησιμοποιείται το φίλτρο εξόδου. + + + + Το LPD δεν περνάει στο φίλτρο τα + δεδομένα εισόδου του χρήστη ή το όνομα του μηχανήματος, επομένως + δεν προορίζεται για καταμέτρηση εκτυπωμένων σελίδων. Το φίλτρο + εξόδου δέχεται μόνος τις παραμέτρους: + + + filter-name + -wwidth + -llength + + + Όπου το width είναι από την + ικανότητα pw και το + length είναι από την ικανότητα + pl για τον συγκεκριμένο εκτυπωτή. + + + + Μην παρασύρεστε από την απλότητα του φίλτρου εξόδου. Αν + επιθυμείτε κάθε αρχείο μιας εργασίας να ξεκινά σε μια νέα σελίδα, + το φίλτρο εξόδου δεν κάνει για σας. + Χρησιμοποιήστε ένα φίλτρο κειμένου (γνωστό και ως φίλτρο εισόδου). + Δείτε την ενότητα Εγκατάσταση + Φίλτρου Κειμένου. Επιπλέον, ένα φίλτρο εξόδου είναι στην + πραγματικότητα πιο περίπλοκο αφού πρέπει να + εξετάζει την ροή των byte που αποστέλλεται προς αυτό για ειδικούς + χαρακτήρες flag και πρέπει να στέλνει σήματα στον εαυτό + του για λογαριασμό του LPD. + + Ωστόσο, ένα φίλτρο εξόδου είναι αναγκαίο + αν θέλετε σελίδες κεφαλίδας και χρειάζεται να στέλνετε ακολουθίες + διαφυγής ή άλλες ακολουθίες αρχικοποίησης προκειμένου να τις + εκτυπώσετε. (Αλλά είναι επίσης μάταιο αν + θέλετε να χρεώνετε σελίδες κεφαλίδας στον λογαριασμό του αντίστοιχου + χρήστη, από τη στιγμή που το LPD δεν + στέλνει καμιά πληροφορία για τον χρήστη ή τον υπολογιστή στο φίλτρο + εξόδου.) + + Το LPD επιτρέπει την συνύπαρξη + ενός φίλτρου εξόδου και άλλων φίλτρων (κειμένου ή διαφορετικού + τύπου) στον ίδιο εκτυπωτή. Σε αυτές τις περιπτώσεις, το + LPD θα ξεκινά το φίλτρο εξόδου μόνο για + την εκτύπωση της σελίδας κεφαλίδας (δείτε την ενότητα Σελίδες + Κεφαλίδας). Το LPD θα αναμένει + το φίλτρο εξόδου να σταματήσει από μόνο του + όταν του στείλει δύο bytes: ένα ASCII 031 ακολουθούμενο από ένα + ASCII 001. Όταν ένα φίλτρο εξόδου βλέπει αυτά τα δύο bytes (031, + 001), θα πρέπει να σταματά στέλνοντας σήμα + SIGSTOP στον εαυτό του. Όταν το + LPD ολοκληρώσει την εκτέλεση και των + υπολοίπων φίλτρων, θα επανεκκινήσει το φίλτρο εξόδου στέλνοντας + του το σήμα SIGCONT. + + Αν υπάρχει φίλτρο εξόδου, αλλά δεν υπάρχει + φίλτρο κειμένου και το LPD δουλεύει σε + εργασία απλού κειμένου, το LPD + χρησιμοποιεί το φίλτρο εξόδου για την εκτέλεση της εργασίας. Όπως + αναφέραμε και παραπάνω, το φίλτρο εξόδου θα εκτυπώσει κάθε αρχείο + εργασίας στη σειρά, δίχως δυνατότητα παρεμβολής κενής σελίδας ή + άλλων ρυθμίσεων στην τροφοδοσία χαρτιού, και πιθανώς αυτό να + μην είναι επιθυμητό. Σχεδόν σε όλες τις + περιπτώσεις, θα χρειαστείτε ένα φίλτρο κειμένου. + + Το πρόγραμμα lpf, που αναφέραμε νωρίτερα σαν + φίλτρο κειμένου, μπορεί να τρέξει και σαν φίλτρο εξόδου. Αν + χρειάζεστε ένα γρήγορο φίλτρο εξόδου αλλά δεν θέλετε να γράψετε τον + κώδικα ανίχνευσης των byte και τον κώδικα αποστολής σημάτων, + δοκιμάστε το lpf. Μπορείτε επίσης να + χρησιμοποιήσετε το lpf μέσα από ένα shell script + το οποίο θα χειρίζεται τους κωδικούς αρχικοποίησης που ίσως να + χρειάζεται ο εκτυπωτής. - - - <command>lpf</command>: a Text Filter - The program /usr/libexec/lpr/lpf that comes - with FreeBSD binary distribution is a text filter (input filter) - that can indent output (job submitted with lpr - -i), allow literal characters to pass (job submitted - with lpr -l), adjust the printing position for - backspaces and tabs in the job, and account for pages printed. It - can also act like an output filter. - - lpf is suitable for many printing - environments. And although it has no capability to send - initialization sequences to a printer, it is easy to write a shell - script to do the needed initialization and then execute - lpf. - - page accounting - - accounting - printer - - In order for lpf to do page accounting - correctly, it needs correct values filled in for the - pw and pl capabilities in the - /etc/printcap file. It uses these values to - determine how much text can fit on a page and how many pages were in - a user's job. For more information on printer accounting, see Accounting for Printer - Usage. + + <command>lpf</command>: ένα Φίλτρο Κειμένου + + Το πρόγραμμα /usr/libexec/lpr/lpf που + παρέχεται με τη διανομή εκτελέσιμων του &os; είναι ένα φίλτρο + κειμένου (φίλτρο εισόδου) που μπορεί να παραγραφοποιεί την έξοδο + (εργασίες που έχουν σταλεί με + lpr ), να + επιτρέπει την διέλευση literal χαρακτήρων (εργασίες που έχουν + σταλεί με lpr ), να ρυθμίζει + την θέση εκτύπωσης με τη χρήση χαρακτήρων backspace και tab στην + εργασία, και να κάνει καταμέτρηση των εκτυπωμένων σελίδων. Επίσης + μπορεί να ενεργεί και σαν φίλτρο εξόδου. + + Το lpf είναι κατάλληλο για διάφορα + περιβάλλοντα εκτύπωσης. Αν και δεν έχει δυνατότητα αποστολής + ακολουθιών αρχικοποίησης στον εκτυπωτή, είναι εύκολο να γράψετε + ένα shell script για να κάνετε την απαραίτητη αρχικοποίηση και + να εκτελέσετε έπειτα το lpf. + + καταμέτρηση σελίδων + + καταμέτρηση + εκτυπωτής + + Για να κάνει σωστά καταμέτρηση σελίδων, το + lpf χρειάζεται κατάλληλες τιμές για τις + ικανότητες pw και pl στο + αρχείο /etc/printcap. Χρησιμοποιεί αυτές τις + τιμές για να προσδιορίσει πόσο κείμενο μπορεί να χωρέσει σε μία + σελίδα και από πόσες σελίδες αποτελείται η εργασία του χρήστη. Για + περισσότερες πληροφορίες σχετικά με την καταμέτρηση σελίδων, + συμβουλευτείτε την Καταμέτρηση Χρήσης Εκτυπωτών. - + - Header Pages - - If you have lots of users, all of them using - various printers, then you probably want to consider header - pages as a necessary evil. - + Σελίδες Κεφαλίδας + + Αν έχετε αρκετούς χρήστες, και όλοι τους + χρησιμοποιούν διάφορους εκτυπωτές, τότε πιθανώς να θεωρείτε τις + σελίδες κεφαλίδας ως αναγκαίο κακό. + - banner pages - header pages + σελίδες banner + σελίδες κεφαλίδας - header pages - Header pages, also known as banner or - burst pages identify to whom jobs belong after - they are printed. They are usually printed in large, bold letters, - perhaps with decorative borders, so that in a stack of printouts they - stand out from the real documents that comprise users' jobs. They - enable users to locate their jobs quickly. The obvious drawback to a - header page is that it is yet one more sheet that has to be printed - for every job, their ephemeral usefulness lasting not more than a few - minutes, ultimately finding themselves in a recycling bin or rubbish - heap. (Note that header pages go with each job, not each file in a - job, so the paper waste might not be that bad.) - - The LPD system can provide header - pages automatically for your - printouts if your printer can directly print - plain text. If you have a &postscript; printer, you will need an - external program to generate the header page; see Header Pages on - &postscript; Printers. - - - Enabling Header Pages + σελίδες κεφαλίδας + Οι σελίδες κεφαλίδας, γνωστές επίσης και ως + banner ή σελίδες burst + αναγνωρίζουν σε ποιον ανήκουν οι εργασίες μετά την εκτύπωση τους. + Συνήθως τυπώνονται με μεγάλα, έντονα γράμματα, και ίσως με + διακοσμητικά περιγράμματα, ώστε σε μια στοίβα εκτυπώσεων να + ξεχωρίζουν από τα πραγματικά έγγραφα εργασιών των χρηστών. + Επιτρέπουν έτσι στους χρήστες να βρίσκουν γρήγορα τις εργασίες τους. + Το προφανές μειονέκτημα σε μια σελίδα κεφαλίδας είναι πως πρόκειται + να εκτυπωθεί μια ακόμα σελίδα για κάθε μία εργασία. Η εφήμερη + χρησιμότητα τους διαρκεί λίγα λεπτά, και ο προορισμός τους είναι ο + κάδος αχρήστων/ανακύκλωσης. (Παρατηρήστε πως οι σελίδες κεφαλίδας + είναι ανά εργασία, και όχι ανά αρχείο σε μια εργασία, επομένως το + αχρηστευμένο χαρτί ίσως να μην είναι τόσο πολύ). - In the Simple Printer - Setup section, we turned off header pages by specifying - sh (meaning suppress header) in the - /etc/printcap file. To enable header pages for - a printer, just remove the sh capability. + Το σύστημα LPD μπορεί να παρέχει + αυτόματα σελίδες κεφαλίδας για τις εκτυπώσεις σας, + αν ο εκτυπωτής σας μπορεί να εκτυπώσει άμεσα + απλό κείμενο. Αν έχετε εκτυπωτή &postscript;, θα χρειαστείτε ένα + εξωτερικό πρόγραμμα για να δημιουργήσετε την σελίδα κεφαλίδας. Δείτε + το Σελίδες + Κεφαλίδας σε Εκτυπωτές &postscript;. - Sounds too easy, right? + + Ενεργοποίηση Σελίδων Κεφαλίδας - You are right. You might have to provide - an output filter to send initialization strings to the printer. - Here is an example output filter for Hewlett Packard PCL-compatible - printers: + Στην ενότητα Βασικές Ρυθμίσεις + Εκτυπωτών, απενεργοποιήσαμε τις σελίδες κεφαλίδας + με την καταχώριση sh (σημαίνει suppress + header) στο αρχείο /etc/printcap. + Για να ενεργοποιήσετε τις σελίδες κεφαλίδας για κάποιον εκτυπωτή, + απλά αφαιρέστε την ικανότητα sh. - #!/bin/sh + Ακούγεται εύκολο, δεν νομίζετε; + + Έτσι είναι. Ίσως χρειαστεί να παρέχετε ένα + φίλτρο εξόδου για να στείλετε εντολές αρχικοποίησης στον εκτυπωτή. + Εδώ είναι ένα παράδειγμα φίλτρου εξόδου για εκτυπωτές συμβατούς με + τον τύπο PCL της Hewlett Packard: + + #!/bin/sh # # hpof - Output filter for Hewlett Packard PCL-compatible printers # Installed in /usr/local/libexec/hpof printf "\033&k2G" || exit 2 exec /usr/libexec/lpr/lpf - - Specify the path to the output filter in the - of capability. See the Output Filters section for more - information. - - Here is an example /etc/printcap file for - the printer teak that we introduced earlier; we - enabled header pages and added the above output filter: - # + Προσδιορίστε την διαδρομή προς το φίλτρο εξόδου στην ικανότητα + of. Δείτε την ενότητα Φίλτρα Εξόδου για + περισσότερες πληροφορίες. + + Εδώ είναι ένα παράδειγμα αρχείου + /etc/printcap για τον εκτυπωτή + teak από το προηγούμενο παράδειγμα. + Ενεργοποιήσαμε τις σελίδες κεφαλίδας και προσθέσαμε το παραπάνω + φίλτρο εξόδου: + + # # /etc/printcap for host orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/hpif:\ - :vf=/usr/local/libexec/hpvf:\ - :of=/usr/local/libexec/hpof: - - Now, when users print jobs to teak, they get - a header page with each job. If users want to spend time searching - for their printouts, they can suppress header pages by submitting - the job with lpr -h; see the Header Page Options section for - more &man.lpr.1; options. + :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ + :if=/usr/local/libexec/hpif:\ + :vf=/usr/local/libexec/hpvf:\ + :of=/usr/local/libexec/hpof: - - LPD prints a form feed character - after the header page. If - your printer uses a different character or sequence of characters - to eject a page, specify them with the ff - capability in /etc/printcap. - + Τώρα, όταν οι χρήστες εκτυπώνουν εργασίες στον + teak, θα παίρνουν και μία σελίδα κεφαλίδας ανά + εργασία. Αν οι χρήστες θέλουν να ξοδεύουν χρόνο ψάχνοντας για + τις εκτυπώσεις τους, μπορούν να παρεμποδίσουν τις σελίδες κεφαλίδας + αποστέλλοντας τις εργασίες τους με + lpr . Δείτε την ενότητα + Επιλογές Σελίδων + Κεφαλίδας για περισσότερες επιλογές του &man.lpr.1;. + + + Το LPD στέλνει το χαρακτήρα + αλλαγής σελίδας (form feed) αμέσως μετά τη σελίδα κεφαλίδας. Αν + ο εκτυπωτής σας χρησιμοποιεί διαφορετικό χαρακτήρα ή ακολουθία + χαρακτήρων για την αλλαγή σελίδας, προσδιορίστε τα με την + ικανότητα ff στο αρχείο + /etc/printcap. + - - - Controlling Header Pages - By enabling header pages, LPD will - produce a long - header, a full page of large letters identifying the - user, host, and job. Here is an example (kelly printed the job - named outline from host rose): - - k ll ll + + Έλεγχος Σελίδων Κεφαλίδας + + Μετά την ενεργοποίηση των σελίδων κεφαλίδας, το + LPD θα παράγει μία επιμήκη + κεφαλίδα, μία ολόκληρη σελίδα με μεγάλα γράμματα που + προσδιορίζει τον χρήστη, τον υπολογιστή (host), και την εργασία. + Εδώ είναι ένα παράδειγμα (η kelly εκτύπωσε την + εργασία με όνομα outline από τον υπολογιστή + rose): + + k ll ll k l l k l l k k eeee l l y y @@ -2627,127 +2801,142 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ Job: outline - Date: Sun Sep 17 11:04:58 1995 + Date: Sun Sep 17 11:04:58 1995 - LPD appends a form feed after this - text so the job starts on a - new page (unless you have sf (suppress form - feeds) in the destination printer's entry in - /etc/printcap). - - If you prefer, LPD can make a - short header; - specify sb (short banner) in the - /etc/printcap file. The header page will look - like this: - - rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995 + Το LPD προσθέτει μια εντολή αλλαγής + σελίδας (form feed) μετά από αυτό το κείμενο έτσι ώστε η + εργασία να ξεκινήσει σε νέα σελίδα (εκτός αν έχετε προσδιορίσει την + ικανότητα sf (suppress form feeds) για τον + εκτυπωτή στο αρχείο /etc/printcap). - Also by default, LPD prints the - header page first, then the job. - To reverse that, specify hl (header last) in - /etc/printcap. + Αν προτιμάτε, το LPD μπορεί να + φτιάξει μια μικρότερου μήκους κεφαλίδα. + Προσδιορίστε sb (short banner) στο αρχείο + /etc/printcap. Η σελίδα κεφαλίδας θα μοιάζει + σαν αυτή: + + rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995 + + Το LPD τυπώνει (από προεπιλογή) + πρώτα την σελίδα κεφαλίδας, και μετά την εργασία. Για να + αντιστρέψετε την σειρά, χρησιμοποιήστε την ικανότητα + hl (header last) στο αρχείο + /etc/printcap. - + - Accounting for Header Pages + Καταμέτρηση με Σελίδες Κεφαλίδας - Using LPD's built-in header pages - enforces a particular paradigm - when it comes to printer accounting: header pages must be - free of charge. - - Why? + Η χρήση των προεγκατεστημένων σελίδων κεφαλίδας του + LPD ουσιαστικά υποχρεώνουν την τήρηση + του παρακάτω κανόνα όταν κάνουμε καταμέτρηση χρήσης του εκτυπωτή: + Οι σελίδες κεφαλίδας πρέπει να διατίθενται ελεύθερα (δίχως + χρέωση). - Because the output filter is the only external program that will - have control when the header page is printed that could do - accounting, and it is not provided with any user or - host information or an accounting file, so it has no - idea whom to charge for printer use. It is also not enough to just - add one page to the text filter or any of the - conversion filters (which do have user and host information) since - users can suppress header pages with lpr -h. - They could still be charged for header pages they did not print. - Basically, lpr -h will be the preferred option of - environmentally-minded users, but you cannot offer any incentive to - use it. - - It is still not enough to have each of the - filters generate their own header pages (thereby being able to - charge for them). If users wanted the option of suppressing the - header pages with lpr -h, they will still get - them and be charged for them since LPD - does not pass any knowledge - of the option to any of the filters. + Γιατί; - So, what are your options? + Διότι το φίλτρο εξόδου είναι το μοναδικό εξωτερικό πρόγραμμα + που έχει τον έλεγχο στην εκτύπωση της κεφαλίδας και θα μπορούσε να + κάνει καταμέτρηση, αλλά ωστόσο δεν παρέχει καμία πληροφορία για + τον χρήστη ή τον υπολογιστή ή κάποιο άλλο + αρχείο καταμέτρησης, επομένως δεν γνωρίζει σε ποιόν να αποδώσει + την χρήση του εκτυπωτή. Δεν αρκεί απλά να προσθέσετε μία + ακόμη σελίδα στην καταμέτρηση τροποποιώντας το φίλτρο + κειμένου ή οποιοδήποτε άλλο φίλτρο μετατροπής (το οποίο διαθέτει τις + πληροφορίες χρήστη και υπολογιστή), από τη στιγμή που οι χρήστες + έχουν την δυνατότητα να παρεμποδίσουν τις σελίδες κεφαλίδας με + lpr . Θα μπορούσαν πάλι να + χρεωθούν για σελίδες κεφαλίδας που δεν εκτύπωσαν. Βασικά, η + lpr θα είναι η προτιμώμενη + επιλογή σε ένα περιβάλλον που οι χρήστες έχουν οικολογική + συνείδηση, αλλά δεν μπορείτε πραγματικά να παροτρύνετε οποιονδήποτε + να τη χρησιμοποιήσει. - You can: + Δεν είναι αρκετό απλά κάθε φίλτρο σας να + δημιουργεί τη δικιά του σελίδα κεφαλίδας (έτσι ώστε να μπορεί να + χρεώνει με αυτό τον τρόπο). Αν οι χρήστες επιθυμούν την επιλογή + παρεμπόδισης των σελίδων κεφαλίδας με + lpr , θα συνεχίσουν να τις + παραλαμβάνουν - και να χρεώνονται για αυτές - αφού το + LPD δεν έχει δυνατότητα να + περάσει σε οποιοδήποτε φίλτρο την επιλογή + . - - - Accept LPD's paradigm and make - header pages free. - - - - Install an alternative to LPD, - such as - LPRng. Section - Alternatives to the - Standard Spooler tells more about other spooling - software you can substitute for LPD. - - - - - Write a smart output filter. Normally, - an output filter is not meant to do anything more than - initialize a printer or do some simple character conversion. It - is suited for header pages and plain text jobs (when there is no - text (input) filter). But, if there is a text filter for the - plain text jobs, then LPD will start - the output filter only for - the header pages. And the output filter can parse the header - page text that LPD generates to - determine what user and host to - charge for the header page. The only other problem with this - method is that the output filter still does not know what - accounting file to use (it is not passed the name of the file - from the af capability), but if you have a - well-known accounting file, you can hard-code that into the - output filter. To facilitate the parsing step, use the - sh (short header) capability in - /etc/printcap. Then again, all that might - be too much trouble, and users will certainly appreciate the - more generous system administrator who makes header pages - free. - - + Επομένως, ποιες επιλογές έχετε; + + Μπορείτε: + + + + Να αποδεχθείτε την υπόδειξη του + LPD και να παρέχετε τις σελίδες + κεφαλίδας ελεύθερα. + + + + Να εγκαταστήσετε εναλλακτικές λύσεις αντί του + LPD, όπως το + LPRng. Η ενότητα Εναλλακτικές Λύσεις για + τον Στάνταρ Spooler δίνει περισσότερες πληροφορίες + για άλλες εφαρμογές παροχέτευσης που μπορείτε να + χρησιμοποιήσετε αντί για το + LPD. + + + + Να γράψετε ένα έξυπνο φίλτρο εξόδου. + Υπό κανονικές συνθήκες, ένα "φίλτρο εξόδου" δεν κάνει τίποτε + παραπάνω από την αρχικοποίηση ενός εκτυπωτή ή μερικές απλές + μετατροπές χαρακτήρων. Είναι κατάλληλο για σελίδες κεφαλίδας + και για εργασίες απλού κειμένου (όταν δεν υπάρχει φίλτρο + (εισόδου) κειμένου). Αλλά αν υπάρχει φίλτρο κειμένου για + εργασίες απλού κειμένου, τότε το + LPD θα ενεργοποιεί το φίλτρο εξόδου + μόνο για τις σελίδες κεφαλίδας. Και το φίλτρο εξόδου μπορεί να + αναλύει το κείμενο της σελίδας κεφαλίδας που δημιουργεί το + LPD για να προσδιορίζει τον χρήστη + και τον υπολογιστή, ώστε να χρεώνει τις σελίδες κεφαλίδας. + Το μόνο επιπλέον πρόβλημα με αυτή τη μέθοδο είναι πως το φίλτρο + εξόδου εξακολουθεί να μη γνωρίζει ποιό αρχείο καταμέτρησης να + χρησιμοποιήσει (δεν του έχει δοθεί το όνομα του αρχείου από την + ικανότητα af), αλλά αν το όνομα του αρχείου + σας είναι γνωστό, μπορείτε να το ενσωματώσετε απευθείας στον + κώδικα του φίλτρου εξόδου. Για να διευκολύνετε την διαδικασία + ανάλυσης, χρησιμοποιήστε την ικανότητα sh + (short header) στο /etc/printcap. Ίσως + πάλι όλα αυτά να είναι υπερβολικά κοπιαστικά, ενώ είναι σίγουρο + πως οι χρήστες θα εκτιμήσουν τον γενναιόδωρο διαχειριστή + συστήματος που επιτρέπει ελεύθερα τις σελίδες κεφαλίδας. + + - + - Header Pages on &postscript; Printers + Σελίδες Κεφαλίδας σε Εκτυπωτές &postscript; - As described above, LPD can generate - a plain text header page - suitable for many printers. Of course, &postscript; cannot directly - print plain text, so the header page feature of - LPD is - useless—or mostly so. - - One obvious way to get header pages is to have every conversion - filter and the text filter generate the header page. The filters - should use the user and host arguments to generate a suitable - header page. The drawback of this method is that users will always - get a header page, even if they submit jobs with lpr - -h. - - Let us explore this method. The following script takes three - arguments (user login name, host name, and job name) and makes a - simple &postscript; header page: + Όπως περιγράψαμε παραπάνω, το LPD + μπορεί να δημιουργήσει μία σελίδα κεφαλίδας απλού κειμένου, + κατάλληλη για πολλούς εκτυπωτές. Οι εκτυπωτές &postscript;, + φυσικά, δεν μπορούν να τυπώσουν κατευθείαν απλό κείμενο, επομένως + αυτή η δυνατότητα του LPD για τις + σελίδες κεφαλίδας είναι άχρηστη σε αυτή την περίπτωση. - #!/bin/sh + Ένας προφανής τρόπος να παρέχονται σελίδες κεφαλίδας είναι να + δημιουργούνται από κάθε φίλτρο μετατροπής και το φίλτρο κειμένου. + Τα φίλτρα θα πρέπει να δέχονται ως παραμέτρους το όνομα του χρήστη + και του υπολογιστή ώστε να δημιουργούν την κατάλληλη σελίδα + κεφαλίδας. Το μειονέκτημα αυτής της μεθόδου είναι πως οι + χρήστες θα εκτυπώνουν πάντα σελίδα κεφαλίδας, ακόμη κι αν + αποστέλλουν την εργασία τους με + lpr . + + Επιτρέψτε μας να εξερευνήσουμε αυτή τη μέθοδο. Το ακόλουθο + script δέχεται τρεις παραμέτρους (το όνομα χρήστη - login name, το + όνομα του υπολογιστή - host name, και το όνομα εργασίας) και + δημιουργεί μία απλή σελίδα κεφαλίδας &postscript;: + + #!/bin/sh # # make-ps-header - make a PostScript header page on stdout # Installed in /usr/local/libexec/make-ps-header @@ -2827,19 +3016,20 @@ restore showpage EOF - Now, each of the conversion filters and the text filter can call - this script to first generate the header page, and then print the - user's job. Here is the DVI conversion filter from earlier in this - document, modified to make a header page: + Τώρα, καθένα από τα φίλτρα μετατροπής και το φίλτρο κειμένου + μπορούν να καλέσουν το script, πρώτα για να δημιουργήσουν τη σελίδα + κεφαλίδας, και έπειτα για να εκτυπώσουν την εργασία του χρήστη. + Ακολουθεί το φίλτρο μετατροπής DVI που δείξαμε νωρίτερα, ειδικά + διαμορφωμένο για να φτιάξουμε μια σελίδα κεφαλίδας: - #!/bin/sh + #!/bin/sh # # psdf - DVI to PostScript printer filter # Installed in /usr/local/libexec/psdf # # Invoked by lpd when user runs lpr -d # - + orig_args="$@" fail() { @@ -2864,190 +3054,208 @@ done ( /usr/local/libexec/make-ps-header $login $host "DVI File" /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args - Notice how the filter has to parse the argument list in order to - determine the user and host name. The parsing for the other - conversion filters is identical. The text filter takes a slightly - different set of arguments, though (see section How Filters - Work). - - As we have mentioned before, the above scheme, though fairly - simple, disables the suppress header page option (the - option) to lpr. If users - wanted to save a tree (or a few pennies, if you charge for header - pages), they would not be able to do so, since every filter's going - to print a header page with every job. - - To allow users to shut off header pages on a per-job basis, you - will need to use the trick introduced in section Accounting for - Header Pages: write an output filter that parses the - LPD-generated header page and produces a &postscript; version. If the - user submits the job with lpr -h, then - LPD will - not generate a header page, and neither will your output filter. - Otherwise, your output filter will read the text from - LPD and send - the appropriate header page &postscript; code to the printer. - - If you have a &postscript; printer on a serial line, you can make - use of lprps, which comes with an output filter, - psof, which does the above. Note that - psof does not charge for header pages. + Παρατηρήστε πως το φίλτρο πρέπει να αναλύσει την λίστα + παραμέτρων για να προσδιορίσει το όνομα χρήστη και υπολογιστή. Η + μέθοδος ανάλυσης είναι παρόμοια και για τα υπόλοιπα φίλτρα + μετατροπής. Το φίλτρο κειμένου παίρνει ένα ελαφρώς διαφορετικό + σετ παραμέτρων, (δείτε την ενότητα Πως δουλεύουν τα + Φίλτρα). + + Όπως αναφέραμε προηγούμενα, ο παραπάνω σχεδιασμός, αν και + πραγματικά απλός, απενεργοποιεί την επιλογή + παρεμπόδισης σελίδων κεφαλίδας (την επιλογή + ) του lpr. Αν οι χρήστες + επιθυμούν να σώσουν ένα δέντρο (ή λίγα χρήματα, αν χρεώνετε τις + σελίδες κεφαλίδας), δεν θα υπάρχει τρόπος για να γίνει αυτό, από + τη στιγμή που κάθε εκτύπωση μέσω των φίλτρων θα συνοδεύεται και από + μια σελίδα κεφαλίδας για κάθε εργασία. + + Για να επιτρέψετε στους χρήστες να απενεργοποιούν τις σελίδες + κεφαλίδας ανά εργασία, θα πρέπει να χρησιμοποιήσετε το τέχνασμα + που παρουσιάσαμε στην ενότητα Καταμέτρηση με + Σελίδες Κεφαλίδας: δηλαδή να γράψετε ένα φίλτρο εξόδου που + να αναλύει την σελίδα κεφαλίδας που δημιουργείται από το + LPD και να κατασκευάζει μια + &postscript; έκδοση. Αν ο χρήστης στείλει μια εργασία με + lpr , τότε ούτε το + LPD, ούτε το φίλτρο εξόδου θα φτιάξουν + σελίδα κεφαλίδας. Σε όλες τις άλλες περιπτώσεις, το φίλτρο εξόδου + θα διαβάζει το κείμενο από το LPD και θα + στέλνει τον κατάλληλο κώδικα &postscript; στον εκτυπωτή ώστε να + εκτυπώνεται η σελίδα κεφαλίδας. + + Αν έχετε εκτυπωτή &postscript; με σειριακή σύνδεση, μπορείτε να + κάνετε χρήση της lprps, η οποία συνοδεύεται από + ένα φίλτρο εξόδου, το psof, το οποία κάνει τα + παραπάνω. Σημειώστε πως το psof δεν χρεώνει για + τις σελίδες κεφαλίδας. - + - Networked Printing - + Εκτυπώσεις μέσω Δικτύου + - printers - network + εκτυπωτές + δίκτυο - network printing - FreeBSD supports networked printing: sending jobs to remote - printers. Networked printing generally refers to two different - things: - + εκτυπώσεις μέσω δικτύου + Το &os; υποστηρίζει τις εκτυπώσεις μέσω δικτύου: μπορεί να στείλει + εργασίες σε απομακρυσμένους εκτυπωτές. Η έννοια της δικτυακής + εκτύπωσης αναφέρεται γενικά σε δύο διαφορετικά πράγματα: + - - Accessing a printer attached to a remote host. You install a - printer that has a conventional serial or parallel interface on - one host. Then, you set up LPD to - enable access to the printer - from other hosts on the network. Section Printers Installed on - Remote Hosts tells how to do this. - + + Πρόσβαση σε εκτυπωτή συνδεδεμένο σε απομακρυσμένο υπολογιστή + (host). Εγκαθιστάτε έναν εκτυπωτή με συμβατική σειριακή ή + παράλληλη σύνδεση σε ένα υπολογιστή. Έπειτα, ρυθμίζετε το + LPD για να ενεργοποιηθεί η πρόσβαση + στον εκτυπωτή από άλλους υπολογιστές του δικτύου. Η ενότητα + Εκτυπωτές + Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές εξηγεί τις + απαραίτητες ενέργειες. + - - Accessing a printer attached directly to a network. The - printer has a network interface in addition (or in place of) a - more conventional serial or parallel interface. Such a printer - might work as follows: - - - - It might understand the LPD - protocol and can even queue - jobs from remote hosts. In this case, it acts just like a - regular host running LPD. Follow - the same procedure in - section Printers - Installed on Remote Hosts to set up such a - printer. - - - - It might support a data stream network connection. In this - case, you attach the printer to one host on the - network by making that host responsible for spooling jobs and - sending them to the printer. Section Printers with - Networked Data Stream Interfaces gives some - suggestions on installing such printers. - - - + + Πρόσβαση σε εκτυπωτή συνδεδεμένο κατευθείαν στο δίκτυο. + Εκτός (ή αντί) της συμβατικής σειριακής ή παράλληλης θύρας, ο + εκτυπωτής πρέπει να έχει επιπρόσθετα μια δικτυακή διασύνδεση. + Ένας τέτοιος εκτυπωτής δουλεύει ως εξής: + + + + Μπορεί να καταλαβαίνει το πρωτόκολλο + LPD και να δημιουργεί ουρά + αναμονής για τις εργασίες που προέρχονται από απομακρυσμένους + υπολογιστές. Σε αυτή την περίπτωση, ενεργεί σαν ένας + κανονικός υπολογιστής που εκτελεί το + LPD. Ακολουθήστε την ίδια + διαδικασία με την ενότητα Εκτυπωτές + Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές για να + εγκαταστήσετε αυτόν τον εκτυπωτή. + + + + Μπορεί να υποστηρίζει σύνδεση δικτυακής ροής δεδομένων + (data stream). Σε αυτή την περίπτωση, συνδέετε + τον εκτυπωτή σε έναν υπολογιστή συνδεδεμένο στο δίκτυο, ο + οποίος θα είναι υπεύθυνος για την παροχέτευση των εργασιών + και την αποστολή τους στον εκτυπωτή. Η ενότητα Εκτυπωτές Με + Συνδέσεις Δικτύου δίνει μερικές συμβουλές για την + εγκατάσταση εκτυπωτών αυτού του τύπου. + + + - + - Printers Installed on Remote Hosts + Εκτυπωτές Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές - The LPD spooling system has built-in - support for sending jobs to - other hosts also running LPD (or are - compatible with LPD). This - feature enables you to install a printer on one host and make it - accessible from other hosts. It also works with printers that have - network interfaces that understand the - LPD protocol. - - To enable this kind of remote printing, first install a printer - on one host, the printer host, using the simple - printer setup described in the Simple - Printer Setup section. Do any advanced setup in Advanced Printer Setup that you - need. Make sure to test the printer and see if it works with the - features of LPD you have enabled. - Also ensure that the - local host has authorization to use the - LPD - service in the remote host (see Restricting Jobs - from Remote Printers). - - - printers - network - - network printing - If you are using a printer with a network interface that is - compatible with LPD, then the - printer host in - the discussion below is the printer itself, and the - printer name is the name you configured for the - printer. See the documentation that accompanied your printer and/or - printer-network interface. + Το σύστημα παροχέτευσης LPD έχει + ενσωματωμένη υποστήριξη για την αποστολή εργασιών σε άλλους + υπολογιστές που εκτελούν το LPD (ή που + είναι συμβατοί με το LPD). Αυτό το + χαρακτηριστικό σας επιτρέπει να εγκαταστήσετε έναν εκτυπωτή σε ένα + υπολογιστή και να έχετε πρόσβαση σε αυτόν από άλλους. Επίσης + δουλεύει και με εκτυπωτές που έχουν δικτυακές διασυνδέσεις που + καταλαβαίνουν το πρωτόκολλο LPD. - - If you are using a Hewlett Packard Laserjet then the printer - name text will automatically perform the LF to - CRLF conversion for you, so you will not require the - hpif script. - - - Then, on the other hosts you want to have access to the printer, - make an entry in their /etc/printcap files with - the following: + Για να ενεργοποιήσετε αυτόν τον τύπο απομακρυσμένης εκτύπωσης, + εγκαταστήστε πρώτα έναν εκτυπωτή σε ένα υπολογιστή, τον + υπολογιστή εκτύπωσης (printer host), + χρησιμοποιώντας την απλή εγκατάσταση εκτυπωτή που περιγράφεται στην + ενότητα Βασικές Ρυθμίσεις Εκτυπωτών. + Κάντε όσες προχωρημένες ρυθμίσεις χρειάζεστε όπως αναφέρεται στις + Ρυθμίσεις Εκτυπωτών για + Προχωρημένους. Ελέγξτε τον εκτυπωτή και δείτε αν δουλεύει + με τα χαρακτηριστικά του LPD που έχετε + ενεργοποιήσει. Επίσης βεβαιωθείτε πως ο + τοπικός υπολογιστής (local host) είναι + εξουσιοδοτημένος να χρησιμοποιεί τις υπηρεσίες του + LPD στον + απομακρυσμένο υπολογιστή (remote host) + (δείτε Παρεμπόδιση + Εργασιών από Απομακρυσμένους Υπολογιστές). - - - Name the entry anything you want. For simplicity, though, - you probably want to use the same name and aliases as on the - printer host. - - - - Leave the lp capability blank, explicitly - (:lp=:). - - - - Make a spooling directory and specify its location in the - sd capability. LPD - will store jobs here - before they get sent to the printer host. - - - - Place the name of the printer host in the - rm capability. - - - - Place the printer name on the printer - host in the rp - capability. - - + + εκτυπωτές + δίκτυο + + δικτυακές εκτυπώσεις + Εάν χρησιμοποιείτε εκτυπωτή με δικτυακή διασύνδεση που είναι + συμβατός με το LPD, τότε ο + ο υπολογιστής εκτύπωσης (printer host) είναι ο + εν λόγω εκτυπωτής, και το όνομα του εκτυπωτή + είναι το όνομα που έχετε ορίσει για τον εκτυπωτή. Δείτε την + τεκμηρίωση που συνοδεύει τον εκτυπωτή σας και/ή την κάρτα δικτύου + του. - That is it. You do not need to list conversion filters, page - dimensions, or anything else in the - /etc/printcap file. + + Αν χρησιμοποιείτε Hewlett Packard Laserjet με όνομα εκτυπωτή + text θα γίνονται αυτόματα οι μετατροπές από + LF σε CRLF, επομένως δεν χρειάζεται να τρέξετε το script + hpif. + - Here is an example. The host rose has two - printers, bamboo and rattan. - We will enable users on the host orchid to print - to those printers. - Here is the /etc/printcap file for - orchid (back from section Enabling Header - Pages). It already had the entry for the printer - teak; we have added entries for the two printers - on the host rose: + Επομένως, στους υπόλοιπους υπολογιστές όπου επιθυμείτε να έχετε + πρόσβαση στον εκτυπωτή, απλά κάντε μια καταχώριση στο αρχείο + /etc/printcap με τα ακόλουθα στοιχεία: - # + + + Ονομάστε την καταχώριση όπως επιθυμείτε: Για δική σας + ευκολία πιθανώς να θέλετε να χρησιμοποιήσετε το ίδιο όνομα και + τα ίδια παρωνύμια με αυτά του υπολογιστή εκτύπωσης. + + + + Αφήστε την ικανότητα lp κενή, για την + ακρίβεια (:lp=:). + + + + Δημιουργήστε ένα κατάλογο spooling και προσδιορίστε την + τοποθεσία του με την ικανότητα sd. Το + LPD θα αποθηκεύει εδώ τις εργασίες + πριν την αποστολή τους στον υπολογιστή εκτύπωσης. + + + + Τοποθετήστε το όνομα του υπολογιστή εκτύπωσης στην ικανότητα + rm. + + + + Τοποθετήστε το όνομα του εκτυπωτή στην ικανότητα + rp, στον + υπολογιστή εκτύπωσης. + + + + Αυτό είναι όλο. Δεν χρειάζεται να δημιουργήσετε λίστα φίλτρων + μετατροπής, διαστάσεις σελίδας, ή οτιδήποτε άλλο στο + αρχείο/etc/printcap. + + Εδώ είναι ένα παράδειγμα. Ο υπολογιστής rose + έχει δύο εκτυπωτές, τον bamboo και τον + rattan. Θέλουμε να ενεργοποιήσουμε τις + εκτυπώσεις σε αυτούς τους εκτυπωτές για τους χρήστες του + απομακρυσμένου υπολογιστή orchid. Εδώ είναι το + αρχείο /etc/printcap του υπολογιστή + orchid (δείτε πιο πίσω στην ενότητα Ενεργοποίηση + Σελίδων Κεφαλίδας). Ήδη έχει μια καταχώριση για τον + εκτυπωτή teak. Εδώ προσθέσαμε τις απαραίτητες + καταχωρίσεις για τους δύο εκτυπωτές του υπολογιστή + rose: + + # # /etc/printcap for host orchid - added (remote) printers on rose # @@ -3055,80 +3263,87 @@ done # teak is local; it is connected directly to orchid: # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/ifhp:\ - :vf=/usr/local/libexec/vfhp:\ - :of=/usr/local/libexec/ofhp: + :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:\ + :if=/usr/local/libexec/ifhp:\ + :vf=/usr/local/libexec/vfhp:\ + :of=/usr/local/libexec/ofhp: # # rattan is connected to rose; send jobs for rattan to rose: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: + :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: # # bamboo is connected to rose as well: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo: + :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo: - Then, we just need to make spooling directories on - orchid: - - &prompt.root; mkdir -p /var/spool/lpd/rattan /var/spool/lpd/bamboo -&prompt.root; chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo -&prompt.root; chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo - - Now, users on orchid can print to - rattan and bamboo. If, for - example, a user on orchid typed - - &prompt.user; lpr -P bamboo -d sushi-review.dvi + Το μόνο που απομένει είναι να δημιουργήσουμε τους καταλόγους + spooling στον κόμβο orchid: - the LPD system on orchid - would copy the job to the spooling - directory /var/spool/lpd/bamboo and note that it was a - DVI job. As soon as the host rose has room in its - bamboo spooling directory, the two - LPDs would transfer the - file to rose. The file would wait in rose's - queue until it was finally printed. It would be converted from DVI to - &postscript; (since bamboo is a &postscript; printer) on - rose. + &prompt.root; mkdir /var/spool/lpd/rattan /var/spool/lpd/bamboo +&prompt.root; chmod 770 /var/spool/lpd/rattan /var/spool/lpd/bamboo +&prompt.root; chown daemon:daemon /var/spool/lpd/rattan /var/spool/lpd/bamboo + + Τώρα, οι χρήστες του orchid μπορούν να + εκτυπώνουν στον rattan και στον + bamboo. Αν, για παράδειγμα, ένας χρήστης του + orchid πληκτρολογήσει: + + &prompt.user; lpr bamboo sushi-review.dvi + + το σύστημα LPD στον + orchid θα αντιγράψει την εργασία στον κατάλογο + spooling + /var/spool/lpd/bamboo και θα + σημειώσει πως πρόκειται για εργασία DVI. Μόλις ο υπολογιστής + rose έχει διαθέσιμο χώρο στον κατάλογο spooling του + bamboo, τα δύο LPDs + θα μεταφέρουν το αρχείο στον rose. Το αρχείο θα + μπει σε ουρά αναμονής στον υπολογιστή rose έως + ότου εκτυπωθεί. Θα μετατραπεί από DVI σε &postscript; (αφού ο + bamboo είναι εκτυπωτής &postscript;) στον + υπολογιστή rose. - + - Printers with Networked Data Stream Interfaces + Εκτυπωτές με Συνδέσεις Δικτύου - Often, when you buy a network interface card for a printer, you - can get two versions: one which emulates a spooler (the more - expensive version), or one which just lets you send data to it as if - you were using a serial or parallel port (the cheaper version). - This section tells how to use the cheaper version. For the more - expensive one, see the previous section Printers Installed on - Remote Hosts. - - The format of the /etc/printcap file lets - you specify what serial or parallel interface to use, and (if you - are using a serial interface), what baud rate, whether to use flow - control, delays for tabs, conversion of newlines, and more. But - there is no way to specify a connection to a printer that is - listening on a TCP/IP or other network port. - - To send data to a networked printer, you need to develop a - communications program that can be called by the text and conversion - filters. Here is one such example: the script - netprint takes all data on standard input and - sends it to a network-attached printer. We specify the hostname of - the printer as the first argument and the port number to which to - connect as the second argument to netprint. Note - that this supports one-way communication only (FreeBSD to printer); - many network printers support two-way communication, and you might - want to take advantage of that (to get printer status, perform - accounting, etc.). + Συχνά, όταν αγοράζετε κάρτα δικτύου για εκτυπωτή, έχετε τη + δυνατότητα επιλογής δύο εκδόσεων: η μία είναι προσομοίωση του + spooler (η πιο ακριβή έκδοση) ενώ η άλλη απλά σας επιτρέπει να + στέλνετε δεδομένα μέσω αυτής σαν να χρησιμοποιούσατε μια σειριακή + ή παράλληλη θύρα (η φτηνή έκδοση). Αυτή η ενότητα περιγράφει πως να + χρησιμοποιείτε την φτηνή έκδοση. Για την πιο ακριβή έκδοση μπορείτε + να βρείτε περισσότερες πληροφορίες στην προηγούμενη ενότητα Εκτυπωτές Εγκατεστημένοι + σε Απομακρυσμένους Υπολογιστές. - #!/usr/bin/perl + Η μορφή του αρχείου /etc/printcap σας + επιτρέπει να ορίσετε τη διασύνδεση - σειριακή ή παράλληλη - που θα + χρησιμοποιήσετε, και (αν χρησιμοποιείτε σειριακή διασύνδεση) τον + ρυθμό baud, πιθανούς ελέγχους ροής, καθυστερήσεις για tabs, + μετατροπές για χαρακτήρες νέας γραμμής, και άλλα. Αλλά δεν υπάρχει + τρόπος να ορίσετε μια σύνδεση σε εκτυπωτή που ακούει σε θύρα TCP/IP + ή άλλο τύπο δικτύου. + + Για να στείλετε δεδομένα σε ένα δικτυακό εκτυπωτή, χρειάζεται + να αναπτύξετε προγράμματα επικοινωνίας που να καλούνται από φίλτρα + κειμένου και φίλτρα μετατροπής. Εδώ έχουμε ένα τέτοιο παράδειγμα: + το script netprint παίρνει όλα τα δεδομένα από + το standard input και τα στέλνει σε έναν εκτυπωτή συνδεδεμένο στο + δίκτυο. Ορίζουμε στο netprint το όνομα + του εκτυπωτή ως πρώτη παράμετρο, και τον αριθμό θύρας στην οποία + συνδέεται ως δεύτερη. Σημειώστε πως αυτός ο τρόπος υποστηρίζει + μόνο επικοινωνία μιας κατεύθυνσης (από το &os; στον εκτυπωτή). + Πολλοί δικτυακοί εκτυπωτές υποστηρίζουν αμφίδρομη επικοινωνία, και + είναι πολύ πιθανό να επιθυμείτε να εκμεταλλευτείτε τα προτερήματα + τους (για να ελέγχετε την κατάσταση του εκτυπωτή, για καταμέτρηση + εκτυπώσεων, κλπ.). + + #!/usr/bin/perl # # netprint - Text filter for printer attached to network # Installed in /usr/local/libexec/netprint @@ -3151,14 +3366,15 @@ socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol) connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!"; while (<STDIN>) { print PRINTER; } exit 0; - - We can then use this script in various filters. Suppose we had - a Diablo 750-N line printer connected to the network. The printer - accepts data to print on port number 5100. The host name of the - printer is scrivener. Here is the text filter for the - printer: - #!/bin/sh + Μπορείτε να χρησιμοποιήσετε αυτό το script σε διάφορα φίλτρα. + Ας υποθέσουμε πως έχουμε έναν εκτυπωτή γραμμής Diablo 750-N + συνδεδεμένο στο δίκτυο. Ο εκτυπωτής δέχεται δεδομένα προς εκτύπωση + στην θύρα 5100. Το όνομα του εκτυπωτή στο δίκτυο είναι + scrivener. Εδώ είναι το φίλτρο κειμένου για τον + εκτυπωτή: + + #!/bin/sh # # diablo-if-net - Text filter for Diablo printer `scrivener' listening # on port 5100. Installed in /usr/local/libexec/diablo-if-net @@ -3166,199 +3382,214 @@ exit 0; exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100 - + - Restricting Printer Usage - + Έλεγχος Πρόσβασης και Περιορισμοί στη Χρήση των Εκτυπωτών + - printers - restricting access to + εκτυπωτές + έλεγχος πρόσβασης - This section gives information on restricting printer usage. The - LPD system lets you control who can access - a printer, both locally or - remotely, whether they can print multiple copies, how large their jobs - can be, and how large the printer queues can get. - + Αυτή η ενότητα δίνει πληροφορίες για τον έλεγχο πρόσβασης και τον + περιορισμό χρήσης των εκτυπωτών. Το σύστημα + LPD σας επιτρέπει να ελέγχετε ποιός μπορεί + να έχει πρόσβαση σε κάθε εκτυπωτή, τόσο τοπικά όσο και απομακρυσμένα, + και επίσης αν μπορούν οι χρήστες να εκτυπώνουν πολλαπλά αντίγραφα, + πόσο μεγάλες μπορούν να είναι οι εργασίες τους, και πόσο μεγάλες + μπορούν να γίνουν οι ουρές αναμονής (print queues). + - Restricting Multiple Copies + Περιορισμός Εκτύπωσης Πολλαπλών Αντιγράφων - The LPD system makes it easy for - users to print multiple copies - of a file. Users can print jobs with lpr -#5 - (for example) and get five copies of each file in the job. Whether - this is a good thing is up to you. - - If you feel multiple copies cause unnecessary wear and tear on - your printers, you can disable the option to - &man.lpr.1; by adding the sc capability to the - /etc/printcap file. When users submit jobs - with the option, they will see: - - lpr: multiple copies are not allowed + Το σύστημα LPD διευκολύνει τους + χρήστες να εκτυπώσουν πολλαπλά αντίγραφα ενός αρχείου. Οι χρήστες + μπορούν να εκτυπώνουν εργασίες με + lpr (για + παράδειγμα) και να παίρνουν πέντε αντίγραφα κάθε αρχείου της + εργασίας εκτύπωσης. Το αν αυτό είναι καλό, εξαρτάται από + εσάς. + Αν πιστεύετε πως τα πολλαπλά αντίγραφα δημιουργούν άσκοπη + καταπόνηση των εκτυπωτών σας, μπορείτε να απενεργοποιήσετε + την επιλογή στο &man.lpr.1; προσθέτοντας την + ικανότητα sc στο αρχείο + /etc/printcap. Όταν οι χρήστες αποστέλλουν + εργασίες με την επιλογή , θα βλέπουν: - Note that if you have set up access to a printer remotely (see - section Printers - Installed on Remote Hosts), you need the - sc capability on the remote - /etc/printcap files as well, or else users will - still be able to submit multiple-copy jobs by using another - host. + lpr: multiple copies are not allowed - Here is an example. This is the - /etc/printcap file for the host - rose. The printer rattan is - quite hearty, so we will allow multiple copies, but the laser - printer bamboo is a bit more delicate, so we will - disable multiple copies by adding the sc - capability: + Σημειώστε πως αν έχετε ρυθμίσει πρόσβαση σε έναν εκτυπωτή + απομακρυσμένα (δείτε την ενότητα Εκτυπωτές Εγκατεστημένοι σε + Απομακρυσμένους Υπολογιστές), θα χρειαστεί να προσθέσετε + την ικανότητα sc σε όλα τα απομακρυσμένα αρχεία + /etc/printcap, διαφορετικά οι χρήστες θα + έχουν ακόμη την δυνατότητα να αποστέλλουν εργασίες πολλαπλών + αντιγράφων χρησιμοποιώντας διαφορετικό κόμβο. - # + Εδώ είναι ένα παράδειγμα. Αυτό είναι το αρχείο + /etc/printcap για τον κόμβο + rose. Ο εκτυπωτής rattan + είναι δυνατό μηχάνημα και επιτρέπει την εκτύπωση πολλαπλών + αντιγράφων, αλλά ο εκτυπωτής laser bamboo είναι + πιο ευαίσθητο, επομένως θα απενεργοποιήσουμε τη δυνατότητα + πολλαπλών αντιγράφων προσθέτοντας την ικανότητα + sc: + + # # /etc/printcap for host rose - restrict multiple copies on bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: - - Now, we also need to add the sc capability on - the host orchid's - /etc/printcap (and while we are at it, let us - disable multiple copies for the printer - teak): + :sh:sd=/var/spool/lpd/bamboo:sc:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: - # + Τώρα, θα χρειαστεί να προσθέσουμε επίσης την ικανότητα + sc στο αρχείο /etc/printcap + του κόμβου orchid (και ενώ βρισκόμαστε σε αυτό, + επιτρέψτε μας να απενεργοποιήσουμε τα πολλαπλά αντίγραφα για τον + εκτυπωτή teak): + + # # /etc/printcap for host orchid - no multiple copies for local # printer teak or remote printer bamboo teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\ - :if=/usr/local/libexec/ifhp:\ - :vf=/usr/local/libexec/vfhp:\ - :of=/usr/local/libexec/ofhp: + :lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:\ + :if=/usr/local/libexec/ifhp:\ + :vf=/usr/local/libexec/vfhp:\ + :of=/usr/local/libexec/ofhp: rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: + :lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc: - - By using the sc capability, we prevent the - use of lpr -#, but that still does not prevent - users from running &man.lpr.1; - multiple times, or from submitting the same file multiple times in - one job like this: - - &prompt.user; lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign - - There are many ways to prevent this abuse (including ignoring - it) which you are free to explore. + :lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc: + + Χρησιμοποιώντας την ικανότητα sc, + προλαμβάνουμε την χρήση των εντολών + lpr , + αλλά δεν έχουμε ακόμη την δυνατότητα να παρεμποδίσουμε τους χρήστες + να τρέξουν την εντολή &man.lpr.1; πολλές φορές, ή να αποστείλουν + το ίδιο αρχείο πολλές φορές σε μία μοναδική εργασία, όπως + εδώ: + + &prompt.user; lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign + + Υπάρχουν πολλοί τρόποι πρόληψης αυτών των ενεργειών + (συμπεριλαμβάνοντας και την περίπτωση να το αγνοήσετε) που είστε + ελεύθεροι να εξερευνήσετε. - + - Restricting Access to Printers + Περιορίζοντας την Πρόσβαση σε Εκτυπωτές - You can control who can print to what printers by using the &unix; - group mechanism and the rg capability in - /etc/printcap. Just place the users you want - to have access to a printer in a certain group, and then name that - group in the rg capability. - - Users outside the group (including root) - will be greeted with - - lpr: Not a member of the restricted group - - if they try to print to the controlled printer. + Μπορείτε να ελέγχετε ποιός μπορεί να εκτυπώνει σε ποιόν + εκτυπωτή χρησιμοποιώντας τους μηχανισμούς ομάδων (groups) του &unix; + και την ικανότητα rg στο + /etc/printcap. Απλά τοποθετήστε τους χρήστες + που θέλετε να έχουν πρόσβαση σε κάποιον εκτυπωτή σε μια + συγκεκριμένη ομάδα (χρηστών), και δηλώστε αυτή την ομάδα στην + ικανότητα rg. - As with the sc (suppress multiple copies) - capability, you need to specify rg on remote - hosts that also have access to your printers, if you feel it is - appropriate (see section Printers Installed on - Remote Hosts). - - For example, we will let anyone access the printer - rattan, but only those in group - artists can use bamboo. Here - is the familiar /etc/printcap for host - rose: + Όλοι οι χρήστες που δεν ανήκουν στην ομάδα (συμπεριλαμβανομένου + και του root) θα δέχονται το ακόλουθο μήνυμα: + lpr: Not a member of the restricted group + όταν προσπαθούν να εκτυπώσουν στον ελεγχόμενο εκτυπωτή. - # + Όπως και με την ικανότητα sc + (περιορισμού πολλαπλών αντιγράφων), θα χρειαστεί να προσδιορίσετε + την rg στους απομακρυσμένους κόμβους που θα + έχουν πρόσβαση στους εκτυπωτές σας, αν νομίζετε πως αυτό είναι + σωστό (δείτε την ενότητα Εκτυπωτές Εγκατεστημένοι + σε Απομακρυσμένους Υπολογιστές). + + Για παράδειγμα, θα αφήσουμε για όλους ελεύθερη την πρόσβαση + στον εκτυπωτή rattan, αλλά μόνο οι χρήστες της + ομάδας artists θα μπορούν να χρησιμοποιήσουν τον + bamboo. Εδώ είναι το γνωστό μας + /etc/printcap για τον κόμβο + rose: + + # # /etc/printcap for host rose - restricted group for bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: + :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: - Let us leave the other example - /etc/printcap file (for the host - orchid) alone. Of course, anyone on - orchid can print to bamboo. It - might be the case that we only allow certain logins on - orchid anyway, and want them to have access to the - printer. Or not. + Επιτρέψτε μας να μην αλλάξουμε το αρχείο + /etc/printcap από το άλλο παράδειγμα + (για τον υπολογιστή orchid). Φυσικά, οποιοσδήποτε + χρήστης του orchid μπορεί να εκτυπώσει στον + bamboo. Ίσως όμως να επιτρέπουμε μόνον σε + συγκεκριμένους χρήστες την πρόσβαση στον υπολογιστή + orchid, και θέλουμε αυτοί οι χρήστες να έχουν + πρόσβαση στον εκτυπωτή. Ή ίσως πάλι, και όχι. - - There can be only one restricted group per printer. - + + Επιτρέπεται μόνο μια περιορισμένη ομάδα ανά εκτυπωτή. + - + - Controlling Sizes of Jobs Submitted + Έλεγχος Μεγέθους των Απεσταλμένων Εργασιών - print jobs - If you have many users accessing the printers, you probably need - to put an upper limit on the sizes of the files users can submit to - print. After all, there is only so much free space on the - filesystem that houses the spooling directories, and you also need - to make sure there is room for the jobs of other users. - - - print jobs - controlling - - LPD enables you to limit the maximum - byte size a file in a job - can be with the mx capability. The units are in - BUFSIZ blocks, which are 1024 bytes. If you put - a zero for this - capability, there will be no limit on file size; however, if no - mx capability is specified, then a default limit - of 1000 blocks will be used. + εργασίες εκτύπωσης + Αν πολλοί χρήστες έχουν πρόσβαση στους εκτυπωτές σας, πιθανώς + να χρειάζεται να θέσετε ένα ανώτατο όριο στο επιτρεπόμενο μέγεθος + αρχείων που μπορούν να αποστείλουν οι χρήστες για εκτύπωση. Ακόμα + και αν υπάρχει αρκετός χώρος στο σύστημα αρχείων που φιλοξενεί τους + καταλόγους spool, θα πρέπει ωστόσο να βεβαιωθείτε ότι επαρκεί για + τις εργασίες όλων των χρηστών. - - The limit applies to files in a job, and - not the total job size. - + + εργασίες εκτύπωσης + έλεγχος + + Το LPD σας επιτρέπει να + οριοθετήσετε το μέγιστο αριθμό bytes που περιέχει μια εργασία, με + την ικανότητα mx. Η μονάδα μέτρησης είναι σε + BUFSIZ blocks, τα οποία είναι 1024 bytes. Αν + θέσετε μηδέν σε αυτή την ικανότητα, δεν θα υπάρχουν όρια στο + μέγεθος των αρχείων. Ωστόσο, αν δεν έχει οριστεί η ικανότητα + mx, τότε θα χρησιμοποιείται η προεπιλεγμένη τιμή + των 1000 blocks. - LPD will not refuse a file that is - larger than the limit you - place on a printer. Instead, it will queue as much of the file up - to the limit, which will then get printed. The rest will be - discarded. Whether this is correct behavior is up for - debate. - - Let us add limits to our example printers - rattan and bamboo. Since - those artists' &postscript; files tend to be large, we will limit them - to five megabytes. We will put no limit on the plain text line - printer: + + Το όριο εφαρμόζεται στα αρχεία μιας + εργασίας, και όχι στο συνολικό μέγεθος της + εργασίας. + - # + Το LPD δεν θα απορρίψει ένα αρχείο + που ξεπερνά το όριο μεγέθους που έχετε θέσει. Αντιθέτως, θα το + τοποθετήσει στην ουρά αναμονής με μέγεθος ίσο με το μέγιστο + επιτρεπτό, το οποίο και θα εκτυπώσει τελικά. Το υπόλοιπο αρχείο + απορρίπτεται. Αν αυτός είναι σωστός ή λανθασμένος τρόπος + αντιμετώπισης για την υπέρβαση του ορίου, είναι θέμα προς + συζήτηση. + + Ας οριοθετήσουμε στο παράδειγμα μας τους εκτυπωτές + rattan και bamboo. Επειδή + τα αρχεία &postscript; των artists τείνουν + προς μεγάλα μεγέθη, θα θέσουμε ένα όριο πέντε megabytes. Δεν θα + θέσουμε όρια για τον εκτυπωτή γραμμής απλού κειμένου: + + # # /etc/printcap for host rose # @@ -3366,259 +3597,293 @@ bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ # No limit on job size: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:mx#0:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple: + :sh:mx#0:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple: # # Limit of five megabytes: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: + :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: - Again, the limits apply to the local users only. If you have - set up access to your printers remotely, remote users will not get - those limits. You will need to specify the mx - capability in the remote /etc/printcap files as - well. See section Printers Installed on - Remote Hosts for more information on remote - printing. - - There is another specialized way to limit job sizes from remote - printers; see section Restricting Jobs - from Remote Printers. + Και πάλι, τα όρια εφαρμόζονται μόνο για τους τοπικούς χρήστες. + Αν έχετε ενεργοποιήσει απομακρυσμένη πρόσβαση για τους εκτυπωτές + σας, τα όρια αυτά δεν ισχύουν για τους απομακρυσμένους χρήστες. Θα + χρειαστεί να προσδιορίσετε με την ικανότητα mx + και τα απομακρυσμένα αρχεία /etc/printcap. + Δείτε την ενότητα Εκτυπωτές Εγκατεστημένοι σε + Απομακρυσμένους Υπολογιστές για περισσότερες πληροφορίες + σχετικά με τις εκτυπώσεις από απομακρυσμένους υπολογιστές. + + Υπάρχει και άλλος εξειδικευμένος τρόπος περιορισμού του μεγέθους + εργασιών για απομακρυσμένους εκτυπωτές. Δείτε την ενότητα Περιορισμός + Εργασιών από Απομακρυσμένους Υπολογιστές. - + - Restricting Jobs from Remote Printers + Περιορισμός Εργασιών από Απομακρυσμένους Υπολογιστές - The LPD spooling system provides - several ways to restrict print - jobs submitted from remote hosts: - - - - Host restrictions + Το σύστημα παροχέτευσης LPD παρέχει + διάφορους τρόπους περιορισμού των εργασιών από απομακρυσμένους + υπολογιστές: - - You can control from which remote hosts a local - LPD accepts requests with the files - /etc/hosts.equiv and - /etc/hosts.lpd. - LPD checks to see if an - incoming request is from a host listed in either one of these - files. If not, LPD refuses the - request. - - The format of these files is simple: one host name per - line. Note that the file - /etc/hosts.equiv is also used by the - &man.ruserok.3; protocol, and affects programs like - &man.rsh.1; and &man.rcp.1;, so be careful. - - For example, here is the - /etc/hosts.lpd file on the host - rose: + + + Παρεμπόδιση υπολογιστών - orchid + + Μπορείτε να ελέγχετε από ποιους απομακρυσμένους + υπολογιστές θα δέχεται αιτήσεις εκτύπωσης το τοπικό + LPD, χρησιμοποιώντας τα αρχεία + /etc/hosts.equiv και + /etc/hosts.lpd. Το + LPD ελέγχει να δει αν η εισερχόμενη + αίτηση προέρχεται από έναν υπολογιστή που αναφέρεται σε κάποιο + από τα δύο αρχεία. Αν όχι, το LPD + απορρίπτει την αίτηση. + + Η μορφή αυτών των αρχείων είναι απλή: ένα όνομα υπολογιστή + ανά γραμμή. Παρατηρήστε πως το αρχείο + /etc/hosts.equiv χρησιμοποιείται και από + το πρωτόκολλο &man.ruserok.3;, και επηρεάζει προγράμματα όπως + το &man.rsh.1; και το &man.rcp.1;, επομένως να είστε + προσεκτικοί. + + Για παράδειγμα, εδώ είναι το αρχείο + /etc/hosts.lpd στον υπολογιστή + rose: + + orchid violet madrigal.fishbaum.de - This means rose will accept requests from - the hosts orchid, violet, - and madrigal.fishbaum.de. If any - other host tries to access rose's - LPD, the job will be refused. - - - - - Size restrictions - - - You can control how much free space there needs to remain - on the filesystem where a spooling directory resides. Make a - file called minfree in the spooling - directory for the local printer. Insert in that file a number - representing how many disk blocks (512 bytes) of free space - there has to be for a remote job to be accepted. - - This lets you insure that remote users will not fill your - filesystem. You can also use it to give a certain priority to - local users: they will be able to queue jobs long after the - free disk space has fallen below the amount specified in the - minfree file. - - For example, let us add a minfree - file for the printer bamboo. We examine - /etc/printcap to find the spooling - directory for this printer; here is bamboo's - entry: - - bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ - :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ - :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\ - :if=/usr/local/libexec/psif:\ - :df=/usr/local/libexec/psdf: + Αυτό σημαίνει πως ο rose δέχεται + αιτήσεις από τους υπολογιστές orchid, + violet, και + madrigal.fishbaum.de. Αν + κάποιος άλλος υπολογιστής προσπαθήσει να αποκτήσει πρόσβαση + στο LPD του rose, + η εργασία θα απορριφθεί. + + - The spooling directory is given in the sd - capability. We will make three megabytes (which is 6144 disk blocks) - the amount of free disk space that must exist on the filesystem for - LPD to accept remote jobs: - - &prompt.root; echo 6144 > /var/spool/lpd/bamboo/minfree - - - - - - User restrictions - - - You can control which remote users can print to local - printers by specifying the rs capability in - /etc/printcap. When - rs appears in the entry for a - locally-attached printer, LPD will - accept jobs from remote - hosts if the user submitting the job also - has an account of the same login name on the local host. - Otherwise, LPD refuses the job. - - This capability is particularly useful in an environment - where there are (for example) different departments sharing a - network, and some users transcend departmental boundaries. By - giving them accounts on your systems, they can use your - printers from their own departmental systems. If you would - rather allow them to use only your - printers and not your computer resources, you can give them - token accounts, with no home directory and a - useless shell like /usr/bin/false. - - - + + Περιορισμοί στο Μέγεθος + + + Μπορείτε να ελέγχετε πόσος ελεύθερος χώρος πρέπει να + απομένει στο σύστημα αρχείων όπου βρίσκεται ο κατάλογος + spool. Δημιουργήστε ένα αρχείο με όνομα + minfree στον κατάλογο spool για τον + τοπικό εκτυπωτή. Εισάγετε σε αυτό το αρχείο έναν αριθμό που + αντιπροσωπεύει πόσα blocks δίσκου (512 bytes) ελεύθερου χώρου + πρέπει να υπάρχουν για να είναι δεκτή μια απομακρυσμένη + εργασία. + + Αυτό σας επιτρέπει να είστε βέβαιοι πως οι απομακρυσμένοι + χρήστες δεν θα γεμίσουν το σύστημα αρχείων σας. Μπορείτε + επίσης να το χρησιμοποιήσετε για να δώσετε μερική + προτεραιότητα στους τοπικούς χρήστες: οι τοπικοί χρήστες θα + μπορούν να στέλνουν εργασίες στην ουρά αναμονής ακόμη και + όταν ο ελεύθερος χώρος του δίσκου έχει πέσει κάτω από τον + αριθμό που αναφέρεται στο αρχείο + minfree. + + Για παράδειγμα, ας προσθέσουμε ένα αρχείο + minfree για τον εκτυπωτή + bamboo. Εξετάζουμε το + /etc/printcap για να βρούμε τον κατάλογο + spool για αυτόν τον εκτυπωτή. Εδώ είναι η καταχώριση για τον + bamboo: + + bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ + :sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:\ + :lp=/dev/ttyd5:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\ + :if=/usr/local/libexec/psif:\ + :df=/usr/local/libexec/psdf: + + Ο κατάλογος spool καθορίζεται στην ικανότητα + sd. Θα θέσουμε τρία megabytes (ισοδυναμεί + με 6144 disk blocks) ως το μέγεθος του ελεύθερου χώρου που + πρέπει να υπάρχει στο σύστημα αρχείων, ώστε το + LPD να δέχεται απομακρυσμένες + εργασίες: + + &prompt.root; echo 6144 > /var/spool/lpd/bamboo/minfree + + + + + Περιορισμοί χρηστών + + + Μπορείτε να ελέγχετε ποιός απομακρυσμένος χρήστης μπορεί + να εκτυπώνει στους τοπικούς εκτυπωτές ορίζοντας την ικανότητα + rs στο /etc/printcap. + Όταν εμφανίζεται η rs σε μια καταχώριση + κάποιου τοπικά συνδεδεμένου εκτυπωτή, το + LPD θα δεχθεί εργασίες από + απομακρυσμένους υπολογιστές αν ο χρήστης + που αποστέλλει την εργασία έχει λογαριασμό στον τοπικό + υπολογιστή και με το ίδιο όνομα χρήστη. Διαφορετικά, το + LPD θα απορρίψει την + εργασία. + + Αυτή η ικανότητα είναι ιδιαίτερα χρήσιμη σε περιβάλλοντα + όπου υπάρχουν (για παράδειγμα) διαφορετικά επιχειρησιακά + τμήματα που μοιράζονται το δίκτυο, και κάποιοι χρήστες + πρέπει να υπερβαίνουν τα σύνορα του τμήματος. Δημιουργώντας + λογαριασμούς στα συστήματα σας, θα μπορούν να χρησιμοποιούν + τους εκτυπωτές σας από το δικό τους τμήμα της επιχείρησης. + Αν επιθυμείτε να τους επιτρέπετε να χρησιμοποιούν + μόνο τους εκτυπωτές και όχι τα + μηχανήματα σας, τότε μπορείτε να δημιουργήσετε + λογαριασμούς token, δίχως προσωπικούς + καταλόγους και με κέλυφος που δεν μπορεί να χρησιμοποιηθεί, + όπως το /usr/bin/false. + + + - + - Accounting for Printer Usage - + Καταμέτρηση Χρήσης Εκτυπωτών + - accounting - printer + καταμέτρηση + εκτυπωτής - So, you need to charge for printouts. And why not? Paper and ink - cost money. And then there are maintenance costs—printers are - loaded with moving parts and tend to break down. You have examined - your printers, usage patterns, and maintenance fees and have come up - with a per-page (or per-foot, per-meter, or per-whatever) cost. Now, - how do you actually start accounting for printouts? - - Well, the bad news is the LPD spooling - system does not provide - much help in this department. Accounting is highly dependent on the - kind of printer in use, the formats being printed, and - your requirements in charging for printer - usage. - - To implement accounting, you have to modify a printer's text - filter (to charge for plain text jobs) and the conversion filters (to - charge for other file formats), to count pages or query the printer - for pages printed. You cannot get away with using the simple output - filter, since it cannot do accounting. See section Filters. - - Generally, there are two ways to do accounting: - + Αποφασίσατε ότι χρειάζεται να χρεώνετε για τις εκτυπώσεις σας. + Και γιατί όχι; Το χαρτί και το μελάνι κοστίζουν χρήματα. Και + επιπλέον υπάρχει κόστος συντήρησης — οι εκτυπωτές αποτελούνται + από κινητά μέρη και έχουν την τάση να χαλάνε. Έχετε εξετάσει τους + εκτυπωτές σας, τον τρόπο που χρησιμοποιούνται, και το κόστος + συντήρησης και έχετε υπολογίσει μια χρέωση ανά σελίδα (ή ανά μέτρο, + ανά πόδι, ή άλλη μονάδα μέτρησης). Το θέμα είναι τώρα πως μπορείτε + πραγματικά να ξεκινήσετε να καταμετράτε τις εκτυπώσεις σας. + + Τα άσχημα νέα είναι πως το σύστημα παροχέτευσης του + LPD δεν παρέχει πολύ βοήθεια σε αυτόν τον + τομέα. Η καταμέτρηση εξαρτάται σε μεγάλο βαθμό από τον τύπο του + εκτυπωτή που χρησιμοποιείτε, τους τύπους αρχείων που εκτυπώνετε, και + τις δικές σας απαιτήσεις για την χρέωση των + εκτυπώσεων. + + Για την καταμέτρηση, θα πρέπει να μετατρέψετε το φίλτρο κειμένου + (για τη χρέωση εργασιών απλού κειμένου) του εκτυπωτή και τα φίλτρα + μετατροπής (για τη χρέωση όλων των άλλων τύπων αρχείων) ώστε να + μετρούν σελίδες ή να ζητούν να μάθουν από τον εκτυπωτή τον αριθμό των + εκτυπωμένων σελίδων. Δεν θα σας βοηθήσει ιδιαίτερα η χρήση φίλτρου + εξόδου, από τη στιγμή που δεν μπορεί να κάνει καταμέτρηση. Δείτε την + ενότητα Φίλτρα. + + Γενικά, υπάρχουν δύο τρόποι για να κάνετε καταμέτρηση: + - - Periodic accounting is the more common - way, possibly because it is easier. Whenever someone prints a - job, the filter logs the user, host, and number of pages to an - accounting file. Every month, semester, year, or whatever time - period you prefer, you collect the accounting files for the - various printers, tally up the pages printed by users, and charge - for usage. Then you truncate all the logging files, starting with - a clean slate for the next period. - - - - Timely accounting is less common, - probably because it is more difficult. This method has the - filters charge users for printouts as soon as they use the - printers. Like disk quotas, the accounting is immediate. You can - prevent users from printing when their account goes in the red, - and might provide a way for users to check and adjust their - print quotas. But this method requires some database - code to track users and their quotas. - + + Η Περιοδική καταμέτρηση είναι ο πιο + συνηθισμένος τρόπος, πιθανώς γιατί είναι ο ευκολότερος. Κάθε φορά + που κάποιος εκτυπώνει μια εργασία, το φίλτρο δημιουργεί ένα + αρχείο καταγραφής όπου αναφέρει τον χρήστη, τον υπολογιστή, και + τον αριθμό των σελίδων. Κάθε μήνα, εξάμηνο, χρόνο, ή άλλη χρονική + περίοδο της αρεσκείας σας, συλλέγετε τα αρχεία καταγραφής για τους + διάφορους εκτυπωτές, λογαριάζετε τις σελίδες που αναλογούν στους + χρήστες, και χρεώνετε αναλόγως. Έπειτα σβήνετε τα στοιχεία από τα + αρχεία καταγραφής, ξεκινώντας από καθαρή κατάσταση για την επόμενη + περίοδο. + + + + Η Καταμέτρηση κατά τη χρήση είναι + λιγότερο γνωστή, ίσως επειδή είναι πιο δύσκολος τρόπος. Σε αυτή + τη μέθοδο τα φίλτρα χρεώνουν τους χρήστες για τις εκτυπώσεις τους + αμέσως μόλις αυτές πραγματοποιηθούν. Όπως και με την καταγραφή + χρήσης δίσκου (disk quotas), η καταμέτρηση είναι άμεση. Μπορείτε + να προλαμβάνετε την χρήση εκτυπωτών από χρήστες που έχουν χτυπήσει + κόκκινο, και μπορείτε να παρέχετε στους χρήστες ένα τρόπο για να + ελέγχουν και να ρυθμίζουν τον όγκο εκτυπώσεων (print + quotas). Αλλά αυτή η μέθοδος προϋποθέτει λίγο κώδικα + βάσεων δεδομένων για την καταγραφή χρηστών και των εν λόγω + μεγεθών. + - - The LPD spooling system supports both - methods easily: since you - have to provide the filters (well, most of the time), you also have to - provide the accounting code. But there is a bright side: you have - enormous flexibility in your accounting methods. For example, you - choose whether to use periodic or timely accounting. You choose what - information to log: user names, host names, job types, pages printed, - square footage of paper used, how long the job took to print, and so - forth. And you do so by modifying the filters to save this - information. - + + Το σύστημα παροχέτευσης LPD + υποστηρίζει εύκολα και τις δύο μεθόδους: από τη στιγμή που πρέπει + εσείς να παρέχετε τα φίλτρα (τις περισσότερες φορές), θα πρέπει + επίσης να παρέχετε και τον κώδικα καταμέτρησης. Αλλά υπάρχει και ένα + καλό σε αυτή την υπόθεση: έχετε απεριόριστη ευελιξία στις μεθόδους + καταμέτρησης. Για παράδειγμα, μπορείτε να επιλέξετε περιοδική ή κατά + τη χρήση καταμέτρηση. Μπορείτε να επιλέξετε τις πληροφορίες που θα + καταγράφονται: ονόματα χρηστών, ονόματα υπολογιστών, τύπους εργασιών, + τυπωμένες σελίδες, τετραγωνικά μέτρα χαρτιού που χρησιμοποιήθηκε, + πόσος χρόνος χρειάστηκε για να γίνει η εκτύπωση, και πολλά ακόμα. Και + όλα αυτά γίνονται μετατρέποντας τα φίλτρα για να αποθηκεύουν αυτές τις + πληροφορίες. + - Quick and Dirty Printer Accounting + Γρήγορη και Πρόχειρη Καταμέτρηση Εκτυπώσεων - FreeBSD comes with two programs that can get you set up with - simple periodic accounting right away. They are the text filter - lpf, described in section lpf: a Text Filter, and - &man.pac.8;, a program to gather and total - entries from printer accounting files. + Το &os; διατίθεται με δύο προγράμματα που μπορούν να παρέχουν + άμεσα απλή περιοδική καταμέτρηση. Είναι το φίλτρο κειμένου + lpf, που περιγράφεται στην ενότητα lpf: ένα Φίλτρο Κειμένου, + και το &man.pac.8;, ένα πρόγραμμα που συλλέγει και αθροίζει + καταχωρίσεις από αρχεία καταμετρήσεων. - As mentioned in the section on filters (Filters), - LPD starts - the text and the conversion filters with the name of the accounting - file to use on the filter command line. The filters can use this - argument to know where to write an accounting file entry. The name - of this file comes from the af capability in - /etc/printcap, and if not specified as an - absolute path, is relative to the spooling directory. + Όπως αναφέραμε στην ενότητα των φίλτρων (Φίλτρα), το + LPD ξεκινά τα φίλτρα κειμένου και + μετατροπής περνώντας στην γραμμή εντολών του φίλτρου και το όνομα + του αρχείου καταγραφής. Τα φίλτρα μπορούν να χρησιμοποιήσουν αυτή + την παράμετρο για να ξέρουν που να γράφουν τις καταχωρίσεις + καταμέτρησης. Το όνομα του αρχείου καταμέτρησης φαίνεται στην + ικανότητα af στο + /etc/printcap, και αν δεν ορίζεται η πλήρης + διαδρομή του, χρησιμοποιείται η σχετική διαδρομή ως προς τον + κατάλογο spool. - LPD starts lpf - with page width and length - arguments (from the pw and pl - capabilities). lpf uses these arguments to - determine how much paper will be used. After sending the file to - the printer, it then writes an accounting entry in the accounting - file. The entries look like this: + Το LPD ξεκινά το + lpf με παραμέτρους πλάτους και μήκους σελίδας + (από τις ικανότητες pw και + pl). Το lpf χρησιμοποιεί + αυτές τις παραμέτρους για να προσδιορίσει την ποσότητα χαρτιού που + χρησιμοποιήθηκε. Μετά την αποστολή του αρχείου στον εκτυπωτή, + γράφει μια καταχώριση καταμέτρησης στο αρχείο καταγραφής. Οι + καταχωρίσεις μοιάζουν με τις παρακάτω: - 2.00 rose:andy + 2.00 rose:andy 3.00 rose:kelly 3.00 orchid:mary 5.00 orchid:mary 2.00 orchid:zhang - - You should use a separate accounting file for each printer, as - lpf has no file locking logic built into it, and - two lpfs might corrupt each other's entries if - they were to write to the same file at the same time. An easy way - to insure a separate accounting file for each printer is to use - af=acct in /etc/printcap. - Then, each accounting file will be in the spooling directory for a - printer, in a file named acct. - - When you are ready to charge users for printouts, run the - &man.pac.8; program. Just change to the spooling directory for - the printer you want to collect on and type pac. - You will get a dollar-centric summary like the following: - - Login pages/feet runs price + + Θα πρέπει να χρησιμοποιείτε ξεχωριστό αρχείο καταγραφής για + κάθε εκτυπωτή, αφού το lpf δεν έχει ενσωματωμένη + δυνατότητα κλειδώματος αρχείου (file locking), και δύο + lpf μπορούν να καταστρέψουν το ένα την + καταχώριση του άλλου αν πρόκειται να γράψουν ταυτόχρονα στο ίδιο + αρχείο. Ένας εύκολος τρόπος για να βεβαιώσετε την μοναδικότητα + αρχείου καταγραφής ανά εκτυπωτή είναι να χρησιμοποιήσετε την + ικανότητα af=acct στο + /etc/printcap. Έτσι, κάθε αρχείο καταγραφής + θα βρίσκεται στον κατάλογο spool του αντίστοιχου εκτυπωτή, σε ένα + αρχείο με όνομα acct. + + Όταν είστε έτοιμοι να χρεώσετε τους χρήστες για τις εκτυπώσεις, + εκτελέστε το πρόγραμμα &man.pac.8;. Απλά μεταβείτε στον κατάλογο + spool για τον εκτυπωτή που κάνετε καταμέτρηση και πληκτρολογήστε + pac. Θα εμφανιστεί ένας απολογισμός με χρεώσεις + σε δολάρια, όπως βλέπετε στη συνέχεια: + + Login pages/feet runs price orchid:kelly 5.00 1 $ 0.10 orchid:mary 31.00 3 $ 0.62 orchid:zhang 9.00 1 $ 0.18 @@ -3628,90 +3893,94 @@ rose:mary 87.00 32 $ 1.74 rose:root 26.00 12 $ 0.52 total 337.00 154 $ 6.74 - - These are the arguments &man.pac.8; expects: - - - + Παρακάτω είναι οι παράμετροι που δέχεται το &man.pac.8;: - - Which printer to summarize. - This option works only if there is an absolute path in the - af capability in - /etc/printcap. - - - - - - - - Sort the output by cost instead of alphabetically by user - name. - - - - - - - - Ignore host name in the accounting files. With this - option, user smith on host - alpha is the same user - smith on host gamma. - Without, they are different users. - - - - - - - - Compute charges with price - dollars per page or per foot instead of the price from the - pc capability in - /etc/printcap, or two cents (the - default). You can specify price as - a floating point number. - - - - - - - - Reverse the sort order. - - - - - - - - Make an accounting summary file and truncate the - accounting file. - - - - - name - - - - Print accounting information for the given user - names only. - - - + + + - In the default summary that &man.pac.8; produces, you see the - number of pages printed by each user from various hosts. If, at - your site, host does not matter (because users can use any host), - run pac -m, to produce the following - summary: - - Login pages/feet runs price + + Για ποιό printer να + κάνει απολογισμό. Αυτή η επιλογή δουλεύει μόνο αν υπάρχει η + πλήρης διαδρομή στην ικανότητα af στο + /etc/printcap. + + + + + + + + Ταξινομεί το αποτέλεσμα ανά κόστος αντί της αλφαβητικής + ταξινόμησης των χρηστών. + + + + + + + + Αγνοεί το όνομα του υπολογιστή στα αρχεία καταγραφής. Με + αυτή την επιλογή, ο χρήστης smith στον + υπολογιστή alpha είναι ο ίδιος χρήστης με τον + smith στον υπολογιστή + gamma. Χωρίς την επιλογή αυτή, είναι + διαφορετικοί χρήστες. + + + + + + + + Υπολογίζει τις χρεώσεις με + price (τιμή) σε δολάρια ανά σελίδα + ή ανά πόδι αντί για την τιμή από την ικανότητα + pc στο /etc/printcap, + ή αλλιώς δύο σεντς (από προεπιλογή). Μπορείτε να ορίσετε + ως price μια τιμή με δεκαδικά + ψηφία (floating point). + + + + + + + + Αντιστρέφει την σειρά ταξινόμησης. + + + + + + + + Δημιουργεί ένα αρχείο απολογισμού των καταμετρήσεων και + καθαρίζει τα περιεχόμενα των αρχείων καταγραφής. + + + + + name + + + + Τυπώνει πληροφορίες αναφοράς μόνο για τα συγκεκριμένα + name (ονόματα) χρηστών. + + + + + Στον προεπιλεγμένο απολογισμό που παράγει το &man.pac.8;, + βλέπετε των αριθμό των τυπωμένων σελίδων ανά χρήστη από τους + διάφορους υπολογιστές. Αν, στο χώρο σας, ο υπολογιστής δεν έχει + σημασία (γιατί οι χρήστες μπορούν να χρησιμοποιήσουν οποιονδήποτε + θέλουν), εκτελέστε την εντολή + pac , για να + δημιουργήσετε τον ακόλουθο απολογισμό: + + Login pages/feet runs price andy 2.00 1 $ 0.04 kelly 182.00 105 $ 3.64 mary 118.00 35 $ 2.36 @@ -3719,228 +3988,255 @@ root 26.00 12 $ 0.52 zhang 9.00 1 $ 0.18 total 337.00 154 $ 6.74 - - To compute the dollar amount due, - &man.pac.8; uses the pc capability in the - /etc/printcap file (default of 200, or 2 cents - per page). Specify, in hundredths of cents, the price per page or - per foot you want to charge for printouts in this capability. You - can override this value when you run &man.pac.8; with the - option. The units for the - option are in dollars, though, not hundredths of cents. For - example, - - &prompt.root; pac -p1.50 - - makes each page cost one dollar and fifty cents. You can really - rake in the profits by using this option. - Finally, running pac -s will save the summary - information in a summary accounting file, which is named the same as - the printer's accounting file, but with _sum - appended to the name. It then truncates the accounting file. When - you run &man.pac.8; again, it rereads the - summary file to get starting totals, then adds information from the - regular accounting file. + Για τον ορισμό ποσοστού χρέωσης σε δολάρια, το &man.pac.8; + χρησιμοποιεί την ικανότητα pc στο αρχείο + /etc/printcap (προεπιλεγμένη τιμή 200, ή 2 + σεντς ανά σελίδα). Προσδιορίστε σε αυτήν την ικανότητα, σε + εκατοστά του σεντ, την τιμή ανά σελίδα ή ανά πόδι που θέλετε να + χρεώνετε για τις εκτυπώσεις. Μπορείτε να προσπεράσετε αυτή την + τιμή όταν τρέχετε το &man.pac.8; με την επιλογή + . H μονάδα μέτρησης για την επιλογή + είναι σε δολάρια, όχι σε εκατοστά του σεντ. + Για παράδειγμα, + + &prompt.root; pac + + ορίζει κόστος κάθε σελίδας ένα δολάριο και πενήντα σεντς. + Μπορείτε πραγματικά να έχετε πολλά έσοδα χρησιμοποιώντας αυτές τις + χρεώσεις. + + Τέλος, εκτελώντας pac θα + αποθηκεύσετε τις πληροφορίες του απολογισμού σε ένα αρχείο + καταγραφής απολογισμού, που θα έχει το ίδιο όνομα με το αρχείο + καταγραφής του εκτυπωτή, αλλά με κατάληξη _sum. + Έπειτα καθαρίζεται το αρχείο καταγραφής. Όταν εκτελέσετε πάλι το + &man.pac.8;, θα ξαναδιαβάσει το αρχείο απολογισμού, για να πάρει τα + αρχικά σύνολα, και θα προσθέσει τις πληροφορίες από το κανονικό + αρχείο καταγραφής. - + - How Can You Count Pages Printed? + Πως Μπορείτε να Μετρήσετε τις Τυπωμένες Σελίδες; - In order to perform even remotely accurate accounting, you need - to be able to determine how much paper a job uses. This is the - essential problem of printer accounting. - - For plain text jobs, the problem is not that hard to solve: you - count how many lines are in a job and compare it to how many lines - per page your printer supports. Do not forget to take into account - backspaces in the file which overprint lines, or long logical lines - that wrap onto one or more additional physical lines. - - The text filter lpf (introduced in lpf: a Text Filter) takes - into account these things when it does accounting. If you are - writing a text filter which needs to do accounting, you might want - to examine lpf's source code. - - How do you handle other file formats, though? + Για να μετρήσετε τις τυπωμένες σελίδες με έστω στοιχειώδη + λεπτομέρεια, θα πρέπει να προσδιορίσετε πόσο χαρτί χρειάζεται μια + εργασία. Αυτό είναι το ουσιαστικότερο πρόβλημα στην καταμέτρηση + εκτυπώσεων. - Well, for DVI-to-LaserJet or DVI-to-&postscript; conversion, you - can have your filter parse the diagnostic output of - dvilj or dvips and look to see - how many pages were converted. You might be able to do similar - things with other file formats and conversion programs. + Για εργασίες απλού κειμένου, το πρόβλημα δεν είναι δύσκολο να + λυθεί: Μετράτε πόσες γραμμές υπάρχουν σε μια εργασία και τις + συγκρίνετε με πόσες γραμμές μπορεί να τυπώσει ο εκτυπωτής σας σε + μια σελίδα. Μην ξεχάσετε να συμπεριλάβετε τα backspaces που + προκαλούν υπερτύπωση, ή επιμήκης λογικές γραμμές που αναδιπλώνονται + σε περισσότερες από μία φυσικές γραμμές. - But these methods suffer from the fact that the printer may not - actually print all those pages. For example, it could jam, run out - of toner, or explode—and the user would still get - charged. - - So, what can you do? + Το φίλτρο κειμένου lpf (που παρουσιάσαμε στο + lpf: ένα Φίλτρο + Κειμένου) λαμβάνει υπόψιν του αυτά τα στοιχεία όταν κάνει + καταμέτρηση. Αν γράφετε κάποιο φίλτρο κειμένου που χρειάζεται να + κάνει καταμέτρηση, ίσως να θέλετε να ελέγξετε τον πηγαίο κώδικα + του lpf. - There is only one sure way to do - accurate accounting. Get a printer that can - tell you how much paper it uses, and attach it via a serial line or - a network connection. Nearly all &postscript; printers support this - notion. Other makes and models do as well (networked Imagen laser - printers, for example). Modify the filters for these printers to - get the page usage after they print each job and have them log - accounting information based on that value - only. There is no line counting nor - error-prone file examination required. - - Of course, you can always be generous and make all printouts - free. + Πως χειρίζεστε όμως τους υπόλοιπους τύπους αρχείων; + + Για τις μετατροπές από DVI-σε-LaserJet ή από + DVI-σε-&postscript;, μπορείτε να κάνετε το φίλτρο σας να αναλύει + την έξοδο του dvilj ή του + dvips και να ελέγχει πόσες σελίδες + δημιουργήθηκαν από τη μετατροπή. Ίσως μπορέσετε να κάνετε κάτι + παρόμοιο και με διαφορετικούς τύπους αρχείων και προγράμματα + μετατροπής + + Ωστόσο, όλες αυτές οι μέθοδοι έχουν το μειονέκτημα πως ο + εκτυπωτής πιθανώς στην πραγματικότητα να μην εκτυπώσει όλες τις + σελίδες. Για παράδειγμα, θα μπορούσε να μπλοκαριστεί το χαρτί, ή να + τελειώσει το τόνερ, ή ακόμη να συμβεί και έκρηξη —ενώ ο + χρήστης θα συνεχίσει να χρεώνεται. + + Τι θα μπορούσατε να κάνετε; + + Υπάρχει μόνο ένας σίγουρος τρόπος για να + κάνετε καταμέτρηση ακριβείας. Να πάρετε έναν + εκτυπωτή που να μπορεί να σας πει πόσο χαρτί χρησιμοποιεί, και να + τον συνδέσετε μέσω σειριακής θύρας ή μέσω δικτύου. Σχεδόν + όλοι οι εκτυπωτές &postscript; υποστηρίζουν αυτή την δυνατότητα. Θα + βρείτε και άλλους τύπους και κατασκευαστές που κάνουν επίσης το ίδιο + (για παράδειγμα, οι laser εκτυπωτές δικτύου της Imagen). + Μετατρέψτε τα φίλτρα για αυτούς τους εκτυπωτές ώστε να καταγράφουν + τις τυπωμένες σελίδες μετά την ολοκλήρωση της εκάστοτε εργασίας + εκτύπωσης, και ρυθμίστε τους να κρατούν αρχεία καταγραφής με + μόνο αυτή την πληροφορία. Δεν χρειάζεται + καταμέτρηση γραμμών ούτε αναφορά σφαλμάτων. + + Φυσικά, πάντα έχετε τη δυνατότητα να φανείτε γενναιόδωρος και να + παρέχετε τις εκτυπώσεις σας δωρεάν. - Using Printers - + Χρήση Εκτυπωτών + printers usage - - This section tells you how to use printers you have set up with - FreeBSD. Here is an overview of the user-level commands: + + Αυτή η ενότητα περιγράφει πως να χρησιμοποιείτε τους εκτυπωτές που + έχετε εγκαταστήσει στο &os;. Οι βασικές εντολές για τον τελικό χρήστη + είναι οι ακόλουθες: &man.lpr.1; - Print jobs + Εκτύπωση εργασιών - + &man.lpq.1; - Check printer queues + Έλεγχος ουράς αναμονής (print queue) του εκτυπωτή - + &man.lprm.1; - Remove jobs from a printer's queue + Διαγραφή εργασιών από την ουρά αναμονής - - There is also an administrative command, &man.lpc.8;, - described in the section Administering Printers, used to - control printers and their queues. - All three of the commands &man.lpr.1;, &man.lprm.1;, and &man.lpq.1; - accept an option to specify on which - printer/queue to operate, as listed in the - /etc/printcap file. This enables you to submit, - remove, and check on jobs for various printers. If you do not use the - option, then these commands use the printer - specified in the PRINTER environment variable. Finally, - if you do not have a PRINTER environment variable, these - commands default to the printer named lp. + Υπάρχει επίσης μια εντολή για τους διαχειριστές, η &man.lpc.8;, + που περιγράφεται στην ενότητα Διαχείριση Εκτυπωτών, και + χρησιμοποιείται για να ελέγχει τους εκτυπωτές και τις ουρές + αναμονής. + + Και οι τρεις εντολές &man.lpr.1;, &man.lprm.1;, και &man.lpq.1; + δέχονται την επιλογή + με την + οποία καθορίζεται σε ποιον εκτυπωτή ή ουρά αναμονής θα ενεργήσουν, όπως + αναφέρεται στο αρχείο /etc/printcap. Αυτό σας + επιτρέπει να αποστείλετε, να διαγράψετε, και να ελέγξετε εργασίες σε + διάφορους εκτυπωτές. Αν δεν χρησιμοποιείτε την επιλογή + , τότε οι εντολές χρησιμοποιούν τον εκτυπωτή που + αναφέρεται στη μεταβλητή περιβάλλοντος PRINTER. Τέλος, + αν δεν έχετε θέσει μια μεταβλητή περιβάλλοντος PRINTER, + οι εντολές εκτελούνται με τον προεπιλεγμένο εκτυπωτή που ονομάζεται + lp. + + Από δω και στο εξής, με την ορολογία προεπιλεγμένος + εκτυπωτής θα εννοούμε τον εκτυπωτή που αναφέρεται στην + μεταβλητή περιβάλλοντος PRINTER, ή αν δεν υπάρχει, τον + εκτυπωτή με το όνομα lp. - Hereafter, the terminology default printer - means the printer named in the PRINTER environment - variable, or the printer named lp when there is no - PRINTER environment variable. - - Printing Jobs - - To print files, type: - - &prompt.user; lpr filename ... - + Εκτύπωση Εργασιών + + Για να εκτυπώσετε αρχεία, πληκτρολογήστε: + + &prompt.user; lpr filename ... + printing - This prints each of the listed files to the default printer. If - you list no files, &man.lpr.1; reads data to - print from standard input. For example, this command prints some - important system files: + Θα εκτυπωθούν όλα τα αναφερόμενα αρχεία στον προεπιλεγμένο + εκτυπωτή. Αν δεν αναφέρετε αρχεία, το &man.lpr.1; διαβάζει + δεδομένα από το standard input. Για παράδειγμα, αυτή η εντολή + θα εκτυπώσει μερικά σημαντικά αρχεία του συστήματος: - &prompt.user; lpr /etc/host.conf /etc/hosts.equiv - - To select a specific printer, type: - - &prompt.user; lpr -P printer-name filename ... + &prompt.user; lpr /etc/host.conf /etc/hosts.equiv - This example prints a long listing of the current directory to the - printer named rattan: - - &prompt.user; ls -l | lpr -P rattan - - Because no files were listed for the - &man.lpr.1; command, lpr read the data to print - from standard input, which was the output of the ls - -l command. - - The &man.lpr.1; command can also accept a wide variety of options - to control formatting, apply file conversions, generate multiple - copies, and so forth. For more information, see the section Printing Options. + Για να επιλέξετε ένα συγκεκριμένο εκτυπωτή, πληκτρολογήστε: + + &prompt.user; lpr printer-name filename ... + + Στο παράδειγμα μας θα εκτυπωθεί μια μεγάλη λίστα αρχείων του + τρέχοντος καταλόγου στον εκτυπωτή που ονομάζεται + rattan: + + &prompt.user; ls | lpr rattan + + Αφού δεν αναφέρονται ονόματα αρχείων στην εντολή &man.lpr.1;, + το lpr διαβάζει τα δεδομένα που θα εκτυπώσει από + το standard input, τα οποία είναι η έξοδος της εντολής + ls . + + Η εντολή &man.lpr.1; μπορεί να δεχθεί ένα μεγάλο αριθμό επιλογών + για να ελέγχει την μορφοποίηση, να μετατρέπει αρχεία, να δημιουργεί + πολλαπλά αντίγραφα, κ.λ.π. Για περισσότερες πληροφορίες, δείτε την + ενότητα Επιλογές Εκτύπωσης. - + - Checking Jobs - - print jobs - When you print with &man.lpr.1;, the data you wish to print is put - together in a package called a print job, which is sent - to the LPD spooling system. Each printer - has a queue of jobs, and - your job waits in that queue along with other jobs from yourself and - from other users. The printer prints those jobs in a first-come, - first-served order. + Έλεγχος Εργασιών - To display the queue for the default printer, type &man.lpq.1;. - For a specific printer, use the option. For - example, the command + εκτύπωση εργασιών + Όταν εκτυπώνετε με το &man.lpr.1;, τα δεδομένα που θέλετε να + εκτυπώσετε τοποθετούνται σε ένα πακέτο (package) που ονομάζεται + εργασία εκτύπωσης (print job), η οποία αποστέλλεται + στο σύστημα παροχέτευσης LPD. Κάθε + εκτυπωτής έχει μια ουρά αναμονής εργασιών, και η εργασία σας + αναμένει μαζί με άλλες δικές σας και άλλων χρηστών. Ο εκτυπωτής τις + εκτυπώνει με την σειρά άφιξης στην ουρά αναμονής. - &prompt.user; lpq -P bamboo + Για να εμφανίσετε την ουρά αναμονής για τον προεπιλεγμένο + εκτυπωτή, πληκτρολογήστε &man.lpq.1;. Για κάποιον συγκεκριμένο + εκτυπωτή, χρησιμοποιήστε την επιλογή . Για + παράδειγμα, η εντολή: - shows the queue for the printer named bamboo. Here - is an example of the output of the lpq - command: - - bamboo is ready and printing + &prompt.user; lpq bamboo + + εμφανίζει την ουρά αναμονής για τον εκτυπωτή με το όνομα + bamboo. Ακολουθεί ένα παράδειγμα εξόδου της + εντολής lpq: + + bamboo is ready and printing Rank Owner Job Files Total Size active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes 2nd kelly 10 (standard input) 1635 bytes 3rd mary 11 ... 78519 bytes - - This shows three jobs in the queue for bamboo. - The first job, submitted by user kelly, got assigned job - number 9. Every job for a printer gets a unique job number. - Most of the time you can ignore the job number, but you will need it - if you want to cancel the job; see section Removing Jobs for details. - - Job number nine consists of two files; multiple files given on the - &man.lpr.1; command line are treated as part of a single job. It - is the currently active job (note the word active - under the Rank column), which means the printer should - be currently printing that job. The second job consists of data - passed as the standard input to the &man.lpr.1; command. The third - job came from user mary; it is a much larger - job. The pathname of the file she is trying to print is too long to - fit, so the &man.lpq.1; command just shows three dots. - The very first line of the output from &man.lpq.1; is also useful: - it tells what the printer is currently doing (or at least what - LPD thinks the printer is doing). + Εμφανίζονται τρεις εργασίες στη λίστα αναμονής για τον + bamboo. Στην πρώτη εργασία, που έχει σταλεί από + τον χρήστη kelly, έχει αποδοθεί ο + αριθμός εργασίας (job number) 9. Κάθε εργασία ενός + εκτυπωτή χαρακτηρίζεται από ένα μοναδικό τέτοιο αριθμό. Τις + περισσότερες φορές μπορείτε να τον αγνοήσετε, αλλά θα τον χρειαστείτε + αν θέλετε να διαγράψετε κάποια εργασία. Δείτε την ενότητα Διαγραφή Εργασιών για + περισσότερες πληροφορίες. + + Η εργασία με το νούμερο εννέα αποτελείται από δύο αρχεία. Τα + πολλαπλά αρχεία που δόθηκαν στη γραμμή εντολών του &man.lpr.1; + θεωρούνται μέρος μίας μόνο εργασίας. Αυτή είναι και η τρέχουσα ενεργή + εργασία (παρατηρήστε τη λέξη active της στήλης + Rank), που σημαίνει πως η εργασία εκτυπώνεται αυτή τη + στιγμή. Η δεύτερη εργασία αποτελείται από δεδομένα που έχουν περάσει + στην standard input της εντολής &man.lpr.1;. Η τρίτη εργασία + προέρχεται από τον χρήστη mary, και πρόκειται + για μια πολύ ογκώδη εργασία. Το όνομα διαδρομής του αρχείου που + πρόκειται να εκτυπωθεί είναι πολύ μεγάλο για να χωρέσει στη στήλη, + και για αυτό η εντολή &man.lpq.1; απλά το συμβολίζει με τρεις + τελείες. + + Η πρώτη γραμμή της εξόδου από την &man.lpq.1; είναι επίσης πολύ + χρήσιμη: μας ενημερώνει για το τι κάνει την παρούσα στιγμή ο + εκτυπωτής (ή τουλάχιστον για το τι πιστεύει το + LPD πως κάνει ο εκτυπωτής αυτή τη + στιγμή). + + Η εντολή &man.lpq.1; επίσης υποστηρίζει την επιλογή + για να δημιουργήσει μια μεγάλη, λεπτομερή λίστα. + Ακολουθεί ένα παράδειγμα του + lpq : - The &man.lpq.1; command also support a option - to generate a detailed long listing. Here is an example of - lpq -l: - waiting for bamboo to become ready (offline ?) kelly: 1st [job 009rose] /etc/host.conf 73 bytes @@ -3954,124 +4250,131 @@ mary: 3rd [job 011rose] - Removing Jobs - - If you change your mind about printing a job, you can remove the - job from the queue with the &man.lprm.1; command. Often, you can - even use &man.lprm.1; to remove an active job, but some or all of the - job might still get printed. - - To remove a job from the default printer, first use - &man.lpq.1; to find the job number. Then type: - - &prompt.user; lprm job-number - - To remove the job from a specific printer, add the - option. The following command removes job number - 10 from the queue for the printer bamboo: - - &prompt.user; lprm -P bamboo 10 - - The &man.lprm.1; command has a few shortcuts: - + Αφαίρεση Εργασιών + + Αν αλλάξετε γνώμη για μια εργασία που είχατε αποστείλει προς + εκτύπωση, μπορείτε να την αφαιρέσετε από την λίστα αναμονής με την + εντολή &man.lprm.1;. Μπορείτε ακόμη να χρησιμοποιήσετε την + &man.lprm.1; για να αφαιρέσετε μια ενεργή εργασία, αλλά πιθανόν + κάποιο μέρος της να εκτυπωθεί έτσι και αλλιώς. + + Για να αφαιρέσετε μια εργασία από τον προεπιλεγμένο εκτυπωτή, + χρησιμοποιήστε πρώτα την &man.lpq.1; για να βρείτε τον αριθμό της. + Έπειτα πληκτρολογήστε: + + &prompt.user; lprm job-number + + Για να αφαιρέσετε μια εργασία από κάποιον συγκεκριμένο εκτυπωτή, + προσθέστε την επιλογή . Η ακόλουθη εντολή αφαιρεί + την εργασία με αριθμό 10 από την ουρά αναμονής για τον εκτυπωτή + bamboo: + + &prompt.user; lprm bamboo 10 + + Η εντολή &man.lprm.1; έχει μερικές συντομεύσεις: + lprm - - Removes all jobs (for the default printer) belonging to - you. + Αφαιρεί όλες τις εργασίες (για τον προεπιλεγμένο εκτυπωτή) + που ανήκουν σε εσάς. lprm user - + - Removes all jobs (for the default printer) belonging to - user. The superuser can remove other - users' jobs; you can remove only your own jobs. + Αφαιρεί όλες τις εργασίες (για τον προεπιλεγμένο εκτυπωτή) + που ανήκουν στον χρήστη (user). + Ο υπερχρήστης (superuser) μπορεί να αφαιρέσει εργασίες άλλων + χρηστών, εσείς μπορείτε να αφαιρέσετε μόνο τις δικές σας. lprm - + - With no job number, user name, or - appearing on the command line, - &man.lprm.1; removes the currently active job on the - default printer, if it belongs to you. The superuser can remove - any active job. + Η εντολή &man.lprm.1; χωρίς αριθμό εργασίας, όνομα χρήστη, + ή που εμφανίζεται στην γραμμή εντολών, + αφαιρεί την τρέχουσα ενεργή εργασία στον προεπιλεγμένο + εκτυπωτή, αν ανήκει σε σάς. Ο υπερχρήστης (superuser) μπορεί + να αφαιρέσει οποιαδήποτε ενεργή εργασία. - - Just use the option with the above shortcuts - to operate on a specific printer instead of the default. For example, - the following command removes all jobs for the current user in the - queue for the printer named rattan: - - &prompt.user; lprm -P rattan - - + + Για να δουλέψετε σε κάποιον συγκεκριμένο εκτυπωτή αντί του + προεπιλεγμένου, απλά χρησιμοποιήστε την επιλογή + με τις παραπάνω συντομεύσεις. Για παράδειγμα, η ακόλουθη εντολή + αφαιρεί όλες τις εργασίες του τρέχοντος χρήστη από την ουρά αναμονής + του εκτυπωτή rattan: + + &prompt.user; lprm rattan - + - If you are working in a networked environment, &man.lprm.1; will - let you remove jobs only from the - host from which the jobs were submitted, even if the same printer is - available from other hosts. The following command sequence - demonstrates this: - - &prompt.user; lpr -P rattan myfile -&prompt.user; rlogin orchid -&prompt.user; lpq -P rattan + Αν εργάζεστε σε περιβάλλον δικτύου, η &man.lprm.1; θα σας + επιτρέψει να αφαιρέσετε εργασίες μόνο από τον υπολογιστή που + τις έχετε στείλει, ανεξάρτητα αν ο εκτυπωτής είναι προσβάσιμος και + από άλλους υπολογιστές. Η ακόλουθη εντολή επιδεικνύει ακριβώς αυτό + το χαρακτηριστικό: + + &prompt.user; lpr rattan myfile +&prompt.user; rlogin orchid +&prompt.user; lpq rattan Rank Owner Job Files Total Size active seeyan 12 ... 49123 bytes 2nd kelly 13 myfile 12 bytes -&prompt.user; lprm -P rattan 13 +&prompt.user; lprm rattan 13 rose: Permission denied -&prompt.user; logout -&prompt.user; lprm -P rattan 13 +&prompt.user; logout +&prompt.user; lprm rattan 13 dfA013rose dequeued cfA013rose dequeued - - - Beyond Plain Text: Printing Options - - The &man.lpr.1; command supports a number of options that control - formatting text, converting graphic and other file formats, producing - multiple copies, handling of the job, and more. This section - describes the options. - - - Formatting and Conversion Options - The following &man.lpr.1; options control formatting of the - files in the job. Use these options if the job does not contain - plain text or if you want plain text formatted through the - &man.pr.1; utility. - - &tex; - For example, the following command prints a DVI file (from the - &tex; typesetting system) named fish-report.dvi - to the printer named bamboo: - - &prompt.user; lpr -P bamboo -d fish-report.dvi - - These options apply to every file in the job, so you cannot mix - (say) DVI and ditroff files together in a job. Instead, submit the - files as separate jobs, using a different conversion option for each - job. + + Πέρα από το Απλό Κείμενο: Περισσότερες Επιλογές Εκτύπωσης + + Η εντολή &man.lpr.1; υποστηρίζει μια γκάμα επιλογών για τον έλεγχο + μορφοποίησης κειμένου, μετατροπής γραφικών και άλλων μορφών αρχείων, + παραγωγής πολλαπλών αντιγράφων, χειρισμού εργασιών, και άλλα. Οι + επιλογές αυτές περιγράφονται στην παρούσα ενότητα. + + + Επιλογές Μορφοποίησης και Μετατροπής + + Οι ακόλουθες επιλογές της &man.lpr.1; ελέγχουν την μορφοποίηση + των αρχείων της εργασίας εκτύπωσης. Χρησιμοποιήστε τις αν η εργασία + σας δεν περιέχει απλό κείμενο ή αν επιθυμείτε να μορφοποιήσετε απλό + κείμενο διαμέσου του εργαλείου &man.pr.1;. + + &tex; + Για παράδειγμα, η ακόλουθη εντολή τυπώνει ένα αρχείο DVI (από το + σύστημα στοιχειοθεσίας &tex;) με όνομα + fish-report.dvi + στον εκτυπωτή με όνομα bamboo: + + &prompt.user; lpr bamboo fish-report.dvi + + Αυτές οι επιλογές εφαρμόζονται σε κάθε αρχείο της εργασίας, και + έτσι δεν μπορείτε να αναμίξετε (ας πούμε) αρχεία DVI και ditroff + μαζί στην ίδια εργασία. Απλώς στείλτε τα αρχεία σαν διαφορετικές + εργασίες, χρησιμοποιώντας διαφορετικές επιλογές μετατροπής για κάθε + εργασία. - All of these options except and - require conversion filters installed for the - destination printer. For example, the option - requires the DVI conversion filter. Section Conversion - Filters gives details. + Όλες αυτές οι επιλογές εκτός της και της + απαιτούν εγκατεστημένα φίλτρα μετατροπής για + τον εκτυπωτή προορισμού. Για παράδειγμα, η επιλογή + απαιτεί το φίλτρο μετατροπής DVI. Η ενότητα + Φίλτρα + Μετατροπής δίνει περισσότερες λεπτομέρειες. @@ -4079,538 +4382,567 @@ cfA013rose dequeued - Print cifplot files. + Εκτυπώνει αρχεία cifplot. - + - + - Print DVI files. + Εκτυπώνει αρχεία DVI. - + - + - Print FORTRAN text files. + Εκτυπώνει αρχεία κειμένου FORTRAN. - + - + - Print plot data. + Εκτυπώνει δεδομένα σχεδίασης (plot). - + - - + + + - Indent the output by number - columns; if you omit number, indent - by 8 columns. This option works only with certain conversion - filters. + Εκτυπώνει την έξοδο με εσοχή + number στηλών. Αν παραλείψετε + το number, η εσοχή θα είναι + 8 στήλες. Αυτή η επιλογή δουλεύει μόνο με ορισμένα φίλτρα + μετατροπής. - Do not put any space between the and - the number. + Μην τοποθετείτε κενό διάστημα μεταξύ του + και του αριθμού. - + - + - Print literal text data, including control - characters. + Εκτυπώνει δεδομένα κειμένου κατά γράμμα (literal), + συμπεριλαμβάνοντας και τους χαρακτήρες ελέγχου. - + - + - Print ditroff (device independent troff) data. + Εκτυπώνει δεδομένα ditroff (δεδομένα troff ανεξάρτητα από + τη συσκευή). - + -p - + - Format plain text with &man.pr.1; before printing. See - &man.pr.1; for more information. + Μορφοποιεί το απλό κείμενο με την &man.pr.1; πριν να το + εκτυπώσει. Δείτε την &man.pr.1; για περισσότερες + πληροφορίες. - + - + - Use title on the - &man.pr.1; header instead of the file name. This option has - effect only when used with the - option. - + Χρησιμοποιεί το title στην + κεφαλίδα του &man.pr.1; αντί για το όνομα αρχείου. Αυτή η + επιλογή επιδρά μόνο όταν χρησιμοποιείται με την επιλογή + - + - + - Print troff data. + Εκτυπώνει δεδομένα troff. - + - + - Print raster data. + Εκτυπώνει δεδομένα ράστερ. - - Here is an example: this command prints a nicely formatted - version of the &man.ls.1; manual page on the default printer: - - &prompt.user; zcat /usr/share/man/man1/ls.1.gz | troff -t -man | lpr -t - - The &man.zcat.1; command uncompresses the source of the - &man.ls.1; manual page and passes it to the &man.troff.1; - command, which formats that source and makes GNU troff - output and passes it to &man.lpr.1;, which submits the job - to the LPD spooler. Because we - used the - option to &man.lpr.1;, the spooler will convert the GNU - troff output into a format the default printer can - understand when it prints the job. - - - - Job Handling Options - The following options to &man.lpr.1; tell - LPD to handle the job - specially: - + Εδώ είναι ένα παράδειγμα: αυτή η εντολή εκτυπώνει μια κομψά + μορφοποιημένη έκδοση της σελίδας βοηθείας &man.ls.1; στον + προεπιλεγμένο εκτυπωτή: + + &prompt.user; zcat /usr/share/man/man1/ls.1.gz | troff -man | lpr + + Η εντολή &man.zcat.1; αποσυμπιέζει τον πηγαίο κώδικα της + σελίδας βοηθείας &man.ls.1; και τον περνάει στην εντολή + &man.troff.1;, η οποία τον μορφοποιεί και δημιουργεί στην έξοδο της + δεδομένα GNU troff, τα αποστέλλει στην &man.lpr.1;, η οποία με + τη σειρά της αποστέλλει την εργασία στο + LPD. Επειδή χρησιμοποιήσαμε την επιλογή + στο &man.lpr.1;, ο spooler, κατά τη διάρκεια της + εκτύπωσης, θα μετατρέψει την έξοδο GNU troff σε ένα τύπο δεδομένων + κατανοητό από τον προεπιλεγμένο εκτυπωτή. + + + + Επιλογές Χειρισμού Εργασιών + + Οι ακόλουθες επιλογές του &man.lpr.1; οδηγούν το + LPD να χειριστεί τις εργασίες με ειδικό + τρόπο: + -# copies - Produce a number of copies of - each file in the job instead of just one copy. An - administrator may disable this option to reduce printer - wear-and-tear and encourage photocopier usage. See section - Restricting - Multiple Copies. + Δημιουργεί έναν αριθμό copies + (αντιγράφων) για κάθε αρχείο της εργασίας αντί για ένα μόνο + αντίγραφο. Ο διαχειριστής μπορεί να απενεργοποιήσει αυτή την + επιλογή για να μειώσει την καταπόνηση των εκτυπωτών και να + ενθαρρύνει την χρήση φωτοτυπικών μηχανημάτων. Δείτε την + ενότητα Περιορισμός + Εκτύπωσης Πολλαπλών Αντιγράφων. - This example prints three copies of - parser.c followed by three copies of - parser.h to the default printer: - - &prompt.user; lpr -#3 parser.c parser.h + Σε αυτό το παράδειγμα, εκτυπώνουμε στον προεπιλεγμένο + εκτυπωτή τρία αντίγραφα του + parser.c + και τρία αντίγραφα του + parser.h: + + &prompt.user; lpr parser.c parser.h - + -m - + - Send mail after completing the print job. With this - option, the LPD system will send - mail to your account when it - finishes handling your job. In its message, it will tell you - if the job completed successfully or if there was an error, - and (often) what the error was. + Αποστολή mail μετά την ολοκλήρωση εκτύπωσης της εργασίας. + Με αυτή την επιλογή, το σύστημα + LPD στέλνει mail στο λογαριασμό + σας μόλις ολοκληρωθεί ο χειρισμός εκτύπωσης της εργασίας + σας. Στο μήνυμα του, θα σας ενημερώσει αν η εργασία + ολοκληρώθηκε επιτυχώς ή αν παρουσιάστηκε σφάλμα και (συχνά) + ποιό ήταν το σφάλμα. - + -s - + - Do not copy the files to the spooling directory, but make - symbolic links to them instead. - - If you are printing a large job, you probably want to use - this option. It saves space in the spooling directory (your - job might overflow the free space on the filesystem where the - spooling directory resides). It saves time as well since - LPD - will not have to copy each and every byte of your job to the - spooling directory. - - There is a drawback, though: since - LPD will refer to the - original files directly, you cannot modify or remove them - until they have been printed. - + Δεν αντιγράφει τα αρχεία στον κατάλογο spool, αλλά + αντί για αυτό, δημιουργεί συμβολικές συντομεύσεις (symbolic + links) προς αυτά. + + Αν εκτυπώνετε μια μεγάλη εργασία, ίσως θέλετε να + χρησιμοποιήσετε αυτή την επιλογή. Θα σας γλυτώσει χώρο στον + κατάλογο spool (ίσως η εργασία σας να υπερβαίνει τον ελεύθερο + χώρο του συστήματος αρχείων που περιέχει τον κατάλογο + spool). Επίσης θα κερδίσετε χρόνο αφού το + LPD δεν θα χρειαστεί να αντιγράψει + όλη την εργασία σας στον κατάλογο spool. + + Αυτό, ωστόσο, έχει και ένα μειονέκτημα: από τη στιγμή που + το LPD θα κάνει αναφορά κατευθείαν + στο πρωτότυπο αρχείο, δεν θα έχετε δυνατότητα να μετατρέψετε + ή να διαγράψετε το αρχείο έως ότου εκτυπωθεί. + - If you are printing to a remote printer, - LPD will - eventually have to copy files from the local host to the - remote host, so the option will save - space only on the local spooling directory, not the remote. - It is still useful, though. + Αν εκτυπώνετε σε ένα απομακρυσμένο εκτυπωτή, το + LPD πιθανώς θα χρειαστεί τελικά + να αντιγράψει τα αρχεία από τον τοπικό υπολογιστή στον + απομακρυσμένο, επομένως η επιλογή σε + αυτή την περίπτωση εξοικονομεί χώρο στον τοπικό κατάλογο + spool, αλλά όχι στον απομακρυσμένο. Εξακολουθεί ωστόσο να + είναι ιδιαίτερα χρήσιμη. - + -r - + - Remove the files in the job after copying them to the - spooling directory, or after printing them with the - option. Be careful with this - option! + Απομακρύνει τα αρχεία της εργασίας μετά την αντιγραφή + τους στον κατάλογο spool, ή μετά την εκτύπωση τους με την + επιλογή . Να είστε προσεκτικοί με αυτή + την επιλογή! - - - Header Page Options - These options to &man.lpr.1; adjust the text that normally - appears on a job's header page. If header pages are suppressed for - the destination printer, these options have no effect. See section - Header Pages - for information about setting up header pages. - + + Επιλογές Σελίδων Κεφαλίδας + + Αυτές οι επιλογές του &man.lpr.1; ρυθμίζουν το κείμενο που + κανονικά εμφανίζεται στην σελίδα κεφαλίδας της εργασίας. Αν οι + σελίδες κεφαλίδας παρεμποδίζονται για τον συγκεκριμένο εκτυπωτή, + αυτές οι επιλογές δεν έχουν καμία επίδραση. Δείτε την ενότητα + Σελίδες + Κεφαλίδας για πληροφορίες σχετικά με τις ρυθμίσεις των + σελίδων κεφαλίδας. + -C text - Replace the hostname on the header page with - text. The hostname is normally the - name of the host from which the job was submitted. + Αντικαθιστά το όνομα υπολογιστή στη σελίδα κεφαλίδας με + text. Το όνομα υπολογιστή που + εμφανίζεται είναι, από προεπιλογή, το όνομα του υπολογιστή + από τον οποίο έγινε η αποστολή της εργασίας. - + -J text - + - Replace the job name on the header page with - text. The job name is normally the - name of the first file of the job, or - stdin if you are printing standard - input. + Αντικαθιστά το όνομα εργασίας στη σελίδα κεφαλίδας με + text. Το όνομα εργασίας που + εμφανίζεται από προεπιλογή, είναι το όνομα του πρώτου αρχείου + της εργασίας, ή stdin αν η εκτύπωση + γίνεται από το standard input. - + -h - + - Do not print any header page. - + Δεν εκτυπώνει σελίδα κεφαλίδας. + - At some sites, this option may have no effect due to the - way header pages are generated. See Header - Pages for details. + Ανάλογα με τις ρυθμίσεις, αυτή η επιλογή ίσως να μην + έχει επίδραση λόγω του τρόπου με τον οποίο δημιουργούνται οι + σελίδες κεφαλίδας. Για περισσότερες λεπτομέρειες, δείτε την + ενότητα Σελίδες + Κεφαλίδας. - + - Administering Printers - - As an administrator for your printers, you have had to install, - set up, and test them. Using the &man.lpc.8; command, you - can interact with your printers in yet more ways. With &man.lpc.8;, - you can - + Διαχείριση Εκτυπωτών + + Ως διαχειριστής, χρειάστηκε να εγκαταστήσετε, να ρυθμίσετε και να + δοκιμάσετε τους εκτυπωτές σας. Χρησιμοποιώντας την εντολή + &man.lpc.8;, μπορείτε να επικοινωνήσετε με τους εκτυπωτές σας με ακόμη + περισσότερους τρόπους. Με την &man.lpc.8;, μπορείτε: + - Start and stop the printers + Να εκκινείτε και να σταματάτε τους εκτυπωτές - Enable and disable their queues + Να ενεργοποιείτε και να απενεργοποιείτε τις ουρές + αναμονής - Rearrange the order of the jobs in each queue. + Να ανακατατάσσετε την σειρά εργασιών σε κάθε ουρά + αναμονής. - - First, a note about terminology: if a printer is - stopped, it will not print anything in its queue. - Users can still submit jobs, which will wait in the queue until the - printer is started or the queue is - cleared. - - If a queue is disabled, no user (except - root) can submit jobs for the printer. An - enabled queue allows jobs to be submitted. A - printer can be started for a disabled queue, in - which case it will continue to print jobs in the queue until the queue - is empty. - - In general, you have to have root privileges - to use the &man.lpc.8; command. Ordinary users can use the &man.lpc.8; - command to get printer status and to restart a hung printer only. - Here is a summary of the &man.lpc.8; commands. Most of the - commands take a printer-name argument to - tell on which printer to operate. You can use all - for the printer-name to mean all printers - listed in /etc/printcap. - + Καταρχήν, μία σημείωση σχετικά με την ορολογία: αν ένας + εκτυπωτής είναι σταματημένος (stopped), δεν θα + εκτυπώσει τίποτε από την ουρά αναμονής εργασιών. Οι χρήστες μπορούν + ακόμη να στέλνουν εργασίες, οι οποίες μπαίνουν στην ουρά αναμονής έως + ότου ο εκτυπωτής ξεκινήσει ή καθαριστεί η ουρά + αναμονής. + + Αν έχει απενεργοποιηθεί η ουρά αναμονής, + κανείς χρήστης (εκτός του root) δεν μπορεί να + αποστείλει εργασίες στον εκτυπωτή. Μια ενεργή + ουρά αναμονής επιτρέπει να αποσταλούν εργασίες στον εκτυπωτή. Ένας + εκτυπωτής μπορεί να ξεκινήσει με ουρά + αναμονής απενεργοποιημένη, και σε αυτή την περίπτωση θα συνεχίσει να + εκτυπώνει τις εργασίες της ουράς έως ότου αυτή αδειάσει. + + Γενικά, πρέπει να έχετε προνόμια root για να + χρησιμοποιήσετε την εντολή &man.lpc.8;. Οι κανονικοί χρήστες + μπορούν να χρησιμοποιούν την εντολή &man.lpc.8; μόνο για να βλέπουν + την κατάσταση του εκτυπωτή και να επανεκκινούν τον εκτυπωτή σε + περίπτωση μπλοκαρίσματος. + + Παρακάτω θα βρείτε μια λίστα εντολών του &man.lpc.8;. Οι + περισσότερες από τις εντολές παίρνουν ως παράμετρο το + printer-name για τη ρύθμιση του + συγκεκριμένου εκτυπωτή. Μπορείτε να χρησιμοποιείτε + all στη θέση του + printer-name για να αναφερθείτε σε όλους + τους εκτυπωτές που είναι καταχωρισμένοι στο + /etc/printcap. + - abort - printer-name + abort printer-name - Cancel the current job and stop the printer. Users can - still submit jobs if the queue is enabled. + Διαγράφει την τρέχουσα εργασία και σταματάει τον εκτυπωτή. + Οι χρήστες μπορούν ακόμη να αποστείλουν εργασίες αν η ουρά + αναμονής είναι ακόμη ενεργή. - clean - printer-name - + clean printer-name + - Remove old files from the printer's spooling directory. - Occasionally, the files that make up a job are not properly - removed by LPD, particularly if - there have been errors during - printing or a lot of administrative activity. This command - finds files that do not belong in the spooling directory and - removes them. + Διαγράφει τα παλιά αρχεία από τον κατάλογο spool του + εκτυπωτή. Σε κάποιες περιπτώσεις, τα αρχεία από τα οποία + αποτελείται κάποια εργασία δεν αφαιρούνται κανονικά από το + LPD, ειδικά αν υπήρξαν σφάλματα κατά + την εκτύπωση ή κάποιες ενέργειες από τον διαχειριστή. Αυτή η + εντολή βρίσκει αρχεία που δεν ανήκουν στον κατάλογο spool και + τα αφαιρεί. - disable - printer-name - + disable printer-name + - Disable queuing of new jobs. If the printer is running, it - will continue to print any jobs remaining in the queue. The - superuser (root) can always submit jobs, - even to a disabled queue. - - This command is useful while you are testing a new printer - or filter installation: disable the queue and submit jobs as - root. Other users will not be able to submit - jobs until you complete your testing and re-enable the queue with - the enable command. + Απενεργοποιεί την ουρά αναμονής για νέες εργασίες. Αν ο + εκτυπωτής δουλεύει, θα συνεχίσει να εκτυπώνει τις + εναπομείναντες εργασίες στην ουρά αναμονής. Ο superuser + (root) μπορεί πάντα να στέλνει εργασίες, + ακόμη και σε απενεργοποιημένη σειρά αναμονής. + + Αυτή η εντολή είναι χρήσιμη, όταν ελέγχετε ένα νέο εκτυπωτή + ή όταν εγκαθιστάτε ένα φίλτρο: απενεργοποιήστε την ουρά + αναμονής και στείλτε εργασίες σαν root. + Οι υπόλοιποι χρήστες δεν θα έχουν δυνατότητα να αποστείλουν + εργασίες έως ότου ολοκληρώσετε τους ελέγχους σας και + επανενεργοποιήσετε την ουρά αναμονής με την εντολή + enable. down printer-name message - + - Take a printer down. Equivalent to - disable followed by stop. - The message appears as the printer's - status whenever a user checks the printer's queue with - &man.lpq.1; or status with lpc - status. + Οδηγεί τον εκτυπωτή σε "κατέβασμα" (down). Είναι ισοδύναμο + με το disable ακολουθούμενο από ένα + stop. Το message + (μήνυμα) εμφανίζεται όταν κάποιος χρήστης ελέγχει την σειρά + αναμονής με &man.lpq.1; ή την κατάσταση του εκτυπωτή με + lpc status. enable printer-name - + - Enable the queue for a printer. Users can submit jobs but - the printer will not print anything until it is started. + Ενεργοποίηση της ουράς αναμονής του εκτυπωτή. Οι χρήστες + μπορούν να αποστείλουν εργασίες αλλά ο εκτυπωτής δεν θα τυπώσει + έως ότου ξεκινήσει. help command-name - + - Print help on the command - command-name. With no - command-name, print a summary of the - commands available. + Τυπώνει σελίδες βοηθείας για την εντολή + command-name. Δίχως το + command-name, εκτυπώνει μια περίληψη + όλων των διαθέσιμων εντολών. - restart - printer-name - + restart printer-name + - Start the printer. Ordinary users can use this command if - some extraordinary circumstance hangs - LPD, but they cannot start - a printer stopped with either the stop or - down commands. The - restart command is equivalent to - abort followed by - start. + Ξεκινά τον εκτυπωτή. Οι κανονικοί χρήστες μπορούν να + χρησιμοποιήσουν αυτή την εντολή μόνο σε κάποια ειδική + περίπτωση που το LPD δεν αποκρίνεται, + αλλά δεν μπορούν να ξεκινήσουν ένα εκτυπωτή που έχει σταματήσει + εξαιτίας των εντολών stop ή + down. Η εντολή restart + είναι ισοδύναμη με την abort ακολουθούμενη + από τη start. - start - printer-name - + start printer-name + - Start the printer. The printer will print jobs in its - queue. + Ξεκινά τον εκτυπωτή. Ο εκτυπωτής θα τυπώσει εργασίες από + την ουρά αναμονής του. stop printer-name - + - Stop the printer. The printer will finish the current job - and will not print anything else in its queue. Even though the - printer is stopped, users can still submit jobs to an enabled - queue. + Σταματάει τον εκτυπωτή. Ο εκτυπωτής θα ολοκληρώσει την + τρέχουσα εργασία του και δεν θα τυπώσει καμία άλλη εργασία από + την ουρά αναμονής του. Ακόμη και αν ο εκτυπωτής είναι + σταματημένος, οι χρήστες μπορούν ακόμη να στέλνουν εργασίες αν + είναι ενεργοποιημένη η ουρά αναμονής. topq printer-name - job-or-username - + job-or-username + - Rearrange the queue for - printer-name by placing the jobs with - the listed job numbers or the jobs - belonging to username at the top of - the queue. For this command, you cannot use - all as the + Ανακατάταξη της ουράς αναμονής για τον + printer-name. Τοποθετούνται πρώτες + οι εργασίες με αριθμό αναφοράς job ή + αυτές που ανήκουν στο χρήστη + username. Για αυτή την εντολή, δεν + μπορείτε να χρησιμοποιήσετε all στην θέση του printer-name. - up - printer-name - + up printer-name + - Bring a printer up; the opposite of the - down command. Equivalent to - start followed by + Οδηγεί τον εκτυπωτή σε "ανέβασμα" (up). Το αντίθετο της + εντολής down. Ισοδυναμεί με την + start ακολουθούμενη από την εντολή enable. - - &man.lpc.8; accepts the above commands on the command line. If - you do not enter any commands, &man.lpc.8; enters an interactive mode, - where you can enter commands until you type exit, - quit, or end-of-file. + + Το &man.lpc.8; δέχεται τις παραπάνω εντολές στην γραμμή εντολών. + Αν δεν εισάγετε καμία εντολή, το &man.lpc.8; μπαίνει σε κατάσταση + αλληλεπίδρασης (interactive), όπου μπορείτε να πληκτρολογείτε εντολές + μέχρι να δώσετε exit, + quit, ή end-of-file. - + - Alternatives to the Standard Spooler - - If you have been reading straight through this manual, by now you - have learned just about everything there is to know about the - LPD - spooling system that comes with FreeBSD. You can probably appreciate - many of its shortcomings, which naturally leads to the question: - What other spooling systems are out there (and work with - FreeBSD)? + Εναλλακτικές Λύσεις για τον Στάνταρ Spooler + + Αν έχετε μελετήσει πιστά όλο το κεφάλαιο μέχρι εδώ, θα έχετε μάθει + σχεδόν τα πάντα σχετικά με το σύστημα παροχέτευσης + LPD που διατίθεται με το &os;. Θα έχετε + κατανοήσει και πολλές από τις ελλείψεις του, που φυσικά γεννούν το + ερώτημα: Ποια άλλα συστήματα παροχέτευσης (που να λειτουργούν + στο &os;) υπάρχουν διαθέσιμα; LPRng - LPRng + LPRng - LPRng, which purportedly means - LPR: the Next - Generation is a complete rewrite of PLP. Patrick Powell - and Justin Mason (the principal maintainer of PLP) collaborated to - make LPRng. The main site for - LPRng is Το LPRng, το οποίο σκόπιμα + σημαίνει LPR: the Next Generation (η Επόμενη + Γενιά) είναι μια από την αρχή υλοποίηση του PLP. + Ο Patrick Powell και ο Justin Mason (κύριος συντηρητής του PLP) + συνεργάστηκαν για να φτιάξουν το + LPRng. Η κύρια τοποθεσία του + LPRng είναι η . + CUPS - CUPS + CUPS - CUPS, the Common UNIX Printing - System, provides a portable printing layer for &unix;-based - operating systems. It has been developed by Easy Software - Products to promote a standard printing solution for all &unix; - vendors and users. + Το CUPS, ή αλλιώς Common UNIX + Printing System, παρέχει μια φορητή πλατφόρμα εκτυπώσεων για + λειτουργικά συστήματα βασισμένα στο &unix;. Αναπτύχθηκε από την + Easy Software Products για να προωθήσει μια στάνταρ λύση + εκτυπώσεων για όλους τους χρήστες και κατασκευαστές + &unix;. - CUPS uses the Internet Printing - Protocol (IPP) as the basis for managing - print jobs and queues. The Line Printer Daemon - (LPD), Server Message Block - (SMB), and AppSocket (a.k.a. JetDirect) - protocols are also supported with reduced functionality. CUPS - adds network printer browsing and PostScript Printer Description - (PPD) based printing options to support - real-world printing under &unix;. + Το CUPS χρησιμοποιεί το πρωτόκολλο + Internet Printing Protocol (IPP) ως βάση του + για τη διαχείριση εργασιών εκτύπωσης και ουρών αναμονής. + Υποστηρίζονται επίσης, αλλά με μειωμένη λειτουργικότητα, τα + πρωτόκολλα Line Printer Daemon (LPD), Server + Message Block (SMB), και AppSocket (γνωστό ως + JetDirect). Το CUPS προσθέτει δυνατότητες ανίχνευσης δικτυακών + εκτυπωτών, ενώ μέσω των επιλογών PostScript Printer Description + (PPD) γίνεται εφικτή η υποστήριξη + σύγχρονων εκτυπωτών στον κόσμο του &unix;. - The main site for CUPS is . + Η κύρια τοποθεσία του CUPS είναι η + . - Troubleshooting + Εντοπισμός Βλαβών - After performing the simple test with &man.lptest.1;, you might - have gotten one of the following results instead of the correct - printout: + Μετά την εκτέλεση του απλού τεστ με το &man.lptest.1;, αντί της + κανονικής εκτύπωσης, μπορεί να έχετε λάβει ως αποτέλεσμα μία από τις + ακόλουθες καταστάσεις: - It worked, after awhile; or, it did not eject a full - sheet. + Ο εκτυπωτής καθυστέρησε να ξεκινήσει ή δεν εκτύπωσε ολόκληρη τη + σελίδα. - The printer printed the above, but it sat for awhile and - did nothing. In fact, you might have needed to press a - PRINT REMAINING or FORM FEED button on the printer to get any - results to appear. + Ο εκτυπωτής τύπωσε το τεστ, αλλά δεν ξεκίνησε αμέσως. Ίσως + χρειάστηκε να πιέσετε το πλήκτρο PRINT REMAINING ή το FORM FEED + του εκτυπωτή σας για να εμφανιστεί το επιθυμητό αποτέλεσμα. - If this is the case, the printer was probably waiting to - see if there was any more data for your job before it printed - anything. To fix this problem, you can have the text filter - send a FORM FEED character (or whatever is necessary) to the - printer. This is usually sufficient to have the printer - immediately print any text remaining in its internal buffer. - It is also useful to make sure each print job ends on a full - sheet, so the next job does not start somewhere on the middle - of the last page of the previous job. + Εάν είναι όντως αυτή η περίπτωση σας, ο εκτυπωτής πιθανώς + να ήταν σε αναμονή για να εξακριβώσει αν υπήρχαν πρόσθετα δεδομένα + στην εργασία εκτύπωσης πριν ξεκινήσει να εκτυπώνει οτιδήποτε. Για + να διορθώσετε το πρόβλημα, μπορείτε να θέσετε το φίλτρο κειμένου + να στέλνει ένα χαρακτήρα FORM FEED (ή άλλο κατάλληλο) στον + εκτυπωτή. Αυτό συνήθως είναι αρκετό για να μπορείτε να εκτυπώνετε + κατευθείαν οποιοδήποτε κείμενο απομένει σε αναμονή στην εσωτερική + μνήμη (buffer) του εκτυπωτή. Είναι επίσης χρήσιμο να ρυθμίζετε + τις εκτυπώσεις σας ώστε να τελειώνουν με γεμάτη την τελευταία + σελίδα, ώστε η επόμενη εργασία να μην αρχίζει από τα μισά του + προηγούμενου φύλλου. - The following replacement for the shell script - /usr/local/libexec/if-simple prints a - form feed after it sends the job to the printer: + Η ακόλουθη τροποποίηση στο shell script + /usr/local/libexec/if-simple εκτυπώνει ένα + form feed μετά την αποστολή της εργασίας στον εκτυπωτή: #!/bin/sh # @@ -4626,97 +4958,107 @@ exit 2 - It produced the staircase effect. + Η εκτύπωση παρουσιάζει φαινόμενο σκάλας (staircase + effect). - You got the following on paper: + Στην εκτύπωση σας φαίνεται το ακόλουθο: - !"#$%&'()*+,-./01234 + !"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 - #$%&'()*+,-./0123456 + #$%&'()*+,-./0123456 MS-DOS - OS/2 - ASCII - You have become another victim of the staircase - effect, caused by conflicting interpretations of - what characters should indicate a new line. &unix; style - operating systems use a single character: ASCII code 10, the - line feed (LF). &ms-dos;, &os2;, and others uses a pair of - characters, ASCII code 10 and ASCII code - 13 (the carriage return or CR). Many printers use the &ms-dos; - convention for representing new-lines. + OS/2 + ASCII + Γίνατε ένα ακόμα θύμα του + φαινομένου σκάλας, που προκλήθηκε από + αντιφατικές ερμηνείες των χαρακτήρων με τους οποίους δηλώνεται η + τροφοδοσία νέας γραμμής. Τα λειτουργικά συστήματα τύπου &unix; + χρησιμοποιούν έναν μόνο χαρακτήρα ASCII με κωδικό 10, τον line + feed (τροφοδοσία γραμμής, LF). Το &ms-dos;, το &os2;, και διάφορα + άλλα, χρησιμοποιούν ένα ζεύγος χαρακτήρων ASCII κωδικού 10 + και ASCII κωδικού 13 (τον carriage return ή + αλλιώς CR). Πολλοί εκτυπωτές χρησιμοποιούν την σύμβαση του + &ms-dos; για την αλλαγή γραμμής. - When you print with FreeBSD, your text used just the line - feed character. The printer, upon seeing a line feed - character, advanced the paper one line, but maintained the - same horizontal position on the page for the next character - to print. That is what the carriage return is for: to move - the location of the next character to print to the left edge - of the paper. + Όταν εκτυπώνετε με το &os;, το κείμενο σας απλά χρησιμοποιεί + τον χαρακτήρα τροφοδοσίας γραμμής (line feed). Ο εκτυπωτής, μόλις + αντιληφθεί τον χαρακτήρα line feed, προωθεί το χαρτί κατά μία + γραμμή, αλλά κρατάει την ίδια θέση οριζόντια καθώς καλείται να + εκτυπώσει τον επόμενο χαρακτήρα. Σε αυτό το σημείο + χρησιμοποιείται το CR (carriage return): μετακινεί δηλαδή την + θέση εργασίας για τον επόμενο χαρακτήρα που πρόκειται να + εκτυπωθεί στο αριστερό άκρο του χαρτιού. - Here is what FreeBSD wants your printer to do: + Το &os; επιθυμεί ο εκτυπωτής να μπορεί να ενεργεί ως + εξής: - Printer received CR - Printer prints CR + Όταν ο εκτυπωτής λαμβάνει CR + Να εκτυπώνει CR - Printer received LF - Printer prints CR + LF + Όταν ο εκτυπωτής λαμβάνει LF + Να εκτυπώνει CR + LF - Here are some ways to achieve this: + Υπάρχουν διάφοροι τρόποι για να επιτευχθεί αυτό: - Use the printer's configuration switches or control - panel to alter its interpretation of these characters. - Check your printer's manual to find out how to do - this. + Χρησιμοποιήστε τα πλήκτρα ρύθμισης του εκτυπωτή ή + τον πίνακα ελέγχου για να αλλάξετε τον τρόπο με τον οποίο + ερμηνεύει αυτούς τους χαρακτήρες ο εκτυπωτής σας. + Συμβουλευτείτε το εγχειρίδιο χρήσης του για να δείτε πως + μπορεί να γίνει αυτό. - If you boot your system into other operating systems - besides FreeBSD, you may have to - reconfigure the printer to use a an - interpretation for CR and LF characters that those other - operating systems use. You might prefer one of the other - solutions, below. + Αν έχετε και άλλα λειτουργικά στο σύστημα σας εκτός από + το &os;, πιθανόν να χρειαστεί, όταν τα χρησιμοποιείτε, να + επαναρυθμίσετε τον εκτυπωτή σας ώστε + να ερμηνεύει διαφορετικά τους χαρακτήρες CR και LF. + Στην περίπτωση αυτή, ίσως είναι καλύτερο να προτιμήσετε + κάποια από τις λύσεις που ακολουθούν. - Have FreeBSD's serial line driver automatically - convert LF to CR+LF. Of course, this works with printers - on serial ports only. To enable this - feature, use the ms# capability and - set the onlcr mode - in the /etc/printcap file - for the printer. + Ο οδηγός (driver) της σειριακής γραμμής του &os; μπορεί να + μετατρέπει αυτόματα από LF σε CR+LF. Φυσικά, αυτό δουλεύει + μόνο σε σειριακές θύρες. + Για να ενεργοποιήσετε αυτή την λειτουργία, χρησιμοποιήστε την + ικανότητα ms# και ορίστε την κατάσταση + λειτουργίας onlcr στο αρχείο + /etc/printcap για τον εκτυπωτή. - Send an escape code to the - printer to have it temporarily treat LF characters - differently. Consult your printer's manual for escape - codes that your printer might support. When you find the - proper escape code, modify the text filter to send the - code first, then send the print job. + Στείλτε ένα + κωδικό διαφυγής (escape code) στον + εκτυπωτή ώστε να χειρίζεται προσωρινά τους χαρακτήρες LF με + διαφορετικό τρόπο. Συμβουλευτείτε το εγχειρίδιο χρήσης του + εκτυπωτή σας για τους κώδικες διαφυγής που υποστηρίζονται. + Όταν ανακαλύψετε τον κατάλληλο, μετατρέψτε το φίλτρο κειμένου + ώστε να στέλνει πρώτα τον κωδικό, και έπειτα την εργασία στον + εκτυπωτή. PCL - Here is an example text filter for printers that - understand the Hewlett-Packard PCL escape codes. This - filter makes the printer treat LF characters as a LF and - CR; then it sends the job; then it sends a form feed to - eject the last page of the job. It should work with - nearly all Hewlett Packard printers. + Εδώ είναι ένα παράδειγμα φίλτρου κειμένου για εκτυπωτές + που καταλαβαίνουν τους κωδικούς διαφυγής PCL της + Hewlett-Packard. Αυτό το φίλτρο κάνει τον εκτυπωτή να + χειρίζεται τους χαρακτήρες LF ως LF και CR. Έπειτα αποστέλλει + την εργασία, στέλνοντας στο τέλος της ένα χαρακτήρα αλλαγής + σελίδας (form feed) ώστε να γίνει σωστή εξαγωγή της τελευταίας + σελίδας. Το φίλτρο αυτό θα πρέπει να δουλεύει με σχεδόν + όλους τους εκτυπωτές της Hewlett Packard. #!/bin/sh # @@ -4729,47 +5071,48 @@ exit 2 printf "\033&k2G" && cat && printf "\033&l0H" && exit 0 exit 2 - Here is an example /etc/printcap - from a host called orchid. It has a single printer - attached to its first parallel port, a Hewlett Packard - LaserJet 3Si named teak. It is using the - above script as its text filter: + Εδώ είναι ένα παράδειγμα για το + /etc/printcap ενός υπολογιστή με όνομα + orchid. Έχει ένα μόνο εκτυπωτή στην πρώτη + παράλληλη θύρα του, ένα Hewlett Packard LaserJet 3Si με όνομα + teak. Χρησιμοποιεί το παραπάνω script ως + φίλτρο κειμένου: # # /etc/printcap for host orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ - :if=/usr/local/libexec/hpif: + :lp=/dev/lpt0:sh:sd=/var/spool/lpd/teak:mx#0:\ + :if=/usr/local/libexec/hpif: - + - It overprinted each line. + Εκτυπώνεται η μία γραμμή πάνω στην άλλη. - The printer never advanced a line. All of the lines of - text were printed on top of each other on one line. + Ο εκτυπωτής δεν προωθεί καθόλου το χαρτί και όλες οι γραμμές + κειμένου τυπώνονται η μία πάνω από την άλλη, σε μία γραμμή. - This problem is the opposite of the - staircase effect, described above, and is much rarer. - Somewhere, the LF characters that FreeBSD uses to end a line - are being treated as CR characters to return the print - location to the left edge of the paper, but not also down a - line. + Αυτό το πρόβλημα είναι το αντίστροφο του + φαινόμενου σκάλας, που περιγράψαμε προηγουμένως, και είναι πολύ + σπάνιο. Σε κάποιο σημείο, οι χαρακτήρες LF που χρησιμοποιεί το + &os; για να τερματίσει την γραμμή, ερμηνεύονται ως χαρακτήρες CR + οι οποίοι επιστρέφουν την κεφαλή στο αριστερό άκρο του χαρτιού, + αλλά δίχως να προωθήσουν το χαρτί μία γραμμή προς τα κάτω. - Use the printer's configuration switches or control panel - to enforce the following interpretation of LF and CR - characters: + Χρησιμοποιήστε τους διακόπτες ρυθμίσεων του εκτυπωτή ή τον + πίνακα ελέγχου για να θέσετε τις ακόλουθες επιλογές για τα LF και + CR characters: - Printer receives - Printer prints + Ο εκτυπωτής λαμβάνει + Ο εκτυπωτής τυπώνει @@ -4790,86 +5133,92 @@ teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ - The printer lost characters. + Ο εκτυπωτής δεν εκτυπώνει (χάνει) κάποιους χαρακτήρες. - While printing, the printer did not print a few characters - in each line. The problem might have gotten worse as the - printer ran, losing more and more characters. + Ο εκτυπωτής, ενώ είναι σε λειτουργία εκτύπωσης, δεν εκτυπώνει + κάποιους χαρακτήρες σε όλες τις γραμμές. Το πρόβλημα πιθανώς να + γίνεται εντονότερο καθώς η εκτύπωση εξελίσσεται, χάνοντας ακόμη + περισσότερους χαρακτήρες. - The problem is that the printer cannot keep up with the - speed at which the computer sends data over a serial line - (this problem should not occur with printers on parallel - ports). There are two ways to overcome the problem: + Το πρόβλημα είναι πως ο εκτυπωτής, καθώς εκτυπώνει, δεν + προλαβαίνει να ακολουθήσει την ταχύτητα με την οποία ο + υπολογιστής στέλνει δεδομένα μέσω της σειριακής διασύνδεσης (αυτό + το πρόβλημα δεν πρέπει κανονικά να συμβαίνει σε εκτυπωτές + συνδεμένους σε παράλληλες θύρες). Υπάρχουν δύο τρόποι για να + ξεπεραστεί αυτό το πρόβλημα: - If the printer supports XON/XOFF flow control, have - FreeBSD use it by specifying the ixon mode - in the ms# capability. + Εάν ο εκτυπωτής υποστηρίζει έλεγχο ροής XON/XOFF, ρυθμίστε + το &os; να τον χρησιμοποιήσει ορίζοντας την κατάσταση + λειτουργίας ixon με την ικανότητα + ms#. - If the printer supports carrier flow control, specify - the crtscts mode in the - ms# capability. - Make sure the cable connecting the printer to the computer - is correctly wired for carrier flow control. + Εάν ο εκτυπωτής υποστηρίζει έλεγχο ροής τύπου Request to + Send / Clear to Send (hardware handshake, γνωστό και με την + ονομασία RTS/CTS), πρέπει να οριστεί η + κατάσταση λειτουργίας crtscts στην + ικανότητα ms#. Βεβαιωθείτε πως το καλώδιο + που συνδέει τον εκτυπωτή με τον υπολογιστή είναι σωστά + φτιαγμένο για χρήση αυτού του ελέγχου ροής. - It printed garbage. + Ο εκτυπωτής τυπώνει σκουπίδια. - The printer printed what appeared to be random garbage, - but not the desired text. + Ο εκτυπωτής τύπωσε κάτι που αποκαλούμε τυχαία σκουπίδια, + εννοώντας οτιδήποτε εκτός του επιθυμητού κειμένου. - This is usually another symptom of incorrect - communications parameters with a serial printer. Double-check - the bps rate in the br capability, and the - parity setting in the - ms# capability; make sure the printer is - using the same settings as specified in the - /etc/printcap file. + Αυτό είναι συνήθως ένα ακόμα σύμπτωμα λανθασμένων παραμέτρων + σειριακής επικοινωνίας με τον εκτυπωτή. Ελέγξτε ξανά την τιμή bps + rate στην ικανότητα br, και την ρύθμιση parity + στην ικανότητα ms#. Βεβαιωθείτε πως ο + εκτυπωτής χρησιμοποιεί τις ίδιες ρυθμίσεις που έχουν καθοριστεί + στο αρχείο /etc/printcap. - Nothing happened. + Δεν συνέβη τίποτε, ο εκτυπωτής δεν ξεκίνησε καν. - If nothing happened, the problem is probably within - FreeBSD and not the hardware. Add the log file - (lf) capability to the entry for the - printer you are debugging in the - /etc/printcap file. For example, here is - the entry for rattan, with the - lf capability: + Αν δεν συνέβη τίποτε, το πρόβλημα πιθανόν να οφείλεται + στο &os; και όχι στο hardware. Προσθέστε την ικανότητα αρχείου + καταγραφής (log file, lf) στο αρχείο + /etc/printcap, στην καταχώριση του εκτυπωτή + που έχει το πρόβλημα. Για παράδειγμα, εδώ είναι η καταχώριση για + τον rattan, με την ικανότητα + lf: rattan|line|diablo|lp|Diablo 630 Line Printer:\ - :sh:sd=/var/spool/lpd/rattan:\ - :lp=/dev/lpt0:\ - :if=/usr/local/libexec/if-simple:\ - :lf=/var/log/rattan.log + :sh:sd=/var/spool/lpd/rattan:\ + :lp=/dev/lpt0:\ + :if=/usr/local/libexec/if-simple:\ + :lf=/var/log/rattan.log - Then, try printing again. Check the log file (in our - example, /var/log/rattan.log) to see any - error messages that might appear. Based on the messages you - see, try to correct the problem. + Έπειτα, προσπαθήστε να ξαναεκτυπώσετε. Ελέγξτε το αρχείο + καταγραφής (log) (στο παράδειγμα μας, + /var/log/rattan.log) για να βρείτε πιθανές + αναφορές σφαλμάτων. Με βάση τα μηνύματα που βλέπετε, προσπαθήστε + να διορθώσετε το πρόβλημα. - If you do not specify a lf capability, - LPD uses - /dev/console as a default. + Αν δεν καθορίσετε την ικανότητα lf, το + LPD χρησιμοποιεί από προεπιλογή το + /dev/console. - - -