diff --git a/el_GR.ISO8859-7/books/handbook/eresources/chapter.sgml b/el_GR.ISO8859-7/books/handbook/eresources/chapter.sgml index 4e56fa28d1..92fe1a8e40 100644 --- a/el_GR.ISO8859-7/books/handbook/eresources/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/eresources/chapter.sgml @@ -1,2140 +1,2145 @@ Πηγές Πληροφόρησης στο Διαδίκτυο Η ραγδαία εξέλιξη του &os; καθιστά τα έντυπα μέσα ανίκανα να ακολουθήσουν τις τελευταίες εξελίξεις. Οι ηλεκτρονικές πηγές είναι ο καλύτερος (αν όχι ο μόνος) τρόπος για να παραμείνετε ενήμερος για τις τελευταίες εξελίξεις. Καθώς το &os; είναι μια εθελοντική προσπάθεια, η κοινότητα των χρηστών λειτουργεί και ως τμήμα τεχνικής υποστήριξης, με το ηλεκτρονικό ταχυδρομείο, τα web forums, και τα USENET news να είναι οι πλέον αποτελεσματικοί τρόποι για να έλθετε σε επαφή με αυτή την κοινότητα. Στις παρακάτω ενότητες, θα βρείτε τα σημαντικότερα σημεία επικοινωνίας με την κοινότητα χρηστών του &os;. Αν γνωρίζετε και άλλες πηγές, οι οποίες δεν αναφέρονται εδώ, παρακαλούμε να τις στείλετε στην &a.doc; ώστε να ενταχθούν και αυτές. Λίστες Ηλεκτρονικού Ταχυδρομείου Οι λίστες ηλεκτρονικού ταχυδρομείου είναι ο πιο άμεσος τρόπος για να απευθύνετε τις ερωτήσεις σας ή να ανοίξετε μια τεχνική συζήτηση που να απευθύνεται σε κοινό ειδικευμένο στο &os;. Υπάρχει μεγάλη ποικιλία από λίστες, οι οποίες καλύπτουν ευρύ φάσμα θεμάτων του &os;. Κατευθύνοντας τις ερωτήσεις σας στη σωστή λίστα, θα εξασφαλίσετε ταχύτερη και ακριβέστερη απόκριση. Στο τέλος αυτού του κειμένου θα βρείτε ένα πίνακα με τη θεματολογία της κάθε λίστας. Παρακαλούμε να τον διαβάσετε πριν αρχίσετε να συμμετέχετε ή να στέλνετε μηνύματα σε οποιαδήποτε λίστα. Οι περισσότεροι από τους συνδρομητές μας δέχονται καθημερινά εκατοντάδες μηνύματα σχετικά με το &os;. Οι κανόνες που έχουμε καθιερώσει, βοηθάνε να γίνεται σωστή χρήση και να διατηρείται σε υψηλό επίπεδο η αναλογία σήματος προς θόρυβο της κάθε λίστας. Εάν ήμασταν πιο χαλαροί, οι λίστες μας θα έχαναν την αποτελεσματικότητα τους ως μέσο επικοινωνίας για το Project. Αν θέλετε να δοκιμάσετε την ικανότητα σας να στέλνετε μηνύματα στις λίστες του &os;, στείλτε ένα δοκιμαστικό μήνυμα στην λίστα &a.test.name;. Παρακαλούμε μη στέλνετε δοκιμαστικά μηνύματα σε οποιαδήποτε άλλη λίστα. Αν βρίσκεστε σε δίλημμα σχετικά με το ποια λίστα να στείλετε μια ερώτηση, δείτε το Πως να χρησιμοποιείτε με επιτυχία την λίστα ηλεκτρονικού ταχυδρομείου &os;-questions. Πριν στείλετε κάτι σε οποιαδήποτε λίστα, μάθετε πως να χρησιμοποιείτε καλύτερα τις λίστες ηλεκτρονικού ταχυδρομείου. Για παράδειγμα, δείτε πως μπορείτε να βοηθήσετε ώστε να αποφεύγονται συχνά επαναλαμβανόμενες συζητήσεις, διαβάζοντας το κείμενο Συχνές Ερωτήσεις Σχετικά με τις Λίστες Ταχυδρομείου (FAQ). Για όλες τις λίστες ηλεκτρονικού ταχυδρομείου διατηρείται αρχείο με τις παλιές δημοσιεύσεις, στο οποίο μπορεί να γίνει αναζήτηση χρησιμοποιώντας την Δικτυακή Τοποθεσία του &os;. Είναι δυνατή η αναζήτηση στο αρχείο μέσω λέξεων-κλειδιών, το οποίο αποτελεί ένα άριστο τρόπο για να βρείτε απαντήσεις σε συχνές ερωτήσεις. Πριν στείλετε μια ερώτηση, καλό θα είναι να πραγματοποιήσετε μια τέτοια αναζήτηση. Σημειώστε επίσης ότι τα μηνύματα που στέλνονται σε αυτές τις λίστες αποθηκεύονται για πάντα. Αν σας προβληματίζει η προστασία των προσωπικών σας δεδομένων, σας συνιστούμε να χρησιμοποιήσετε μια δευτερεύουσα διεύθυνση email, και να μην γράφετε ποτέ προσωπικές σας πληροφορίες. Σύνοψη Λιστών Γενικές λίστες: Οι ακόλουθες είναι γενικές λίστες όπου ο καθένας είναι ελεύθερος (και ενθαρρύνεται) να συμμετέχει: Λίστα Σκοπός &a.advocacy.name; Διαφήμιση και προώθηση του &os; &a.announce.name; Σημαντικά γεγονότα και ανακοινώσεις &a.arch.name; Συζητήσεις αρχιτεκτονικής και σχεδιασμού &a.bugbusters.name; Συζητήσεις που αναφέρονται στην συντήρηση της βάσης δεδομένων αναφοράς προβλημάτων του &os;, και των σχετικών εργαλείων της &a.bugs.name; Αναφορές σφαλμάτων &a.chat.name; Μη-τεχνικά θέματα που σχετίζονται με την κοινότητα του &os; &a.current.name; Συζητήσεις που σχετίζονται με τη χρήση &os.current; &a.isp.name; Θέματα για Παροχείς Υπηρεσιών Διαδικτύου που χρησιμοποιούν το &os; &a.jobs.name; Συμβουλευτικές υπηρεσίες και θέσεις εργασίας σχετικές με &os; &a.policy.name; Κατευθυντήριες αποφάσεις (policy) της ομάδας &os; Core. Λίστα με μικρή κίνηση, και μόνο για ανάγνωση &a.questions.name; Απορίες χρηστών και τεχνική υποστήριξη &a.security-notifications.name; Ειδοποιήσεις ασφαλείας &a.stable.name; Συζητήσεις που σχετίζονται με την χρήση του &os.stable; &a.test.name; Στείλτε εδώ τα δοκιμαστικά σας μηνύματα αντί για μια από τις πραγματικές λίστες Τεχνικές λίστες: Οι ακόλουθες λίστες είναι για τεχνικές συζητήσεις. Πριν αρχίσετε να συμμετέχετε και να στέλνετε μηνύματα σε αυτές, θα πρέπει να διαβάσετε προσεκτικά την περιγραφή τους. Υπάρχουν αυστηρές οδηγίες για τη χρήση και το περιεχόμενο τους. Λίστα Σκοπός &a.acpi.name; Ανάπτυξη της διαχείρισης ενέργειας και του ACPI &a.afs.name; Μεταφορά του AFS στο &os; &a.aic7xxx.name; Ανάπτυξη οδηγών για κάρτες &adaptec; AIC 7xxx &a.alpha.name; Μεταφορά του &os; στον Alpha &a.amd64.name; Μεταφορά του &os; σε συστήματα AMD64 &a.apache.name; Συζήτηση για ports σχετικά με τον Apache &a.arm.name; Μεταφορά του &os; σε επεξεργαστές &arm; &a.atm.name; Χρήση δικτύωσης ATM στο &os; &a.audit.name; Project ελέγχου πηγαίου κώδικα &a.binup.name; Σχεδίαση και ανάπτυξη του συστήματος έτοιμων ενημερώσεων (binary updates) &a.bluetooth.name; Χρήση της τεχνολογίας &bluetooth; στο &os; &a.cluster.name; Χρήση του &os; σε παράλληλα συστήματα &a.cvsweb.name; Συντήρηση του CVSweb &a.database.name; Συζήτηση για την χρήση και ανάπτυξη βάσεων δεδομένων στο &os; &a.doc.name; Δημιουργία τεκμηρίωσης για το &os; &a.drivers.name; Δημιουργία οδηγών συσκευών για το &os; &a.eclipse.name; Συζήτηση για τη χρήση του Eclipse IDE, των εργαλείων του, καθώς και rich client εφαρμογών και ports στο &os;. &a.embedded.name; Χρήση του &os; σε embedded εφαρμογές &a.eol.name; Ομότιμη υποστήριξη για λογισμικό σχετικό με &os;, που δεν υποστηρίζεται πλέον από το &os; Project. &a.emulation.name; Εξομοίωση άλλων συστημάτων, όπως είναι τα Linux/&ms-dos;/&windows; &a.firewire.name; Τεχνική συζήτηση για &os; &firewire; (iLink, IEEE 1394) &a.fs.name; Συστήματα αρχείων &a.gecko.name; Συζήτηση σχετικά με το Gecko Rendering Engine &a.geom.name; Συζητήσεις σχετικές με το GEOM και τις υλοποιήσεις του &a.gnome.name; Μεταφορά του GNOME και των εφαρμογών του &a.hackers.name; Γενικές τεχνικές συζητήσεις &a.hardware.name; Γενική συζήτηση για συμβατότητα υλικού με το &os; &a.i18n.name; Διεθνοποίηση του &os; &a.ia32.name; Το &os; στην αρχιτεκτονική IA-32 (&intel; x86) &a.ia64.name; Μεταφορά του &os; στα νέα συστήματα IA64 της &intel; &a.ipfw.name; Τεχνική συζήτηση που επικεντρώνεται στον επανασχεδιασμό του κώδικα IP του firewall &a.isdn.name; Ομάδα ανάπτυξης του ISDN &a.jail.name; Συζήτηση σχετικά με τις δυνατότητες του &man.jail.8; &a.java.name; Ομάδα ανάπτυξης &java; και άτομα που μεταφέρουν τα &jdk;s στο &os; &a.kde.name; Μεταφορά του KDE και των εφαρμογών του &a.lfs.name; Μεταφορά του LFS στο &os; &a.libh.name; Το σύστημα εγκατάστασης και διαχείρισης πακέτων δεύτερης γενιάς &a.mips.name; Μεταφορά του &os; σε επεξεργαστές &mips; &a.mobile.name; Συζητήσεις σχετικές με φορητά υπολογιστικά συστήματα &a.mono.name; Εφαρμογές Mono και C# στο &os; &a.mozilla.name; Μεταφορά του Mozilla στο &os; &a.multimedia.name; Εφαρμογές πολυμέσων &a.newbus.name; Τεχνικές συζητήσεις σχετικές με την αρχιτεκτονική διαύλων &a.net.name; Συζητήσεις δικτύωσης και πηγαίος κώδικας TCP/IP &a.openoffice.name; Μεταφορά του OpenOffice.org και του &staroffice; στο &os; &a.performance.name; Ερωτήσεις σχετικές με βελτιστοποίηση απόδοσης για εγκαταστάσεις υψηλής απόδοσης και μεγάλου φορτίου &a.perl.name; Υποστήριξη ενός αριθμού από ports σχετικά με Perl &a.pf.name; Συζήτηση και ερωτήσεις σχετικές με το σύστημα packet filter firewall &a.platforms.name; Συζήτηση για μεταφορά σε μη-&intel; αρχιτεκτονικές &a.ports.name; Συζήτηση για την Συλλογή των Ports &a.ports-bugs.name; Συζήτηση για σφάλματα και αναφορές σφαλμάτων (PRs) που αφορούν ports &a.ppc.name; Μεταφορά του &os; στο &powerpc; &a.proliant.name; Τεχνική συζήτηση για χρήση του &os; σε διακομιστές HP ProLiant &a.python.name; Θέματα σχετικά με Python στο &os; &a.qa.name; Συζήτηση σχετικά με Έλεγχο και Διασφάλιση Ποιότητας (Quality Assurance), συνήθως πριν από μια επίσημη έκδοση του &os; &a.rc.name; Συζήτηση σχετικά με το σύστημα rc.d και την ανάπτυξή του &a.realtime.name; Ανάπτυξη επεκτάσεων πραγματικού χρόνου του &os; &a.ruby.name; Συζήτηση σχετικά με τη Ruby στο &os; &a.scsi.name; Το υποσύστημα SCSI &a.security.name; Θέματα ασφαλείας που επηρεάζουν το &os; &a.small.name; Χρήση του &os; σε embedded συστήματα (Δεν χρησιμοποιείται πλέον: αντί για αυτή τη λίστα, χρησιμοποιήστε την &a.embedded.name;) &a.smp.name; Συζητήσεις ανάπτυξης για την [α]συμμετρική πολυεπεξεργασία &a.sparc.name; Μεταφορά του &os; σε &sparc; συστήματα &a.standards.name; Συμμόρφωση του &os; με τα πρότυπα C99 και &posix; &a.sun4v.name; Μεταφορά του &os; σε &ultrasparc; T1 συστήματα + + &a.sysinstall.name; + Συζήτηση για την ανάπτυξη του &man.sysinstall.8; + + &a.threads.name; Πολυνηματική επεξεργασία στο &os; &a.testing.name; Δοκιμές απόδοσης και σταθερότητας του &os; &a.tokenring.name; Υποστήριξη του Token Ring στο &os; &a.usb.name; Συζήτηση υποστήριξης του USB στο &os; &a.virtualization.name; Συζήτηση σχετικά με διάφορες τεχνικές εικονικοποίησης που υποστηρίζονται από το &os; &a.vuxml.name; Συζήτηση για την υποδομή VuXML &a.x11.name; Συντήρηση και υποστήριξη του X11 στο &os; &a.xen.name; Συζήτηση για τη μεταφορά του &os; στο &xen; — υλοποίηση και χρήση Περιορισμένες λίστες: Οι ακόλουθες λίστες είναι για πιο ειδικό (και απαιτητικό) κοινό και πιθανώς δεν ενδιαφέρουν το γενικό κοινό. Πριν αρχίσετε να συμμετέχετε σε κάποια από αυτές, καλό θα είναι να έχετε παρακολουθήσει τις τεχνικές λίστες, ώστε να αντιλαμβάνεστε τον κώδικα επικοινωνίας και συμπεριφοράς που ισχύει σε αυτές. Λίστα Σκοπός &a.hubs.name; Άτομα που διατηρούν mirror sites (υποστήριξη υποδομών) &a.usergroups.name; Οργάνωση των συλλόγων χρηστών &a.vendors.name; Οργάνωση μεταπωλητών πριν από επίσημες εκδόσεις &a.wip-status.name; Κατάσταση εργασιών του &os; που βρίσκονται σε εξέλιξη (Work-in-Progress). &a.www.name; Συντηρητές του www.FreeBSD.org Λίστες digest: Όλες οι παραπάνω λίστες διατίθενται και σε μορφή digest (περίληψης). Μόλις εγγραφείτε σε μία λίστα, μπορείτε να αλλάξετε τις επιλογές digest στο τμήμα ρυθμίσεων του λογαριασμού σας. Λίστες CVS & SVN: Οι ακόλουθες λίστες είναι για όσους ενδιαφέρονται να βλέπουν τα μηνύματα (log) που δείχνουν τις αλλαγές σε διάφορες περιοχές του πηγαίου κώδικα. Είναι λίστες μόνο για ανάγνωση και δεν πρέπει να στέλνετε μηνύματα σε αυτές. Λίστα Περιοχή πηγαίου κώδικα Περιγραφή περιοχής (κώδικας για) &a.cvsall.name; /usr/(CVSROOT|doc|ports) Όλες οι αλλαγές σε κάθε μέρος του δέντρου (περιέχει όλες τις άλλες λίστες CVS) &a.cvs-doc.name; /usr/(doc|www) Όλες οι αλλαγές στα δέντρα doc και www &a.cvs-ports.name; /usr/ports Όλες οι αλλαγές στο δέντρο των ports &a.cvs-projects.name; /usr/projects Όλες οι αλλαγές στο δέντρο των projects &a.cvs-src.name; /usr/src Όλες οι αλλαγές στο δέντρο src (δημιουργείται από τα commit του προγράμματος μετατροπής svn-to-cvs) &a.svn-src-all.name; /usr/src Όλες οι αλλαγές στο Subversion repository (εκτός από τις περιοχές user και projects) &a.svn-src-head.name; /usr/src Όλες οι αλλαγές στον κλάδο head του Subversion repository (πρόκειται για τον κλάδο &os;-CURRENT) &a.svn-src-projects.name; /usr/projects Όλες οι αλλαγές στην περιοχή πηγαίου κώδικα projects του Subversion repository &a.svn-src-release.name; /usr/src Όλες οι αλλαγές στην περιοχή πηγαίου κώδικα releases του Subversion repository &a.svn-src-releng.name; /usr/src Όλες οι αλλαγές σε όλους τους κλάδους πηγαίου κώδικα releng του Subversion repository (πρόκειται για τους κλάδους security / release engineering) &a.svn-src-stable.name; /usr/src Όλες οι αλλαγές σε όλους τους κλάδους πηγαίου κώδικα stable του Subversion repository &a.svn-src-stable-6.name; /usr/src Όλες οι αλλαγές στον κλάδο πηγαίου κώδικα stable/6 του Subversion repository &a.svn-src-stable-7.name; /usr/src Όλες οι αλλαγές στον κλάδο πηγαίου κώδικα stable/7 του Subversion repository &a.svn-src-stable-8.name; /usr/src Όλες οι αλλαγές στον κλάδο πηγαίου κώδικα stable/8 του Subversion repository &a.svn-src-stable-other.name; /usr/src Όλες οι αλλαγές στους παλιούς stable κλάδους πηγαίου κώδικα του Subversion repository &a.svn-src-svnadmin.name; /usr/src Όλες οι αλλαγές στα scripts διαχείρισης, τα hooks, και άλλα δεδομένα που αφορούν τις ρυθμίσεις του Subversion repository &a.svn-src-user.name; /usr/src Όλες οι αλλαγές στην πειραματική περιοχή πηγαίου κώδικα user του Subversion repository &a.svn-src-vendor.name; /usr/src Όλες οι αλλαγές στην περιοχή εργασίας πηγαίου κώδικα vendor του Subversion repository Πως να Εγγραφείτε Για να εγγραφείτε σε μία λίστα, επιλέξτε το όνομα της από τους παραπάνω δεσμούς ή πηγαίνετε στο &a.mailman.lists.link; και επιλέξτε την λίστα για την οποία ενδιαφέρεστε. Η σελίδα της λίστας πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες εγγραφής. Για να γράψετε σε μια λίστα, απλώς στείλτε το μήνυμα σας στο όνομα-λίστας@FreeBSD.org. Το μήνυμα σας θα διανεμηθεί σε όλα τα μέλη της λίστας, σε οποιοδήποτε σημείο του κόσμου και αν βρίσκονται. Για να διαγραφείτε από μια λίστα, επιλέξτε το URL που βρίσκεται στο τέλος κάθε μηνύματος που λαμβάνετε από την λίστα. Μπορείτε επίσης να στείλετε ένα μήνυμα στο όνομα-λίστας-unsubscribe@FreeBSD.org για να διαγραφείτε μόνος σας. Για ακόμα μια φορά, θα θέλαμε να σας ζητήσουμε να διατηρήσετε τη συζήτηση των τεχνικών λιστών στα αντίστοιχα τεχνικά θέματα. Αν ενδιαφέρεστε μόνο για σημαντικές ανακοινώσεις, τότε προτείνουμε να εγγραφείτε στην &a.announce;, η οποία έχει μικρή κίνηση. Πίνακες Λιστών Όλες οι &os; λίστες έχουν συγκεκριμένους βασικούς κανόνες οι οποίοι πρέπει να ακολουθούνται από οποιονδήποτε τις χρησιμοποιεί. Όποιος αποτύχει να ακολουθήσει αυτούς τους κανόνες θα λάβει δύο (2) γραπτές προειδοποιήσεις από τον &os; Postmaster postmaster@FreeBSD.org. Σε περίπτωση τρίτης παραβίασης, το άτομο αυτό θα απομακρυνθεί από όλες τις λίστες του &os; και τα μηνύματα του προς αυτές θα φιλτράρονται. Λυπόμαστε που χρειάζεται να επιβάλλουμε αυτούς τους κανόνες και μέτρα, αλλά το σημερινό Διαδίκτυο είναι καθώς φαίνεται ένα πολύ σκληρό περιβάλλον, και πολλοί δεν εκτιμούν πόσο εύθραυστοι είναι μερικοί μηχανισμοί του. Κανόνες: Το θέμα κάθε μηνύματος πρέπει να είναι σχετικό με τον βασικό σκοπό της λίστας που στάλθηκε, π.χ. αν η λίστα σχετίζεται με τεχνικά θέματα τότε το μήνυμα σας πρέπει να περιέχει τεχνικό περιεχόμενο. Η άσχετη φλυαρία ή το flaming μειώνει την αξία της λίστας για όλους που την παρακολουθούν και δεν μπορούμε να ανεχτούμε αυτή τη συμπεριφορά. Για ελεύθερες συζητήσεις χωρίς κάποιο συγκεκριμένο θέμα, διατίθεται η &a.chat; την οποία και θα πρέπει να χρησιμοποιείτε. Κανένα μήνυμα δεν θα πρέπει να σταλεί σε περισσότερες από 2 λίστες, και σε 2 μόνο όταν υπάρχει ξεκάθαρος και προφανής λόγος για κάτι τέτοιο. Πολλοί συνδρομητές είναι έτσι και αλλιώς γραμμένοι σε περισσότερες από μία λίστες. Έτσι, αν δεν πρόκειται να κάνετε κάποιο περίεργο συνδυασμό (π.χ. -stable & -scsi), δεν υπάρχει λόγος να στείλετε μήνυμα σε περισσότερες από μία λίστα κάθε φορά. Αν λάβετε κάποιο μήνυμα στο οποίο φαίνονται πολλαπλές λίστες στην γραμμή Cc, καλό θα είναι να περικόψετε κάποιες από αυτές πριν στείλετε απάντηση. Θεωρείστε υπεύθυνος για τα δικά σας cross-postings, ανεξάρτητα ποιος είναι ο δημιουργός τους. Προσωπικές επιθέσεις και ασέβεια (στο περιεχόμενο μιας αντιπαράθεσης) δεν επιτρέπονται, και αυτό αφορά τόσο τους χρήστες όσο και τους developers. Μεγάλες παραβάσεις των κανόνων (netiquette), όπως χρήση τμημάτων ή ολόκληρων προσωπικών μηνυμάτων όταν δεν έχει δοθεί άδεια για να γίνει αυτό και δεν ήταν αναμενόμενο, αποδοκιμάζονται αλλά δεν απαγορεύονται ρητά. Όμως, υπάρχουν μερικές περιπτώσεις όπου τέτοιο περιεχόμενο εμπίπτει στους κανονισμούς κάποιας λίστας και μπορεί να οδηγήσει σε προειδοποίηση (ή ακόμα και αποκλεισμό) από αυτήν. Διαφήμιση προϊόντων ή υπηρεσιών που δεν σχετίζονται με το &os; απαγορεύεται αυστηρά και θα οδηγήσει σε άμεσο αποκλεισμό αν είναι φανερό ότι ο πταίστης διαφημίζεται με spam. Ατομικοί πίνακες λιστών: &a.acpi.name; Ανάπτυξη της διαχείρισης ενέργειας και του ACPI &a.afs.name; Andrew File System Αυτή η λίστα είναι για συζήτηση της μεταφοράς και της χρήσης του AFS από το CMU/Transarc &a.announce.name; Σημαντικά γεγονότα και ανακοινώσεις Αυτή η λίστα είναι για άτομα που ενδιαφέρονται μόνο για περιστασιακές ανακοινώσεις σημαντικών γεγονότων του &os;. Περιλαμβάνει ανακοινώσεις σχετικά με snapshots και άλλα releases. Επίσης δημοσιεύονται σε αυτήν ανακοινώσεις για νέες ικανότητες του &os;. Μπορεί να περιέχει εκκλήσεις για εθελοντές κτλ. Πρόκειται για μία λίστα με μικρή κίνηση, και οι δημοσιεύσεις ελέγχονται αυστηρά. &a.arch.name; Συζητήσεις αρχιτεκτονικής και σχεδιασμού Σε αυτή την λίστα συζητείται η αρχιτεκτονική του &os;. Τα μηνύματα είναι κατά κύριο λόγο αρκετά τεχνικά. Παραδείγματα σχετικών θεμάτων είναι: Πως να επανασχεδιαστεί το σύστημα μεταγλώττισης ώστε να εκτελεί ταυτόχρονα πολλές προσαρμοσμένες μεταγλωττίσεις. Τι πρέπει να επισκευαστεί στο VFS ώστε να λειτουργούν τα Heidemann layers. Πώς πρέπει να μετατρέψουμε τη διεπαφή (interface) των οδηγών συσκευών ώστε να μπορούμε να χρησιμοποιήσουμε τα ίδια προγράμματα οδήγησης σε πολλούς διαύλους και αρχιτεκτονικές. Πως να γράψετε ένα οδηγό δικτύου. &a.audit.name; Project ελέγχου πηγαίου κώδικα Αυτή η λίστα χρησιμοποιείται για το project ελέγχου του πηγαίου κώδικα του &os;. Αν και αρχικά προορίζονταν για συζητήσεις αλλαγών που σχετίζονταν με την ασφάλεια, διευρύνθηκε ώστε να ασχολείται με οποιαδήποτε αλλαγή κώδικα. Η λίστα είναι γεμάτη με patches, και πιθανότατα δεν θα ενδιαφέρει έναν απλό χρήστη του &os;. Συζητήσεις ασφαλείας που δεν σχετίζονται με συγκεκριμένη αλλαγή στον κώδικα, γίνονται στην λίστα freebsd-security. Αντίθετα, όλοι οι developers παροτρύνονται να στέλνουν εδώ τα patches τους για έλεγχο, ειδικά αν σχετίζονται με ένα μέρος του συστήματος όπου ένα σφάλμα μπορεί να επηρεάσει ολόκληρη την ακεραιότητα του. &a.binup.name; Project αναβάθμισης του &os; μέσω έτοιμων (δυαδικών) αρχείων Σε αυτή την λίστα συζητείται το σύστημα αναβάθμισης μέσω έτοιμων (binary) αρχείων, ή binup. Σε αυτή τη λίστα ανήκουν θέματα σχεδιασμού, λεπτομέρειες υλοποίησης, patches, αναφορές σφαλμάτων, αναφορές κατάστασης, αιτήσεις για πρόσθετα χαρακτηριστικά, commit logs, και ότι άλλο σχετίζεται με το binup. &a.bluetooth.name; Χρήση της τεχνολογίας &bluetooth; στο &os; Σε αυτή τη λίστα συναθροίζονται οι χρήστες του &bluetooth; στο &os;. Η λίστα ασχολείται με θέματα σχεδιασμού, λεπτομέρειες υλοποίησης, patches, αναφορές σφαλμάτων, αναφορές κατάστασης, αιτήσεις για πρόσθετα χαρακτηριστικά, και ότι άλλο σχετίζεται με το &bluetooth;. &a.bugbusters.name; Προσπάθεια οργάνωσης του χειρισμού των αναφορών προβλημάτων Σκοπός αυτής της λίστας είναι να λειτουργεί ως χώρος οργάνωσης και συζήτησης για τον Bugmeister, τους Bugbusters, και όσους άλλους ενδιαφέρονται για την βάση δεδομένων PR. Αυτή ή λίστα δεν είναι για συζητήσεις σχετικά με ιδιαίτερα σφάλματα, patches ή PRs. &a.bugs.name; Αναφορές σφαλμάτων Αυτή η λίστα είναι για αναφορές σφαλμάτων του &os;. Όποτε είναι δυνατό, τα σφάλματα πρέπει να στέλνονται με την εντολή &man.send-pr.1; ή μέσω της αντίστοιχης διεπαφή WEB. &a.chat.name; Μη τεχνικά θέματα που σχετίζονται με την κοινότητα του &os; Αυτή η λίστα περιέχει κοινωνικές συζητήσεις, και γενικότερα ότι δεν σχετίζεται με τεχνικές πληροφορίες με τις οποίες ασχολούνται οι υπόλοιπες λίστες. Περιέχει συζητήσεις για το αν ο Jordan μοιάζει με μικρό κουνάβι ή όχι, για το αν πρέπει ή όχι να γράφουμε με κεφαλαία, ποιος πίνει πολύ καφέ, που φτιάχνεται η καλύτερη μπύρα, ποιος φτιάχνει μπύρα στο υπόγειο του, και άλλα. Περιστασιακές ανακοινώσεις σημαντικών γεγονότων (όπως πάρτυ, γάμοι, γεννήσεις, καινούργιες δουλειές κλπ) μπορούν να γίνουν στις τεχνικές λίστες, αλλά οι απαντήσεις τους πρέπει να στέλνονται στην λίστα -chat. &a.core.name; Ομάδα core του &os; Αυτή είναι μία εσωτερική λίστα για χρήση από τα μέλη του core. Σε αυτή τη λίστα μπορείτε να στείλετε μηνύματα, όταν προκύψει κάποιο θέμα σχετικό με το &os; το οποίο απαιτεί διαιτησία ή λεπτομερή εξέταση. &a.current.name; Συζητήσεις σχετικά με την χρήση του &os.current; Αυτή η λίστα είναι για χρήστες του &os.current;. Περιέχει προειδοποιήσεις για νέα χαρακτηριστικά που πρόκειται να προστεθούν στο -CURRENT και τα οποία θα επηρεάσουν τους χρήστες, και οδηγίες για τις κινήσεις που πρέπει να γίνουν ώστε να παραμείνετε στο -CURRENT. Όποιος εκτελεί το CURRENT πρέπει να εγγραφεί σε αυτήν την λίστα. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.cvsweb.name; &os; CVSweb Project Τεχνικές συζητήσεις για την χρήση, την ανάπτυξη και την συντήρηση του &os;-CVSweb. &a.doc.name; Project τεκμηρίωσης του &os; Αυτή η λίστα είναι για συζήτηση θεμάτων και projects που σχετίζονται με την δημιουργία τεκμηρίωσης για το &os;. Τα μέλη αυτής της λίστας αποκαλούνται συνολικά ως The &os; Documentation Project. Είναι μια ανοικτή λίστα και είστε ελεύθερος να συμμετέχετε και να συνεισφέρετε! &a.drivers.name; Δημιουργία οδηγών συσκευών για το &os; Αυτή η λίστα προορίζεται για τεχνικές συζητήσεις σχετικές με οδηγούς συσκευών στο &os;. Χρησιμοποιείται κυρίως από τους δημιουργούς οδηγών συσκευών για ερωτήσεις σχετικές με τη συγγραφή οδηγών, χρησιμοποιώντας τα APIs που παρέχει ο πυρήνας του &os;. &a.eclipse.name; &os; χρήστες του Eclipse IDE, των εργαλείων του, rich client εφαρμογών, και ports. Πρόθεση της λίστας αυτής είναι να προσφέρει αμοιβαία υποστήριξη για ότι έχει να κάνει με την επιλογή, εγκατάσταση, χρήση, ανάπτυξη και συντήρηση του Eclipse IDE, των εργαλείων του, εφαρμογών rich client στην πλατφόρμα του &os; και για βοήθεια σχετικά με την μεταφορά του Eclipse IDE και των πρόσθετων του στο περιβάλλον του &os;. Πρόθεση της είναι επίσης να διευκολύνει την ανταλλαγή πληροφοριών ανάμεσα στην κοινότητα του Eclipse και στην κοινότητα του &os;, προς όφελος και των δύο. Αν και η λίστα επικεντρώνεται κυρίως στις ανάγκες των χρηστών του Eclipse, προσφέρει επίσης ένα χώρο συζήτησης για όσους θέλουν να αναπτύξουν εφαρμογές σχετικές με το &os; χρησιμοποιώντας το Eclipse. &a.embedded.name; Χρήση του &os; σε embedded εφαρμογές Η λίστα συζητά θέματα σχετικά με την χρήση του &os; σε embedded συστήματα. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. Για τον σκοπό της λίστας αυτής, ορίζουμε ως embedded συστήματα τις υπολογιστικές συσκευές που δεν προορίζονται για desktop εφαρμογές, και που συνήθως καλύπτουν μια μόνο ανάγκη, αντίθετα με τα γενικά υπολογιστικά περιβάλλοντα. Συμπεριλαμβάνονται, εκτός των άλλων, όλα τα τηλέφωνα, δικτυακός εξοπλισμός όπως routers, switches και PBXs, εξοπλισμός μετρήσεων από απόσταση, PDAs, συστήματα Point Of Sale, και πάει λέγοντας. &a.emulation.name; Εξομοίωση άλλων συστημάτων όπως είναι τα Linux/&ms-dos;/&windows; Είναι μια λίστα για τεχνικές συζητήσεις, σχετικές με την εκτέλεση στο &os; προγραμμάτων που δημιουργήθηκαν για άλλα λειτουργικά. &a.eol.name; Ομότιμη υποστήριξη για λογισμικό σχετικό με το &os; που δεν υποστηρίζεται πλέον από το &os; Project. Αυτή η λίστα είναι για όσους ενδιαφέρονται να παρέχουν ή να χρησιμοποιήσουν την ομότιμη υποστήριξη για λογισμικό σχετικό με το &os; που δεν υποστηρίζεται πλέον από το &os; Project (π.χ., με την μορφή patches και ανακοινώσεων ασφαλείας). &a.firewire.name; &firewire; (iLink, IEEE 1394) Αυτή η λίστα είναι για την συζήτηση της σχεδίασης και υλοποίησης ενός υποσυστήματος &firewire; (γνωστό και ως IEEE 1394 ή iLink) για το &os;. Σχετικά θέματα είναι τα πρότυπα, οι συσκευές διαύλου και τα πρωτόκολλά τους, κάρτες, προσαρμογείς και chipsets, και η αρχιτεκτονική και η υλοποίηση του κώδικα για την σωστή υποστήριξη τους. &a.fs.name; Συστήματα αρχείων Συζητήσεις σχετικές με τα συστήματα αρχείων του &os;. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.gecko.name; Gecko Rendering Engine Συζητήσεις σχετικές με εφαρμογές που χρησιμοποιούν την μηχανή Gecko στο &os;. Η συζήτηση επικεντρώνεται σε εφαρμογές της Συλλογής των Ports που χρησιμοποιούν τη μηχανή Gecko, και ειδικότερα την εγκατάσταση, ανάπτυξη και υποστήριξη τους στο &os;. &a.geom.name; GEOM Συζητήσεις σχετικές με το GEOM και παρόμοιες υλοποιήσεις. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.gnome.name; GNOME Συζητήσεις σχετικές με το περιβάλλον GNOME για συστήματα &os;. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.ipfw.name; IP Firewall Αυτή η λίστα είναι για τεχνικές συζητήσεις που αφορούν τον επανασχεδιασμό του κώδικα IP firewall στο &os;. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.ia64.name; Μεταφορά του &os; στην αρχιτεκτονική IA64 Πρόκειται για μια τεχνική λίστα, για άτομα που δουλεύουν ενεργά στην μεταφορά του &os; στην πλατφόρμα IA-64 της &intel;, για να αναφέρουν προβλήματα ή να συζητήσουν εναλλακτικές λύσεις. Άτομα που ενδιαφέρονται να παρακολουθήσουν την τεχνική συζήτηση είναι επίσης ευπρόσδεκτα. &a.isdn.name; Ανάπτυξη του ISDN Αυτή η λίστα είναι για άτομα που συζητούν την ανάπτυξη της υποστήριξης ISDN στο &os;. &a.java.name; Ανάπτυξη της &java; Αυτή η λίστα είναι για άτομα που συζητούν την ανάπτυξη σημαντικών εφαρμογών &java; για το &os; και την μεταφορά και συντήρηση των &jdk;s. &a.jobs.name; Ζήτηση και προσφορά εργασίας Αυτός είναι ένας χώρος για δημοσίευση ανακοινώσεων για προσφορά και ζήτηση εργασίας που σχετίζεται με το &os;, καθώς και βιογραφικών σχετικών με το &os;. Αν για παράδειγμα αναζητάτε εργασία σχετική με το &os;, ή προσφέρετε μια θέση εργασίας σχετική με το &os;, αυτό είναι το σωστό μέρος για να τη διαφημίσετε. Η λίστα αυτή δεν είναι για γενικά θέματα εργασίας, για τα οποία υπάρχει πληθώρα από άλλες λίστες στο Διαδίκτυο. Αυτή η λίστα, όπως και οι υπόλοιπες λίστες του FreeBSD.org, διανέμονται παγκόσμια. Έτσι, πρέπει να είστε σαφής για την τοποθεσία και την δυνατότητα τηλεργασίας ή βοήθειας στην μετοίκηση. Το μήνυμα σας θα πρέπει να χρησιμοποιεί μόνο ανοιχτά πρότυπα — κατά προτίμηση απλό κείμενο, αν και βασικής μορφής Portable Document Format (PDF), HTML, και μερικά άλλα είναι αποδεκτά από πολλούς χρήστες. Κλειστά πρότυπα όπως το µsoft; Word (.doc) θα απορριφθούν από τον διακομιστή της λίστας. &a.kde.name; KDE Συζητήσεις που αφορούν το KDE σε συστήματα &os;. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.hackers.name; Τεχνικές συζητήσεις Είναι ένας χώρος για τεχνικές συζητήσεις σχετικές με το &os;. Αυτή είναι η κύρια τεχνική λίστα. Είναι για άτομα που αναπτύσσουν ενεργά το &os;, για να αναφέρουν προβλήματα ή να συζητήσουν εναλλακτικές λύσεις. Άτομα που ενδιαφέρονται να παρακολουθήσουν την τεχνική συζήτηση είναι ευπρόσδεκτα. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.hardware.name; Γενική συζήτηση για υλικό κι εξαρτήματα υπολογιστών στο &os; Γενικές συζητήσεις για τύπους υλικού που λειτουργούν στο &os;, διάφορα προβλήματα και προτάσεις σχετικά με το τι να αγοράσετε ή να αποφύγετε. &a.hubs.name; Mirror sites Ανακοινώσεις και συζητήσεις για άτομα που συντηρούν mirror sites του &os;. &a.isp.name; Θέματα για Παροχείς Υπηρεσιών Διαδικτύου Αυτή η λίστα είναι για συζήτηση θεμάτων σχετικών με Παροχείς Υπηρεσιών Διαδικτύου (ISPs) που χρησιμοποιούν &os;. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.mono.name; Εφαρμογές Mono και C# στο &os; Αυτή η λίστα είναι για συζήτηση θεμάτων σχετικών με το σύστημα ανάπτυξης εφαρμογών Mono στο &os;. Πρόκειται για μια τεχνική λίστα. Προορίζεται για οποιονδήποτε ασχολείται ενεργά με την ανάπτυξη ή τη μεταφορά εφαρμογών Mono ή C# στο &os;. Η συζήτηση αφορά την επίλυση προβλημάτων η την εύρεση εναλλακτικών λύσεων. Άτομα που ενδιαφέρονται να παρακολουθήσουν την τεχνική συζήτηση είναι επίσης ευπρόσδεκτα. &a.openoffice.name; OpenOffice.org Συζητήσεις σχετικές με την μεταφορά και συντήρηση του OpenOffice.org και του &staroffice;. &a.performance.name; Συζητήσεις για την ρύθμιση και την βελτιστοποίηση του &os; Αυτή η λίστα υπάρχει για να παρέχει ένα μέρος όπου οι hackers, οι διαχειριστές, και όσοι άλλοι ενδιαφέρονται, να συζητούν θέματα σχετικά με την απόδοση του &os;. Αποδεκτά θέματα είναι οι συζητήσεις που αναφέρονται σε εγκαταστάσεις &os; που υπόκεινται σε μεγάλο φόρτο, έχουν προβλήματα απόδοσης, ή φτάνουν το &os; στα όρια του. Συνιστούμε ανεπιφύλακτα να γραφούν στη λίστα όσοι ενδιαφέρονται να βελτιώσουν την απόδοση του &os;. Είναι μία τεχνική λίστα που απευθύνεται σε έμπειρους χρήστες του &os;, hackers, ή διαχειριστές που ενδιαφέρονται να κάνουν το &os; γρήγορο και αξιόπιστο. Δεν πρόκειται για μια λίστα ερωτήσεων και απαντήσεων που μπορεί να αντικαταστήσει την μελέτη της τεκμηρίωσης, αλλά ένα μέρος για συνεισφορές ή για απαντήσεις σε αναπάντητα θέματα σχετικά με την απόδοση. &a.pf.name; Συζητήσεις και ερωτήσεις για το σύστημα packet filter firewall Συζητήσεις σχετικές με το packet filter (pf) firewall system στο &os;. Τεχνικές συζητήσεις και ερωτήσεις χρηστών είναι ευπρόσδεκτες. Η λίστα είναι επίσης ένα μέρος για συζήτηση του ALTQ QoS framework. &a.platforms.name; Μεταφορά του &os; σε μη-&intel; πλατφόρμες Προβλήματα του &os; που εμφανίζονται σε περισσότερες από μία πλατφόρμες, καθώς και γενικές συζητήσεις και προτάσεις για μεταφορά του &os; σε μη-&intel; πλατφόρμες. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.policy.name; Κατευθυντήριες αποφάσεις (policy) της ομάδας Core του &os; Αυτή είναι μία λίστα με μικρή κίνηση, μόνο για ανάγνωση, για τις αποφάσεις της Core ομάδας του &os; σχετικά με κάποια θέματα κατεύθυνσης του Project (policies). &a.ports.name; Συζήτηση για τα ports Συζητήσεις σχετικές με την Συλλογή των Ports του &os; (/usr/ports), την υποδομή των ports, και γενικά τις προσπάθειες συντονισμού των ports. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.ports-bugs.name; Συζήτηση για τα σφάλματα των ports Συζητήσεις που σχετίζονται με τις αναφορές προβλημάτων της Συλλογής των Ports (/usr/ports) του &os;, προτάσεις για νέα ports ή για αλλαγές σε υπάρχοντα ports. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.proliant.name; Τεχνική συζήτηση για το &os; σε διακομιστές HP ProLiant Αυτή η λίστα είναι για τεχνικές συζητήσεις σχετικά με την χρήση του &os; σε διακομιστές HP ProLiant. Η συζήτηση περιλαμβάνει θέματα προγραμμάτων οδήγησης για ProLiant, λογισμικό διαχείρισης, εργαλεία ρυθμίσεων, και ανανεώσεις του BIOS. Η λίστα αυτή είναι το καταλληλότερο μέρος για συζήτηση σχετικά με τα αρθρώματα hpasmd, hpasmcli, και hpacucli. &a.python.name; Η Python στο &os; Αυτή η λίστα είναι για συζητήσεις σχετικές με την βελτιστοποίηση της υποστήριξης της Python στο &os;. Είναι μια τεχνική λίστα. Προορίζεται για άτομα που ασχολούνται με την μεταφορά της Python, των αρθρωμάτων της (modules) και του Zope στο &os;. Όσοι ενδιαφέρονται να παρακολουθήσουν την τεχνική συζήτηση, είναι ευπρόσδεκτοι. &a.questions.name; Ερωτήσεις χρηστών Αυτή η λίστα είναι για ερωτήσεις σχετικές με το &os;. Δεν πρέπει να στέλνετε ερωτήσεις τύπου how to σε τεχνικές λίστες εκτός αν πιστεύετε ότι η ερώτηση σας είναι πολύ εξειδικευμένη. &a.ruby.name; Συζήτηση σχετικά με τη Ruby στο &os; Η λίστα αυτή είναι για συζητήσεις που σχετίζονται με την υποστήριξη της Ruby στο &os;. Πρόκειται για μια λίστα τεχνικών ερωτήσεων. Απευθύνεται σε άτομα που δουλεύουν σε Ports της Ruby, σε βιβλιοθήκες τρίτων κατασκευαστών, και σε άλλα πλαίσια λειτουργιών. Είναι επίσης ευπρόσδεκτοι όσοι ενδιαφέρονται για αυτού του είδους την τεχνική συζήτηση. &a.scsi.name; Το υποσύστημα SCSI Αυτή η λίστα είναι για άτομα που εργάζονται στο SCSI υποσύστημα του &os;. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.security.name; Θέματα ασφαλείας Αφορά θέματα ασφαλείας υπολογιστών που εκτελούν &os; (DES, Kerberos, γνωστά θέματα ασφαλείας και διορθώσεις, κτλ). Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. Σημειώστε ότι δεν πρόκειται για λίστα ερωτήσεων και απαντήσεων, αλλά η συνεισφορά (τόσο ερωτήσεων όσο ΚΑΙ απαντήσεων) στο FAQ είναι ευπρόσδεκτη. &a.security-notifications.name; Ειδοποιήσεις ασφαλείας Ειδοποιήσεις για προβλήματα ασφαλείας και διορθώσεις στο &os;. Δεν πρόκειται για λίστα συζητήσεων. Η λίστα συζητήσεων είναι η &os;-security. &a.small.name; Χρήση του &os; σε embedded εφαρμογές Αυτή η λίστα συζητά θέματα σχετικά με ασυνήθιστα μικρές και embedded εγκαταστάσεις του &os;. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. Η λίστα αυτή έχει αντικατασταθεί από την &a.embedded.name;. &a.stable.name; Συζητήσεις σχετικές με την χρήση του &os.stable; Αυτή η λίστα είναι για τους χρήστες του &os.stable;. Περιέχει προειδοποιήσεις για νέα χαρακτηριστικά που πρόκειται να ενσωματωθούν στο -STABLE και τα οποία ενδεχομένως να επηρεάσουν τους χρήστες του. Επίσης περιέχει οδηγίες για τα βήματα που πρέπει να ακολουθήσετε ώστε να παραμείνετε στο -STABLE. Θα πρέπει να εγγραφείτε σε αυτή τη λίστα, αν ακολουθείτε το STABLE. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. &a.standards.name; Συμμόρφωση με τα πρότυπα C99 & POSIX Αυτή η λίστα είναι για τεχνικές συζητήσεις σχετικά με την συμμόρφωση του &os; με τα πρότυπα C99 και POSIX. &a.usb.name; Συζήτηση για την υποστήριξη του διαύλου USB στο &os; Αυτή η λίστα είναι για τεχνικές συζητήσεις σχετικά με την υποστήριξη του διαύλου USB στο &os;. &a.usergroups.name; Οργάνωση των συλλόγων χρηστών Αυτή η λίστα είναι για τους συντονιστές των επιμέρους τοπικών συλλόγων χρηστών για συζήτηση θεμάτων μεταξύ τους και με κάποιο μέλος της ομάδας Core. Αυτή η λίστα θα πρέπει να αναφέρει μόνο τις συναντήσεις και την οργάνωση projects που αναφέρονται σε περισσότερους από ένα συλλόγους χρηστών. &a.vendors.name; Πωλητές Οργάνωση συζητήσεων μεταξύ του &os; Project και των πωλητών λογισμικού και υλικού σχετικού με το &os;. &a.virtualization.name; Συζήτηση διάφορων τεχνικών εικονικοποίησης που υποστηρίζονται από το &os;. Μια λίστα για τη συζήτηση των διάφορων τεχνικών εικονικοποίησης που υποστηρίζονται από το &os;. Από τη μια μεριά εστιάζει στην υλοποίηση των βασικών λειτουργιών αλλά και την προσθήκη νέων δυνατοτήτων. Από την άλλη, οι χρήστες θα έχουν μια ομάδα συζητήσεων όπου μπορούν να ζητούν βοήθεια σε περίπτωση προβλημάτων, ή να συζητούν τις δικές τους χρήσεις. &a.wip-status.name; Κατάσταση εργασιών σε εξέλιξη στο &os; Στη λίστα αυτή μπορείτε να ανακοινώσετε την έναρξη και την πρόοδο κάποιας εργασίας σας που σχετίζεται με το &os;. Τα μηνύματα σε αυτή τη λίστα ελέγχονται. Συνίσταται να στείλετε το μήνυμα σας με παραλήπτη μια πιο τοπική σας λίστα του &os;, και απλώς να κοινοποιήσετε το μήνυμα σας σε αυτή τη λίστα. Με τον τρόπο αυτό, μπορείτε επίσης να συζητήσετε για την εργασία σας στην τοπική λίστα, καθώς η συζήτηση σε αυτή τη λίστα δεν επιτρέπεται. Δείτε τα αρχεία της λίστας για να πάρετε μια ιδέα της μορφής των μηνυμάτων που μπορείτε να στείλετε. Μια περίληψη των περιεχομένων της λίστας ενδέχεται να δημοσιεύεται κατά τακτά διαστήματα στη δικτυακή τοποθεσία του &os;, ως μέρος των Αναφορών Κατάστασης (Status Reports) . Στην ίδια τοποθεσία, μπορείτε επίσης να βρείτε περισσότερα παραδείγματα και προηγούμενες αναφορές. &a.xen.name; Συζήτηση για τη μεταφορά του &os; στο &xen; — υλοποίηση και χρήση Πρόκειται για μια λίστα που εστιάζει στην μεταφορά του &os; στο &xen;. Η κίνηση σε αυτή τη λίστα αναμένεται να είναι μικρή, και έτσι θα χρησιμοποιηθεί τόσο για τεχνικές συζητήσεις σχετικά με το σχεδιασμό και την υλοποίηση, όσο και με προβλήματα εγκατάστασης και διαχείρισης. Φιλτράρισμα στις Λίστες Ηλεκτρονικού Ταχυδρομείου Οι λίστες ηλεκτρονικού ταχυδρομείου του &os; φιλτράρονται με πολλαπλούς τρόπους για να αποφύγουμε την διανομή spam, ιών, και άλλων ανεπιθύμητων μηνυμάτων. Το φιλτράρισμα που περιγράφεται σε αυτή την ενότητα, αποτελεί ένα μόνο μέρος των συνολικών μέτρων που λαμβάνουμε για την προστασία των λιστών ηλεκτρονικού ταχυδρομείου. Στις λίστες επιτρέπονται μόνο συγκεκριμένοι τύποι συνημμένων αρχείων. Όλα τα συνημμένα αρχεία με τύπο MIME που δεν βρίσκεται στην παρακάτω λίστα, διαγράφονται πριν διανεμηθεί το μήνυμα στις λίστες. application/octet-stream application/pdf application/pgp-signature application/x-pkcs7-signature message/rfc822 multipart/alternative multipart/related multipart/signed text/html text/plain text/x-diff text/x-patch Μερικές λίστες μπορεί να επιτρέπουν συνημμένα αρχεία και άλλων τύπων MIME, αλλά οι παραπάνω τύποι ισχύουν στις περισσότερες λίστες. Εάν το κείμενο ενός μηνύματος περιέχεται τόσο σε μορφή HTML όσο και απλού κειμένου, το τμήμα HTML θα αφαιρεθεί. Εάν ένα μήνυμα περιέχει μόνο HTML, θα μετατραπεί σε απλό κείμενο. Usenet Newsgroups Εκτός από δύο newsgroups που ασχολούνται με το &os;, υπάρχουν πολλά ακόμα στα οποία γίνεται συζήτηση για το &os; ή άλλα θέματα που ενδεχομένως ενδιαφέρουν τους χρήστες του. Για κάποια από αυτά τα newsgroups, μπορείτε να κάνετε αναζήτηση με λέξεις-κλειδιά στις παλιές δημοσιεύσεις, χάρη στην υπηρεσία που προσφέρει ο Warren Toomey wkt@cs.adfa.edu.au. Newsgroups Σχετικά με το BSD comp.unix.bsd.freebsd.announce comp.unix.bsd.freebsd.misc de.comp.os.unix.bsd (Στα Γερμανικά) fr.comp.os.bsd (Στα Γαλλικά) it.comp.os.freebsd (Στα Ιταλικά) tw.bbs.comp.386bsd (Σε Παραδοσιακά Κινέζικα) Άλλα Ενδιαφέροντα &unix; Newsgroups comp.unix comp.unix.questions comp.unix.admin comp.unix.programmer comp.unix.shell comp.unix.user-friendly comp.security.unix comp.sources.unix comp.unix.advocacy comp.unix.misc comp.bugs.4bsd comp.bugs.4bsd.ucb-fixes comp.unix.bsd Σύστημα X Window comp.windows.x.i386unix comp.windows.x comp.windows.x.apps comp.windows.x.announce comp.windows.x.intrinsics comp.windows.x.motif comp.windows.x.pex comp.emulators.ms-windows.wine Διακομιστές Ιστοσελίδων Forums, Blogs, και Κοινωνικά Δίκτυα Τα Forums του &os; βασίζονται σε διεπαφή web και είναι κατάλληλα για τεχνικές συζητήσεις και ερωτήσεις που αφορούν το &os;. Το Planet &os; συγκεντρώνει σε ένα σημείο τις ροές από δεκάδες ιστολόγια μελών της ομάδας ανάπτυξης του &os;. Πολλά από τα μέλη, χρησιμοποιούν αυτή τη δυνατότητα για να γνωστοποιήσουν την εργασία που κάνουν τη δεδομένη στιγμή, τυχόν νέες διορθώσεις, καθώς και τα μελλοντικά τους σχέδια. Το κανάλι BSDConferences στο Youtube παρέχει μια συλλογή βίντεο υψηλής ποιότητας, από διάφορα BSD συνέδρια σε όλο τον κόσμο. Πρόκειται για ένα θαυμάσιο τρόπο να παρακολουθήσετε σημαντικά μέλη της ομάδας ανάπτυξης να παρουσιάζουν τη νέα τους δουλειά στο &os;. Επίσημα Mirrors &chap.eresources.www.inc; Διευθύνσεις Ηλεκτρονικού Ταχυδρομείου Οι ακόλουθες ενώσεις χρηστών παρέχουν στα μέλη τους διευθύνσεις ηλεκτρονικού ταχυδρομείου που σχετίζονται με το &os;. Ο διαχειριστής που αναφέρεται παρακάτω, διατηρεί το δικαίωμα να ανακαλέσει την διεύθυνση, αν γίνει κατάχρηση της με οποιοδήποτε τρόπο. Τομέας Υπηρεσίες Ένωση Χρηστών Διαχειριστής ukug.uk.FreeBSD.org Μόνο προώθηση ukfreebsd@uk.FreeBSD.org Lee Johnston lee@uk.FreeBSD.org diff --git a/el_GR.ISO8859-7/books/handbook/l10n/chapter.sgml b/el_GR.ISO8859-7/books/handbook/l10n/chapter.sgml index 3fc3e67c0f..373def7667 100644 --- a/el_GR.ISO8859-7/books/handbook/l10n/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/l10n/chapter.sgml @@ -1,1040 +1,1040 @@ Andrey Chernov Συνεισφορά του Michael C. Wu Γράφηκε ξανά από τον Τοπικές Ρυθμίσεις - Χρήση και ρύθμιση I18N/L10N Σύνοψη Το &os; είναι ένα ιδιαίτερα αποκεντρωμένο έργο με χρήστες και εθελοντές σε ολόκληρο τον κόσμο. Στο κεφάλαιο αυτό συζητούνται οι δυνατότητες τοπικών και διεθνών ρυθμίσεων του &os;, οι οποίες επιτρέπουν σε χρήστες γλωσσών εκτός της Αγγλικής να εκτελέσουν πραγματική εργασία. Υπάρχουν πολλοί παράγοντες στην υλοποίηση του πλαισίου i18n, τόσο σε επίπεδο συστήματος, όσο και εφαρμογών, και για το λόγο αυτό, όπου χρειάζεται, παραπέμπουμε τον αναγνώστη σε πιο συγκεκριμένες πηγές τεκμηρίωσης. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: Πως κωδικοποιούνται οι γλώσσες και οι τοπικές ρυθμίσεις στα σύγχρονα λειτουργικά συστήματα. Πως να βάλετε τοπικές ρυθμίσεις στο κέλυφος σας (login shell). Πως να ρυθμίσετε την κονσόλα για γλώσσες εκτός της Αγγλικής. Πως να χρησιμοποιήσετε αποτελεσματικά το σύστημα X Windows με διαφορετικές γλώσσες. Που να βρείτε περισσότερες πληροφορίες για τη συγγραφή εφαρμογών συμβατών με το πρότυπο i18n. Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να γνωρίζετε πως να εγκαταστήσετε πρόσθετο λογισμικό τρίτου κατασκευαστή (). Βασικές Γνώσεις Τι Είναι το I18N/L10N; internationalization localization localization Οι ομάδες ανάπτυξης λογισμικού δημιούργησαν τον όρο I18N, ως συντόμευση της λέξης internationalization (διεθνοποίηση), μετρώντας απλώς τα γράμματα της λέξης ανάμεσα στο πρώτο και το τελευταίο. Ο όρος L10N έχει προκύψει με τον ίδιο τρόπο, αυτή τη φορά από τη λέξη localization (τοπικοποίηση, ή απλώς τοπικές ρυθμίσεις). Συνδυάζοντας μεταξύ τους τις μεθόδους, τα πρωτόκολλα, και τις εφαρμογές που συμβαδίζουν με τα I18N/L10N, οι χρήστες μπορούν να χρησιμοποιήσουν τις γλώσσες της επιλογής τους. Οι εφαρμογές I18N προγραμματίζονται με τη βοήθεια εργαλείων (kits) και βιβλιοθηκών. Επιτρέπεται έτσι στους προγραμματιστές να γράψουν ένα απλό αρχείο και να μεταφράσουν τα μενού και τα κείμενα που απεικονίζει η εφαρμογή, σε κάθε γλώσσα που απαιτείται. Συνιστούμε ένθερμα στους προγραμματιστές να ακολουθούν την παραπάνω σύμβαση. Γιατί Πρέπει να Χρησιμοποιήσω τα I18N/L10N; Τα I18N/L10N χρησιμοποιούνται κάθε φορά που επιθυμείτε να δείτε, να εισάγετε, ή να επεξεργαστείτε δεδομένα σε γλώσσες εκτός της Αγγλικής. Ποιες Γλώσσες Υποστηρίζονται στο I18N; Το I18N και το L10N δεν είναι ειδικά φτιαγμένα για το &os;. Την δεδομένη στιγμή, υποστηρίζονται οι περισσότερες γνωστές γλώσσες, συμπεριλαμβανομένων των: Κινεζικών, Γερμανικών, Γιαπωνέζικων, Κορεατικών, Γαλλικών, Ρωσικών, Βιετναμέζικων, κ.α. Χρήση των Τοπικών Ρυθμίσεων Το I18N είναι στην πραγματικότητα μια σύμβαση, και δεν έχει δημιουργηθεί αποκλειστικά για το &os;. Επιθυμούμε τη βοήθεια σας ώστε το &os; να ακολουθεί αυτή τη σύμβαση. locale Οι τοπικές ρυθμίσεις βασίζονται σε τρεις βασικούς όρους: Κωδικό Γλώσσας, Κωδικό Χώρας και Κωδικοποίηση. Τα ονόματα των τοπικών ρυθμίσεων προκύπτουν από τους παραπάνω όρους, με τον τρόπο που περιγράφεται παρακάτω: ΚωδικόςΓλώσσας_ΚωδικόςΧώρας.Κωδικοποίηση Κωδικοί Γλωσσών και Χωρών language codes country codes Για να χρησιμοποιηθούν οι τοπικές ρυθμίσεις για μια συγκεκριμένη γλώσσα σε ένα σύστημα &os; (ή σε άλλο σύστημα τύπου &unix; που υποστηρίζει το πρότυπο I18N), ο χρήστης θα πρέπει να βρει τους κωδικούς της συγκεκριμένης χώρας και γλώσσας (οι κωδικοί χωρών καθοδηγούν τις εφαρμογές σχετικά με τη διάλεκτο της γλώσσας που πρέπει να χρησιμοποιηθεί). Προγράμματα όπως φυλλομετρητές, εξυπηρετητές ιστοσελίδων, εξυπηρετητές SMTP/POP κλπ. παίρνουν επίσης κάποιες αποφάσεις που εξαρτώνται από τους κωδικούς αυτούς. Παρακάτω φαίνονται μερικά παραδείγματα γλωσσών/χωρών: Κωδικός Γλώσσας/Χώρας Περιγραφή en_US Αγγλικά - Ηνωμένες Πολιτείες ru_RU Ρώσικα - Ρωσία zh_TW Παραδοσιακά Κινέζικα - Ταϊβάν Κωδικοποιήσεις encodings ASCII Κάποιες γλώσσες χρησιμοποιούν κωδικοποιήσεις που δεν είναι ASCII, αλλά περιέχουν χαρακτήρες 8-bit, wide, ή multibyte (δείτε τη σελίδα manual &man.multibyte.3; για περισσότερες πληροφορίες). Οι πιο καινούριες εφαρμογές συνήθως αναγνωρίζουν τους χαρακτήρες 8-bit. Ανάλογα με την υλοποίηση, οι χρήστες μπορεί να χρειάζεται να μεταγλωττίσουν μια εφαρμογή με υποστήριξη χαρακτήρων wide ή multibyte, ή να προσαρμόσουν τις ρυθμίσεις του προγράμματος. Για να έχετε την ικανότητα να εισάγετε και να επεξεργάζεστε χαρακτήρες multibyte, η Συλλογή των Ports του &os; διαθέτει προγράμματα για κάθε γλώσσα. Δείτε την τεκμηρίωση για το I18N στο αντίστοιχο Port του &os;. Ειδικότερα, ο χρήστης χρειάζεται να διαβάσει την τεκμηρίωση της εφαρμογής, για να αποφασίσει πως πρέπει να τη ρυθμίσει σωστά ή πως να περάσει τις σωστές τιμές στο configure, το Makefile ή τον μεταγλωττιστή. Θα πρέπει να έχετε κατά νου κάποια πράγματα: Σετ χαρακτήρων που εξαρτώνται από τη γλώσσα (single C chars character set, δείτε την &man.multibyte.3;), π.χ. ISO8859-1, ISO8859-15, KOI8-R, CP437. Κωδικοποιήσεις Wide ή multibyte, π.χ. EUC, Big5. Μπορείτε να δείτε την ενεργή λίστα των σετ χαρακτήρων στο Μητρώο IANA. Το &os; χρησιμοποιεί για τις τοπικές ρυθμίσεις κωδικοποιήσεις συμβατές με το X11. Εφαρμογές I18N Στο σύστημα πακέτων και ports του &os;, οι εφαρμογές που σχετίζονται με το I18N έχουν στο όνομα τους τη λέξη I18N ώστε να αναγνωρίζονται εύκολα. Ωστόσο, μπορεί να μην υποστηρίζουν πάντοτε τη γλώσσα που χρειάζεστε. Τοπικές Ρυθμίσεις Είναι συνήθως αρκετό να γίνει export η τιμή με την ονομασία της επιθυμητής τοπικής ρύθμισης, μέσω της μεταβλητής περιβάλλοντος LANG στο κέλυφος εισόδου. Αυτό μπορεί να γίνει στο αρχείο ~/.login_conf του χρήστη, ή στο αρχείο εκκίνησης του κελύφους του χρήστη (~/.profile, ~/.bashrc, ~/.cshrc). Δεν είναι ανάγκη να θέσετε και τις υπόλοιπες μεταβλητές των τοπικών ρυθμίσεων, όπως οι LC_CTYPE, LC_CTIME. Για περισσότερες πληροφορίες, διαβάστε την τεκμηρίωση του &os; που σχετίζεται με την υποστήριξη της επιθυμητής γλώσσας. Θα πρέπει να θέσετε τις δύο παρακάτω μεταβλητές περιβάλλοντος, στα αρχεία ρυθμίσεων: POSIX Την LANG για λειτουργίες που ανήκουν στην οικογένεια &posix; &man.setlocale.3; MIME Την MM_CHARSET για το σύνολο χαρακτήρων MIME των εφαρμογών. Το παραπάνω περιλαμβάνει την ρύθμιση του κελύφους χρήστη, την ρύθμιση για μια συγκεκριμένη εφαρμογή, και τη ρύθμιση για τα X11. Μέθοδοι Αλλαγής Τοπικών Ρυθμίσεων locale login class Υπάρχουν δύο μέθοδοι για την αλλαγή των τοπικών ρυθμίσεων, τις οποίες και περιγράφουμε παρακάτω. Η πρώτη (την οποία και συνιστούμε) υλοποιείται θέτοντας τιμές στις μεταβλητές περιβάλλοντος στο login class, και η δεύτερη αλλάζοντας τις τιμές των μεταβλητών περιβάλλοντος στο αρχείο εκκίνησης του κελύφους του χρήστη. Μέθοδος Κλάσεων Εισόδου (Login Class) Η μέθοδος αυτή επιτρέπει να γίνει η ρύθμιση των μεταβλητών περιβάλλοντος μια φορά για κάθε κέλυφος, αντί να χρειάζεται να τεθούν συγκεκριμένες τιμές στο αρχείο εκκίνησης του καθενός χωριστά. Οι Ρυθμίσεις σε Επίπεδο Χρήστη μπορούν να γίνουν από τον ίδιο το χρήστη, ενώ οι Ρυθμίσεις σε Επίπεδο Διαχειριστή απαιτούν προνόμια υπερχρήστη. Ρυθμίσεις σε Επίπεδο Χρήστη Το παρακάτω απλό παράδειγμα, δείχνει ένα αρχείο .login_conf στον κατάλογο κάποιου χρήστη στο οποίο και οι δύο μεταβλητές έχουν τεθεί για κωδικοποίηση Latin-1: me:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1: Traditional ChineseBIG-5 encoding Παρακάτω βλέπετε ένα .login_conf στο οποίο οι μεταβλητές έχουν τεθεί για Παραδοσιακά Κινέζικα σε κωδικοποίηση BIG-5. Παρατηρήστε ότι έχουμε θέσει πολύ περισσότερες μεταβλητές, καθώς κάποιες εφαρμογές δεν σέβονται σωστά τις μεταβλητές για Κινέζικα, Γιαπωνέζικα και Κορεάτικα. #Users who do not wish to use monetary units or time formats #of Taiwan can manually change each variable me:\ :lang=zh_TW.Big5:\ - :setenv=LC_ALL=zh_TW.Big:\ + :setenv=LC_ALL=zh_TW.Big5:\ :setenv=LC_COLLATE=zh_TW.Big5:\ :setenv=LC_CTYPE=zh_TW.Big5:\ :setenv=LC_MESSAGES=zh_TW.Big5:\ :setenv=LC_MONETARY=zh_TW.Big5:\ :setenv=LC_NUMERIC=zh_TW.Big5:\ :setenv=LC_TIME=zh_TW.Big5:\ :charset=big5:\ :xmodifiers="@im=gcin": #Set gcin as the XIM Input Server Για περισσότερες πληροφορίες, δείτε τις Ρυθμίσεις σε Επίπεδο Διαχειριστή και την &man.login.conf.5;. Ρυθμίσεις σε Επίπεδο Διαχειριστή Βεβαιωθείτε ότι έχει οριστεί η σωστή γλώσσα στην κλάση του χρήστη, στο αρχείο /etc/login.conf. Στο αρχείο αυτό θα πρέπει να υπάρχουν οι παρακάτω ρυθμίσεις: language_name|Account Type Description:\ :charset=MIME_charset:\ :lang=locale_name:\ :tc=default: Με βάση το προηγούμενο παράδειγμα μας που χρησιμοποιήσαμε Latin-1, το αρχείο θα μοιάζει με το παρακάτω: german|German Users Accounts:\ :charset=ISO-8859-1:\ :lang=de_DE.ISO8859-1:\ :tc=default: Πριν κάνετε αλλαγές στις Κλάσεις Εισόδου (Login Classes) των χρηστών, εκτελέστε την παρακάτω εντολή: &prompt.root; cap_mkdb /etc/login.conf ώστε να ενεργοποιηθούν στο σύστημα οι αλλαγές που κάνατε στο /etc/login.conf. Αλλαγή Κλάσεων Εισόδου μέσω της &man.vipw.8; vipw Χρησιμοποιήστε την vipw για να προσθέσετε νέους χρήστες, και κάντε την καταχώριση να μοιάζει με την παρακάτω: user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh Αλλαγή Κλάσεων Εισόδου μέσω της &man.adduser.8; adduser login class Χρησιμοποιήστε την adduser για να προσθέσετε νέους χρήστες, και έπειτα ακολουθήστε τις παρακάτω οδηγίες: Θέστε το defaultclass = language στο /etc/adduser.conf. Να έχετε υπόψη σας ότι σε αυτή την περίπτωση, θα πρέπει να ορίσετε μια κλάση default για όλους τους χρήστες άλλων γλωσσών. Μια εναλλακτική λύση, είναι να απαντάτε κάθε φορά στην ερώτηση Enter login class: default []: που εμφανίζεται από την &man.adduser.8;. Ακόμα μια εναλλακτική λύση, είναι να χρησιμοποιήσετε το παρακάτω σε κάθε χρήστη που θέλετε να προσθέσετε και ο οποίος χρησιμοποιεί διαφορετική γλώσσα: &prompt.root; adduser -class language Αλλαγή Κλάσεων Εισόδου μέσω της &man.pw.8; pw Αν χρησιμοποιείτε την &man.pw.8; για να προσθέσετε νέους χρήστες, καλέστε την με τον παρακάτω τρόπο: &prompt.root; pw useradd user_name -L language Μέθοδος Αρχείων Εκκίνησης Κελύφους Η μέθοδος αυτή δεν συνίσταται, καθώς απαιτεί διαφορετικές ρυθμίσεις για κάθε διαφορετικό πρόγραμμα κελύφους που χρησιμοποιείται. Προτιμήστε καλύτερα την μέθοδο των Κλάσεων Εισόδου. MIME locale Για να προσθέσετε τις τοπικές ρυθμίσεις και το σετ χαρακτήρων MIME, ρυθμίστε απλώς τις δύο μεταβλητές περιβάλλοντος που φαίνονται παρακάτω στο αρχείο /etc/profile ή/και στο /etc/csh.login. Θα χρησιμοποιήσουμε τα Γερμανικά ως γλώσσα για το παρακάτω παράδειγμα: Στο /etc/profile: LANG=de_DE.ISO8859-1; export LANG MM_CHARSET=ISO-8859-1; export MM_CHARSET Ή στο /etc/csh.login: setenv LANG de_DE.ISO8859-1 setenv MM_CHARSET ISO-8859-1 Εναλλακτικά, μπορείτε να προσθέσετε τις παραπάνω οδηγίες στο /usr/share/skel/dot.profile (αντίστοιχα με τις οδηγίες για το /etc/profile που είδαμε παραπάνω), ή στο /usr/share/skel/dot.login (αντίστοιχα με τις οδηγίες για το /etc/csh.login που είδαμε επίσης παραπάνω). Για το X11: Στο $HOME/.xinitrc: LANG=de_DE.ISO8859-1; export LANG Ή: setenv LANG de_DE.ISO8859-1 Ανάλογα με το κέλυφος που χρησιμοποιείτε (δείτε παραπάνω). Ρυθμίσεις για την Κονσόλα Για όλα τα single C σετ χαρακτήρων, μπορείτε να θέσετε τις γραμματοσειρές της κονσόλας στο /etc/rc.conf για την επιθυμητή γλώσσα, γράφοντας: font8x16=font_name font8x14=font_name font8x8=font_name Το font_name εδώ προκύπτει από το αντίστοιχο αρχείο του καταλόγου /usr/share/syscons/fonts, αφαιρώντας την κατάληξη .fnt. sysinstall keymap screenmap Αν χρειάζεται, χρησιμοποιήστε την κατάλληλη αντιστοίχηση πληκτρολογίου (keymap) και οθόνης για το σετ χαρακτήρων single C που χρησιμοποιείτε, μέσω του sysinstall. Μόλις εκτελέσετε το sysinstall, επιλέξτε το Configure, και έπειτα το Console. Εναλλακτικά, μπορείτε να προσθέσετε το παρακάτω στο /etc/rc.conf: scrnmap=screenmap_name keymap=keymap_name keychange="fkey_number sequence" Στην περίπτωση αυτή, το screenmap_name προέρχεται από ένα αρχείο του καταλόγου /usr/share/syscons/scrnmaps, χωρίς την κατάληξη .scm. Η αντιστοίχηση οθόνης μαζί με την αντίστοιχη γραμματοσειρά, χρησιμοποιείται συνήθως για την επέκταση του 8ου bit στο 9o, για κάρτες VGA που χρησιμοποιούν μήτρα χαρακτήρων με 8 στήλες. Αν έχετε ενεργοποιημένο τον δαίμονα moused στο αρχείο /etc/rc.conf: moused_enable="YES" καλό θα είναι να εξετάσετε τις πληροφορίες σχετικά με τον δρομέα του ποντικιού που εμφανίζονται στην παρακάτω παράγραφο. moused Ο προεπιλεγμένος δρομέας του ποντικιού που χρησιμοποιείται από το πρόγραμμα οδήγησης &man.syscons.4;, καταλαμβάνει τις θέσεις 0xd0-0xd3 του συνόλου χαρακτήρων. Αν αυτή η περιοχή χαρακτήρων δεν είναι διαθέσιμη στη γλώσσα που χρησιμοποιείτε, θα πρέπει να μετακινήσετε την περιοχή του δρομέα έξω από αυτήν. Για να γίνει αυτό στο &os;, προσθέστε την ακόλουθη γραμμή στο /etc/rc.conf: mousechar_start=3 Το keymap_name προέρχεται από ένα αρχείο του καταλόγου /usr/share/syscons/keymaps, χωρίς την κατάληξη .kbd. Αν δεν είστε σίγουρος για την αντιστοίχηση πληκτρολογίου που χρειάζεται να χρησιμοποιήσετε, μπορείτε να χρησιμοποιήσετε το &man.kbdmap.1; για να κάνετε δοκιμές σε διάφορες αντιστοιχίσεις, χωρίς να χρειάζεται να κάνετε επανεκκίνηση. Η λειτουργία keychange χρησιμοποιείται συνήθως για τον προγραμματισμό των πλήκτρων λειτουργιών (function keys), ώστε να ταιριάζουν με τον επιλεγμένο τύπο τερματικού, καθώς οι ακολουθίες των πλήκτρων λειτουργιών δεν μπορούν να καθοριστούν στις αντιστοιχίσεις πληκτρολογίου. Βεβαιωθείτε επίσης ότι έχετε ρυθμίσει το σωστό τύπου τερματικού στο /etc/ttys για όλες τις καταχωρίσεις ttyv*. Τη δεδομένη στιγμή, οι προκαθορισμένες αντιστοιχίες είναι: Σετ Χαρακτήρων Τύπος Τερματικού ISO8859-1 ή ISO8859-15 cons25l1 ISO8859-2 cons25l2 ISO8859-7 cons25l7 KOI8-R cons25r KOI8-U cons25u CP437 (προεπιλεγμένο VGA) cons25 US-ASCII cons25w Για γλώσσες με χαρακτήρες wide ή multibyte, χρησιμοποιήστε το σωστό &os; port στον κατάλογο /usr/ports/language. Μερικές θύρες εμφανίζονται ως κονσόλα, ενώ το σύστημα τις βλέπει ως σειριακά vtty, και έτσι πρέπει να παρακρατήσετε αρκετά vtty, τόσο για το X11 όσο και για την ψευτό-σειριακή κονσόλα. Παρακάτω θα βρείτε μια μερικώς ενημερωμένη λίστα για χρήση άλλων γλωσσών στην κονσόλα: Γλώσσα Τοποθεσία Παραδοσιακά Κινέζικα (BIG-5) chinese/big5con Γιαπωνέζικα japanese/kon2-16dot ή japanese/mule-freewnn Κορεάτικα korean/han Ρύθμιση του X11 Αν και το X11 δεν είναι μέρος του &os; Project, θα δώσουμε εδώ κάποιες χρήσιμες πληροφορίες για όσους το χρησιμοποιούν στο &os;. Για περισσότερες πληροφορίες, δείτε την δικτυακή τοποθεσία του &xorg;, ή του εξυπηρετητή X11 που πρόκειται να χρησιμοποιήσετε. Στο αρχείο ~/.Xresources, μπορείτε επιπρόσθετα να αλλάξετε και άλλες ρυθμίσεις που σχετίζονται με το I18N (π.χ. γραμματοσειρές, μενού, κ.λ.π.). Απεικόνιση Γραμματοσειρών X11 True Type font server Εγκαταστήστε τον εξυπηρετητή &xorg; (x11-servers/xorg-server) ή τον εξυπηρετητή &xfree86; (x11-servers/XFree86-4-Server), και έπειτα εγκαταστήστε τις γραμματοσειρές &truetype; για την επιθυμητή γλώσσα. Με τις σωστές τοπικές ρυθμίσεις, θα μπορείτε να δείτε την επιλεγμένη γλώσσα στα μενού και τα μηνύματα του γραφικού περιβάλλοντος. Εισαγωγή μη-Αγγλικών Χαρακτήρων X11 Input Method (XIM) Η μέθοδος εισόδου X11 (XIM, X11 Input Method), είναι ένα νέο πρότυπο για όλους τους πελάτες X11. Όλες οι εφαρμογές του X11 θα πρέπει να γράφονται ως πελάτες του XIM, και να λαμβάνουν είσοδο από εξυπηρετητές εισόδου XIM. Υπάρχουν διαθέσιμοι διάφοροι εξυπηρετητές XIM, για διαφορετικές γλώσσες. Ρύθμιση Εκτυπωτή Κάποια σετ χαρακτήρων single C είναι συνήθως ενσωματωμένα στο ίδιο το υλικό των εκτυπωτών. Τα σετ χαρακτήρων τύπου wide ή multibyte απαιτούν ειδικές ρυθμίσεις, και συνιστούμε να χρησιμοποιήσετε το apsfilter. Μπορείτε επίσης να μετατρέψετε το έγγραφο σας σε &postscript; ή PDF, χρησιμοποιώντας εργαλεία ειδικά φτιαγμένα για τη συγκεκριμένη γλώσσα. Πυρήνας και Συστήματα Αρχείων Το σύστημα αρχείων FFS (fast filesystem) του &os; μπορεί να διαχειριστεί ονόματα αρχείων που ανήκουν σε σετ single C (είναι 8-bit clean, δείτε και το &man.multibyte.3;), αλλά δεν αποθηκεύει το σετ χαρακτήρων που χρησιμοποιείται. Με άλλα λόγια, είναι 8-bit αλλά δεν γνωρίζει τίποτα για την κωδικοποίηση των χαρακτήρων. Επίσημα, το FFS δεν υποστηρίζει ακόμα σετ χαρακτήρων wide ή multibyte. Υπάρχουν ωστόσο κάποια ανεξάρτητα patches για το FFS που υποστηρίζουν αυτές τις δυνατότητες. Πρόκειται μόνο για προσωρινές και μη μεταφέρσιμες λύσεις ή hacks, και έχουμε αποφασίσει να μην τα περιλάβουμε στο κεντρικό δέντρο πηγαίου κώδικα. Δείτε τις ιστοσελίδες των αντίστοιχων γλωσσών για περισσότερες πληροφορίες και για να ανακτήσετε τα απαραίτητα αρχεία. DOS Unicode Το σύστημα αρχείων &ms-dos; στο &os; έχει την δυνατότητα να ρυθμιστεί ώστε να μετατρέπει μεταξύ των σετ χαρακτήρων Unicode, του &ms-dos;, και του σετ χαρακτήρων που έχει επιλεγεί για το σύστημα αρχείων του &os;. Για περισσότερες λεπτομέρειες, δείτε τη σελίδα manual &man.mount.msdosfs.8;. Μεταγλώττιση Προγραμμάτων I18N Πολλά ports του &os; διαθέτουν υποστήριξη I18N. Σε μερικά από αυτά, το -I18N είναι μέρος του ονόματος τους. Τα προγράμματα αυτά, και πολλά περισσότερα, έχουν ενσωματωμένη υποστήριξη για I18N και δεν χρειάζονται άλλες ειδικές ρυθμίσεις. MySQL Ωστόσο, σε κάποιες εφαρμογές όπως η MySQL, θα πρέπει να ρυθμιστεί το Makefile με το επιθυμητό σετ χαρακτήρων. Αυτό συνήθως γίνεται περνώντας μια τιμή στο configure στον πηγαίο κώδικα, ή αλλάζοντας το ίδιο το Makefile. Τοπικές Ρυθμίσεις για Συγκεκριμένες Γλώσσες Andrey Chernov Αρχική συνεισφορά του Ρώσικη Γλώσσα (Κωδικοποίηση KOI8-R) localization Russian Για περισσότερες πληροφορίες σχετικά με την κωδικοποίηση KOI8-R, δείτε τις Αναφορές Σχετικά με το Σετ Χαρακτήρων KOIR-8 (Ρωσικό Σύνολο Χαρακτήρων). Τοπικές Ρυθμίσεις Τοποθετήστε τις ακόλουθες γραμμές στο αρχείο σας ~/.login_conf: me:My Account:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R: Για παραδείγματα που σχετίζονται με τις Τοπικές Ρυθμίσεις, δείτε προηγούμενες ενότητες σε αυτό το κεφάλαιο. Ρύθμιση Κονσόλας Προσθέστε την ακόλουθη γραμμή στο αρχείο /etc/rc.conf: mousechar_start=3 Χρησιμοποιήστε επίσης τις παρακάτω ρυθμίσεις στο /etc/rc.conf: keymap="ru.koi8-r" scrnmap="koi8-r2cp866" font8x16="cp866b-8x16" font8x14="cp866-8x14" font8x8="cp866-8x8" Για κάθε καταχώριση ttyv* στο αρχείο /etc/ttys, χρησιμοποιήστε το cons25r ως τύπο τερματικού. Για παραδείγματα που σχετίζονται με την ρύθμιση της κονσόλας, δείτε προηγούμενες ενότητες αυτού του κεφαλαίου. Ρύθμιση Εκτυπωτή printers Καθώς οι περισσότεροι εκτυπωτές που διαθέτουν Ρωσικούς χαρακτήρες έχουν ενσωματωμένη την κωδικοσελίδα CP866, θα χρειαστείτε ειδικό φίλτρο εξόδου για να μετατρέψετε από το KOI8-R στο CP866. Το φίλτρο αυτό εγκαθίσταται από προεπιλογή στο /usr/libexec/lpr/ru/koi2alt. Η καταχώριση για ένα Ρώσικο εκτυπωτή στο /etc/printcap θα μοιάζει με την παρακάτω: lp|Russian local line printer:\ :sh:of=/usr/libexec/lpr/ru/koi2alt:\ :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs: Δείτε το &man.printcap.5; για πιο λεπτομερή περιγραφή. Σύστημα Αρχείων &ms-dos; και Ρώσικα Ονόματα Αρχείων Το παρακάτω υπόδειγμα καταχώρισης στο &man.fstab.5; ενεργοποιεί την υποστήριξη για Ρώσικα ονόματα αρχείων σε προσαρτημένα συστήματα αρχείων τύπου &ms-dos;: /dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0 Η επιλογή επιλέγει τις τοπικές ρυθμίσεις που θα χρησιμοποιηθούν, και η ορίζει τον πίνακα μετατροπής χαρακτήρων. Για να χρησιμοποιήσετε την επιλογή βεβαιωθείτε ότι έχετε προσαρτήσει την κατάτμηση /usr πριν την κατάτμηση &ms-dos;, καθώς οι πίνακες μετατροπής βρίσκονται στο /usr/libdata/msdosfs. Για περισσότερες πληροφορίες, δείτε τη σελίδα manual του &man.mount.msdosfs.8;. Ρύθμιση X11 Εκτελέστε πρώτα τις γενικές τοπικές ρυθμίσεις που έχουμε ήδη περιγράψει. Αν χρησιμοποιείτε τον εξυπηρετητή &xorg;, εγκαταστήστε το πακέτο x11-fonts/xorg-fonts-cyrillic. Ελέγξτε την ενότητα "Files" στο αρχείο /etc/X11/xorg.conf. Θα πρέπει να προσθέσετε την παρακάτω γραμμή πριν από οποιαδήποτε άλλη καταχώριση FontPath: FontPath "/usr/local/lib/X11/fonts/cyrillic" Δείτε στην Συλλογή των Ports για περισσότερες κυριλλικές γραμματοσειρές. Για την ενεργοποίηση του Ρωσικού πληκτρολογίου, προσθέστε τις παρακάτω γραμμές στην ενότητα "Keyboard" του αρχείου xorg.conf: Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:toggle" Βεβαιωθείτε επίσης ότι η γραμμή XkbDisable είναι ανενεργή (μαρκαρισμένη ως σχόλιο). Αν χρησιμοποιήσετε το grp:toggle η εναλλαγή RUS/LAT θα γίνεται με το Δεξιό Alt, ενώ αν θέσετε grp:ctrl_shift_toggle, η εναλλαγή θα γίνεται με το CtrlShift. Για grp:caps_toggle, η εναλλαγή RUS/LAT θα γίνεται με το CapsLock. Η κανονική λειτουργία του CapsLock εξακολουθεί να είναι διαθέσιμη μέσω του συνδυασμού πλήκτρων ShiftCapsLock (μόνο σε κατάσταση LAT). Το grp:caps_toggle για κάποιο άγνωστο λόγο, δεν λειτουργεί στο &xorg;. Αν το πληκτρολόγιο σας διαθέτει πλήκτρα &windows;, και έχετε παρατηρήσει ότι κάποια από τα μη-αλφαριθμητικά πλήκτρα έχουν λάθος αντιστοίχηση όταν είστε σε κατάσταση RUS, προσθέστε την παρακάτω γραμμή στο αρχείο xorg.conf: Option "XkbVariant" ",winkeys" Το Ρώσικο XKB πληκτρολόγιο ίσως δεν λειτουργεί με εφαρμογές που δεν έχουν φτιαχτεί για τις αντίστοιχες τοπικές ρυθμίσεις. Οι εφαρμογές που τηρούν τις ελάχιστες προδιαγραφές τοπικών ρυθμίσεων, θα πρέπει να καλούν από νωρίς τη συνάρτηση XtSetLanguageProc (NULL, NULL, NULL); μέσα στον κώδικα τους. Δείτε το KOI8-R για το σύστημα X Window για περισσότερες οδηγίες σχετικά με την δημιουργία εφαρμογών X11 που να χρησιμοποιούν τοπικές ρυθμίσεις. Τοπικές Ρυθμίσεις για Παραδοσιακά Κινέζικα Ταϊβάν localization Traditional Chinese Το &os;-Taiwan Project έχει δημιουργήσει ένα HOWTO για τα Κινέζικα στο &os;, το οποίο μπορείτε να βρείτε στη διεύθυνση , χρησιμοποιώντας πολλά Κινέζικα ports. Ο τρέχων συντάκτης του Κινέζικου &os; Howto είναι ο Shen Chuan-Hsing statue@freebsd.sinica.edu.tw. Ο Chuan-Hsing Shen statue@freebsd.sinica.edu.tw έχει δημιουργήσει την Κινέζικη Συλλογή &os; (CFC) χρησιμοποιώντας την κωδικοποίηση zh-L10N-tut του &os;-Ταΐβάν. Τα πακέτα και τα scripts διατίθενται στη διεύθυνση . Τοπικές Ρυθμίσεις για την Γερμανική Γλώσσα (για Όλες τις Γλώσσες που Βασίζονται στο ISO 8859-1) localization German Ο Slaven Rezic eserte@cs.tu-berlin.de έχει γράψει ένα οδηγό για την χρήση των umlauts σε ένα μηχάνημα &os;. Ο οδηγός είναι γραμμένος στα Γερμανικά και διατίθεται στην τοποθεσία . Τοπικές Ρυθμίσεις για την Ελληνική Γλώσσα localization Greek Ο &a.el.kokkalis; έχει γράψει ένα πλήρες άρθρο για την υποστήριξη της Ελληνικής γλώσσας στο &os;. Το άρθρο αυτό διατίθεται ως μέρος της επίσημης Ελληνικής τεκμηρίωσης του &os;, στην τοποθεσία http://www.freebsd.org/doc/el_GR.ISO8859-7/artilces/greek-language-support/index.html. Τοπικές Ρυθμίσεις Για Γιαπωνέζικα και Κορεάτικα localization Japanese localization Korean Για Γιαπωνέζικα, δείτε στην τοποθεσία , ενώ για Κορεάτικα, δείτε στην τοποθεσία . Τεκμηρίωση του &os; σε Γλώσσες Εκτός της Αγγλικής Κάποιοι εθελοντές του &os; έχουν μεταφράσει τμήματα της τεκμηρίωσης του σε άλλες γλώσσες. Οι μεταφράσεις αυτές διατίθενται μέσω συνδέσμων στην κύρια δικτυακή τοποθεσία του &os; ή στον κατάλογο /usr/share/doc. diff --git a/el_GR.ISO8859-7/books/handbook/mirrors/chapter.sgml b/el_GR.ISO8859-7/books/handbook/mirrors/chapter.sgml index 49762e6787..4aedbcc0c6 100644 --- a/el_GR.ISO8859-7/books/handbook/mirrors/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/mirrors/chapter.sgml @@ -1,3367 +1,3367 @@ Που θα Βρείτε το &os; Εκδόσεις σε CDROM και DVD Retail Εκδόσεις Το &os; είναι διαθέσιμο ως εμπορικό προϊόν (&os; CD, επιπρόσθετο λογισμικό, και τυπωμένη τεκμηρίωση) από διάφορους προμηθευτές:
CompUSA WWW:
Frys Electronics WWW:
CD και DVD διανομές Το &os; είναι διαθέσιμο σε CD και DVD για αγορά μέσω διαδικτύου από τους παρακάτω προμηθευτές:
&os; Mall, Inc. 700 Harvest Park Ste F Brentwood, CA 94513 USA Τηλέφωνο: +1 925 674-0783 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Τηλέφωνο: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
JMC Software Ireland Τηλέφωνο: 353 1 6291282 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Τηλέφωνο: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Τηλέφωνο: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Τηλέφωνο: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Kz Ust-Kamenogorsk Kazakhstan Τηλέφωνο: +7-705-501-6001 Email: info@linuxcenter.kz WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Τηλέφωνο: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Διανομείς Αν είστε μεταπωλητής και μπορείτε να διανείμετε σε CD-ROM προϊόντα βασισμένα στο &os;, παρακαλούμε επικοινωνήστε με κάποιον από τους διανομείς:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Τηλέφωνο: +1 650 694-4949 Fax: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Τηλέφωνο: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Τηλέφωνο: +1 952 947-0822 Fax: +1 952 947-0876 Email: sales@kudzuenterprises.com
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Τηλέφωνο: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Τηλέφωνο: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
Εξυπηρετητές FTP Οι επίσημες εκδόσεις του &os; είναι διαθέσιμες μέσω ανώνυμης FTP σύνδεσης από διάφορους εξυπηρετητές FTP σε όλο τον κόσμο. Ο κεντρικός εξυπηρετητής έχει πολύ καλή σύνδεση με τον υπόλοιπο κόσμο, και επιτρέπει ένα μεγάλο αριθμό ταυτόχρονων συνδέσεων. Ακόμα κι έτσι όμως, είναι μάλλον καλή ιδέα να βρείτε κάποιο εξυπηρετητή FTP που είναι πιο κοντά σας (ειδικά αν θέλετε να στήσετε κάποιο τοπικό mirror site). Η βάση των mirror sites του &os; είναι πιο ενημερωμένη και έγκυρη από την αντίστοιχη λίστα στο Εγχειρίδιο του &os;, κυρίως επειδή παίρνει τις πληροφορίες της από το DNS κι όχι από μια στατική λίστα από ονόματα εξυπηρετητών. Το &os; είναι επίσης διαθέσιμο μέσω σύνδεσης ανώνυμου FTP από τα παρακάτω mirror sites. Αν επιλέξετε να κατεβάσετε το &os; μέσω ανώνυμου FTP, σας παρακαλούμε να διαλέξετε κάποιο εξυπηρετητή ο οποίος είναι κοντά σας. Τα mirror sites που αναφέρονται ως Κύρια Mirror Sites έχουν συνήθως την πλήρη συλλογή αρχείων του &os; (όλες τις διαθέσιμες εκδόσεις, για κάθε διαθέσιμη αρχιτεκτονική συστήματος), αλλά είναι πιθανόν να πετύχετε καλύτερες ταχύτητες εξυπηρέτησης με κάποιο εξυπηρετητή που είναι στη δική σας χώρα ή περιοχή. Τα τοπικά sites έχουν συνήθως τις πιο πρόσφατες εκδόσεις για τις πιο δημοφιλείς αρχιτεκτονικές συστήματος, οπότε μπορεί να μην έχουν όλες τις πιθανές εκδόσεις του &os;. Όλα τα sites δέχονται συνδέσεις μέσω ανώνυμου FTP. Μερικά από αυτά μπορεί να υποστηρίζουν και άλλης μορφής συνδέσεις. Οι εναλλακτικές μορφές σύνδεσης αναφέρονται ξεχωριστά για κάθε site παρακάτω: &chap.mirrors.ftp.inc; BitTorrent BitTorrent Μπορείτε να ανακτήσετε τα βασικά αρχεία ISO των εκδόσεων του &os;, μέσω του συστήματος BitTorrent. Στην τοποθεσία http://torrents.freebsd.org:8080 υπάρχει μια πλήρης συλλογή από αρχεία torrent που μπορείτε να κατεβάσετε. Για να χρησιμοποιήσετε τα αρχεία torrent, θα χρειαστείτε κατάλληλο λογισμικό-πελάτη, όπως αυτό που παρέχεται από το port ή πακέτο net-p2p/py-bittorrent. Αφού κατεβάσετε το αρχείο ISO με το BitTorrent, μπορείτε να το γράψετε σε CD ή DVD, όπως περιγράφεται στο (burncd). Ανώνυμο CVS <anchor id="anoncvs-intro">Εισαγωγή CVS anonymous Η σύνδεση ανώνυμου CVS (ή anoncvs όπως λέγεται μερικές φορές) υποστηρίζεται από τα εργαλεία CVS που διανέμονται με το ίδιο το &os; για συγχρονισμό τοπικών αρχείων με ένα απομακρυσμένο repository. Ένα από τα χαρακτηριστικά του CVS είναι ότι επιτρέπει στους χρήστες του &os; να συγχρονίζουν, χωρίς ιδιαίτερα δικαιώματα χρήστη, τα τοπικά αντίγραφα πηγαίου κώδικα που έχουν με τους κεντρικούς, επίσημους εξυπηρετητές CVS του &os; project. Για να χρησιμοποιήσει κανείς το CVS αρκεί: (α) να ορίσει την τιμή της μεταβλητής περιβάλλοντος CVSROOT έτσι ώστε να δείχνει προς έναν από τους επίσημους εξυπηρετητές, και (β) να δώσει τον κωδικό anoncvs στην προτροπή της εντολής cvs login. Τότε μπορεί να χρησιμοποιήσει το εργαλείο &man.cvs.1; για να προσπελάσει το απομακρυσμένο CVS repository του &os; σαν ένα οποιοδήποτε τοπικό repository. Η εντολή cvs login αποθηκεύει τους κωδικούς που χρησιμοποιούνται για πιστοποίησης της ταυτότητάς σας στον εξυπηρετητή CVS σε ένα αρχείο με όνομα .cvspass στον HOME κατάλογο του τοπικού σας λογαριασμού. Αν αυτό το αρχείο δεν υπάρχει ήδη, μπορεί να αποτύχει η εντολή cvs login την πρώτη φορά. Μπορείτε απλά να δημιουργήσετε ένα άδειο αρχείο .cvspass και να ξανατρέξετε την εντολή cvs login. Μπορεί να πει κανείς ότι το CVSup και το anoncvs είναι ουσιαστικά παρόμοιοι τρόποι συγχρονισμού αρχείων και υποστηρίζουν την ίδια λειτουργικότητα, αλλά υπάρχουν κάποιες διαφορές οι οποίες μπορεί να παίξουν σημαντικό ρόλο στην επιλογή μεταξύ αυτών των δύο μεθόδων. Γενικά, το CVSup κάνει πολύ πιο αποδοτική χρήση της σύνδεσης που έχετε και χρησιμοποιεί ένα πολύ πιο έξυπνο πρωτόκολλο επικοινωνίας, αλλά υπάρχει και το αντίστοιχο τίμημα. Για να χρησιμοποιήσετε το CVSup πρέπει να εγκαταστήσετε και να ρυθμίσετε ένα ειδικό πρόγραμμα πελάτη, και τότε μπορείτε να συγχρονίσετε μόνο μεγάλες συλλογές αρχείων — τις οποίες το CVSup αποκαλεί συλλογές (collections). Το anoncvs, από την άλλη, μπορεί να χρησιμοποιηθεί για να εξετάσει κανείς τις αλλαγές ενός και μόνο αρχείου ή ενός μόνο προγράμματος και των συνοδευτικών του αρχείων (π.χ. τον πηγαίο κώδικα της εντολής ls ή της grep), με χρήση του ονόματος του κατάλληλου module. Το anoncvs είναι πιο βολικό για εργασίες που απαιτούν βέβαια μόνο ανάγνωση. Οπότε, αν θέλετε να υποστηρίξετε την ανάπτυξη προγραμμάτων τοπικά, το CVSup είναι μάλλον μονόδρομος. <anchor id="anoncvs-usage">Χρησιμοποιώντας Ανώνυμο CVS Η ρύθμιση του &man.cvs.1; ώστε να χρησιμοποιεί ένα ανώνυμο CVS repository γίνεται απλώς ρυθμίζοντας την μεταβλητή περιβάλλοντος CVSROOT ώστε να δείχνει σε έναν από τους anoncvs εξυπηρετητές του &os; project. Την ώρα που γράφονται αυτές οι γραμμές, είναι διαθέσιμοι οι ακόλουθοι εξυπηρετητές: Γαλλία: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (κωδικός anoncvs), ssh (χωρίς κωδικό)) Ιαπωνία: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Χρησιμοποιήστε την εντολή cvs login και δώστε τον κωδικό anoncvs όταν σας ζητηθεί.) Ταΐβάν: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (για τον pserver χρησιμοποιήστε την εντολή cvs login και δώστε οτιδήποτε για κωδικό όταν σας ζητηθεί, το ssh δεν έχει κωδικό.) SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub Ηνωμένες Πολιτείες Αμερικής: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (μόνο ssh - χωρίς κωδικό) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub Ηνωμένες Πολιτείες Αμερικής: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (μόνο ssh2 - χωρίς κωδικό) SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub Καθώς το CVS σας επιτρέπει να κάνετε check out ουσιαστικά οποιαδήποτε έκδοση του πηγαίου κώδικα του &os; υπήρξε ποτέ (και σε ορισμένες περιπτώσεις ακόμα και εκδόσεις που δεν έχουν κυκλοφορήσει ακόμα), θα πρέπει να είστε εξοικειωμένος με την επιλογή του &man.cvs.1; με την οποία επιλέγεται το revision (πρόκειται για την ) και ποιες είναι οι επιτρεπτές τιμές της για το repository του &os; project. Υπάρχουν δύο είδη tags (ετικετών), τα revision tags (ετικέτες έκδοσης) και τα branch tags. Ένα revision tag αναφέρεται σε μια συγκεκριμένη έκδοση. Η έννοια του παραμένει σταθερή μέρα με τη μέρα. Από την άλλη, ένα branch tag δείχνει την τελευταία έκδοση μιας συγκεκριμένης πορείας ανάπτυξης, σε κάθε χρονική στιγμή. Καθώς το branch tag δεν αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί αύριο να σημαίνει κάτι διαφορετικό από ότι σημαίνει σήμερα. Το περιέχει revision tags τα οποία μπορεί να ενδιαφέρουν τους χρήστες. Υπενθυμίζουμε ότι κανένα από αυτά δεν είναι έγκυρο για την Συλλογή των Ports, καθώς αυτή δεν έχει πολλαπλές εκδόσεις (revisions). Όταν καθορίζετε κάποιο branch tag, φυσιολογικά λαμβάνετε τις τελευταίες εκδόσεις των αρχείων που υπάρχουν σε αυτή τη γραμμή ανάπτυξης. Αν θέλετε να λάβετε κάποια παλιότερη έκδοση, μπορείτε χρησιμοποιώντας την ημερομηνία σε συνδυασμό με την επιλογή . Δείτε τη σελίδα manual του &man.cvs.1; για περισσότερες λεπτομέρειες. Παραδείγματα Αν και πραγματικά συνίσταται να διαβάσετε προσεκτικά τη σελίδα manual του &man.cvs.1; πριν κάνετε οτιδήποτε, παρακάτω σας δίνουμε κάποια γρήγορα παραδείγματα τα οποία ουσιαστικά θα σας δείξουν πως να χρησιμοποιήσετε το Ανώνυμο CVS: Λήψη (Check out) Κάποιου Αρχείου από το -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για password. &prompt.user; cvs co ls Χρήση SSH για Λήψη (check out) του Δέντρου <filename>src/</filename>: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. Λήψη της Έκδοσης του Αρχείου &man.ls.1; από το 6-STABLE Branch: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για password. &prompt.user; cvs co -rRELENG_6 ls Δημιουργία μιας Λίστας Αλλαγών (ως Unified Diffs) της &man.ls.1;: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για password. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls Βρίσκοντας Ποια Άλλα Ονόματα Modules μπορούν να Χρησιμοποιηθούν: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για password. &prompt.user; cvs co modules &prompt.user; more modules/modules Άλλες Πηγές Πληροφοριών Οι παρακάτω πηγές πληροφοριών ίσως σας φανούν χρήσιμες για να μάθετε το CVS: CVS Tutorial από το California Polytechnic State + url="http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html">CVS Tutorial από το California Polytechnic State University. CVS Home, η ομάδα ανάπτυξης και υποστήριξης του CVS. CVSweb Διεπαφή Web για το CVS του &os; Project. Χρησιμοποιώντας το CTM CTM Το CTM είναι μια μέθοδος να διατηρούμε σε συγχρονισμό ένα απομακρυσμένο κατάλογο με ένα κεντρικό. Αναπτύχθηκε για χρήση με το δέντρο πηγαίου κώδικα του &os;, αν και άλλοι άνθρωποι μπορεί να το βρουν χρήσιμο και για διαφορετικούς σκοπούς καθώς περνάει ο καιρός. Τη δεδομένη στιγμή υπάρχει ελάχιστη ως ανύπαρκτη τεκμηρίωση για την διαδικασία δημιουργίας αρχείων διαφορών (deltas), και αν χρειάζεστε περισσότερες πληροφορίες, επικοινωνήστε με τη λίστα ταχυδρομείου &a.ctm-users.name; ειδικά αν θέλετε να χρησιμοποιήσετε το CTM για άλλες εφαρμογές. Γιατί Πρέπει να Χρησιμοποιήσω το <application>CTM</application>; Το CTM θα σας δώσει ένα τοπικό αντίγραφο του δέντρου πηγαίου κώδικα του &os;. Υπάρχει διαθέσιμος ένας αριθμός από γεύσεις του δέντρου. Το CTM μπορεί να σας παρέχει τις πληροφορίες που χρειάζεστε, είτε αποφασίσετε να παρακολουθείτε ολόκληρο το δέντρο, είτε κάποιο από τα παρακλάδια του. Αν ανήκετε στα ενεργά μέλη ανάπτυξης του &os; αλλά έχετε κακής ποιότητας (ή καθόλου) TCP/IP συνδεσιμότητα, ή απλά θέλετε οι αλλαγές να σας έρχονται αυτόματα, το CTM έχει φτιαχτεί για σας. Θα χρειαστεί να παίρνετε ως τρία deltas την ημέρα για τα κλαδιά του δέντρου που έχουν την πιο ενεργή ανάπτυξη. Θα πρέπει ωστόσο να θεωρήσετε ως καλύτερη λύση την αυτόματη αποστολή τους μέσω email. Τα μεγέθη των ανανεώσεων κρατούνται πάντα όσο το δυνατόν πιο μικρά. Συνήθως είναι μικρότερα από 5Κ, περιστασιακά (ένα στα δέκα) είναι από 10-50Κ και ορισμένες φορές εμφανίζονται και κάποια που είναι 100Κ ή και μεγαλύτερα. Θα πρέπει επίσης να εξοικειωθείτε με τις διάφορες παγίδες που σχετίζονται με την απευθείας εργασία στον υπό ανάπτυξη πηγαίο κώδικα σε σχέση με μια έτοιμη, προκατασκευασμένη έκδοση. Αυτό ισχύει ακόμα περισσότερο αν επιλέξετε να χρησιμοποιήσετε τον πηγαίο κώδικα από το current. Σας συνιστούμε να διαβάσετε πως να χρησιμοποιήσετε το current στο &os;. Τι Χρειάζομαι για να Χρησιμοποιήσω το <application>CTM</application>; Θα χρειαστείτε δύο πράγματα: Την εφαρμογή CTM και τις αρχικές αλλαγές (deltas) για να τις εισάγετε σε αυτήν (ώστε να φτάσετε στο επίπεδο του current). Το CTM είναι μέρος του &os; από την έκδοση 2.0, και βρίσκεται στον κατάλογο /usr/src/usr.sbin/ctm εφόσον έχετε εγκατεστημένο τον πηγαίο κώδικα. Τα deltas με τα οποία τροφοδοτείτε το CTM μπορείτε να τα αποκτήσετε με δύο τρόπους, μέσω FTP ή μέσω email. Αν έχετε γενική FTP πρόσβαση στο Internet, θα βρείτε υποστήριξη για το CTM στις ακόλουθες τοποθεσίες FTP: ή δείτε το τμήμα mirrors. Κάντε FTP στο σχετικό κατάλογο και διαβάστε το αρχείο README για να ξεκινήσετε. Αν θέλετε να λαμβάνετε τα deltas μέσω email: Γραφτείτε συνδρομητής σε μια από τις λίστες διανομής του CTM. Η λίστα &a.ctm-cvs-cur.name; υποστηρίζει ολόκληρο το δέντρο του CVS. Η λίστα &a.ctm-src-cur.name; υποστηρίζει την κεφαλή (head) του κλάδου ανάπτυξης (development branch). Η λίστα &a.ctm-src-4.name; υποστηρίζει την έκδοση 4.X κ.ο.κ. Αν δεν γνωρίζετε πως να εγγραφείτε σε μια λίστα, κάντε κλικ στο όνομα της λίστας που εμφανίζεται παραπάνω ή πηγαίνετε στο &a.mailman.lists.link; και κάντε κλικ στη λίστα που θέλετε να εγγραφείτε. Η σελίδα της λίστας θα πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες σχετικά με τις συνδρομές. Όταν αρχίσετε να λαμβάνετε ανανεώσεις CTM μέσω mail, μπορείτε να χρησιμοποιήσετε το πρόγραμμα ctm_rmail για να τις αποσυμπιέσετε και να τις εφαρμόσετε. Μπορείτε στην πραγματικότητα να χρησιμοποιήσετε το πρόγραμμα ctm_rmail απευθείας μέσω μιας εγγραφής στο /etc/aliases αν θέλετε η διαδικασία να εκτελείται αυτοματοποιημένα. Δείτε τη σελίδα manual του ctm_rmail για περισσότερες λεπτομέρειες. Άσχετα με τη μέθοδο που θα χρησιμοποιήσετε για να λάβετε τα deltas του CTM θα πρέπει να εγγραφείτε στη λίστα &a.ctm-announce.name;. Στο μέλλον, αυτό θα είναι και το μόνο μέρος στο οποίο θα δημοσιεύονται πληροφορίες σχετικά με τις λειτουργίες του συστήματος CTM. Κάντε κλικ στο όνομα της παραπάνω λίστας, και ακολουθείστε τις οδηγίες για να εγγραφείτε. Χρησιμοποιώντας το <application>CTM</application> για Πρώτη Φορά Πριν αρχίσετε να χρησιμοποιείτε CTM deltas, θα πρέπει να έχετε ένα σημείο εκκίνησης για τα delta που έχουν δημιουργηθεί μετά από αυτό. Θα πρέπει πρώτα να καθορίσετε τι έχετε ήδη. Οποιοσδήποτε μπορεί να αρχίσει από ένα άδειο κατάλογο. Θα πρέπει να ξεκινήσετε με ένα αρχικό Κενό delta για να αρχίσετε με το CTM δέντρο σας. Από κάποιο σημείο θεωρούμε ότι ένα από αυτά τα αρχικά deltas θα διανέμονται σε CD για τη δική σας διευκόλυνση, ωστόσο αυτό δεν συμβαίνει τη δεδομένη στιγμή. Καθώς τα δέντρα είναι αρκετές δεκάδες megabytes, είναι προτιμότερο να ξεκινήσετε από κάτι που έχετε ήδη. Αν έχετε CD κάποιας διανομής (RELEASE), μπορείτε να αντιγράψετε ή να αποσυμπιέσετε από εκεί τον αρχικό πηγαίο κώδικα. Έτσι θα γλυτώσετε σημαντικό μέρος της μεταφοράς δεδομένων. Μπορείτε να αναγνωρίσετε αυτά τα αρχικά deltas από το X που ακολουθεί τον αριθμό τους (για παράδειγμα src-cur.3210XEmpty.gz). Ο χαρακτηρισμός μετά το X αντιστοιχεί στην πηγή του αρχικού σας seed. Το Empty είναι ένας άδειος κατάλογος. Κατά κανόνα δημιουργείται μια μετάβαση από το Empty κάθε 100 deltas. Επίσης τα αρχεία αυτά είναι μεγάλα! Συνηθισμένο μέγεθος για XEmpty deltas είναι τα 70 ως 80 MB συμπιεσμένων με gzip δεδομένων. Μόλις επιλέξετε ένα βασικό delta για να ξεκινήσετε, θα χρειαστείτε επίσης όλα τα deltas με μεγαλύτερους από αυτό αριθμούς. Χρησιμοποιώντας το <application>CTM</application> στην Καθημερινή σας Ζωή Για να εφαρμόσετε τα deltas, απλώς γράψτε: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* Το CTM αντιλαμβάνεται deltas τα οποία έχουν συμπιεστεί μέσω gzip, και έτσι δεν χρειάζεται να χρησιμοποιήσετε την gunzip, γλυτώνοντας με αυτό τον τρόπο χώρο στο δίσκο. Το CTM δεν πρόκειται να πειράξει τα αρχεία σας αν δεν είναι απόλυτα σίγουρο για τη διαδικασία ανανέωσης. Για να επαληθεύσετε ένα delta μπορείτε επίσης να χρησιμοποιήσετε την επιλογή και το CTM δεν θα πειράξει τίποτα, απλώς θα επαληθεύσει την ακεραιότητα του delta και θα δει αν μπορεί να το εφαρμόσει χωρίς προβλήματα στο τρέχον δέντρο. Υπάρχουν και άλλες επιλογές στο CTM, δείτε τις αντίστοιχες σελίδες manual ή κοιτάξτε τον πηγαίο κώδικα για περισσότερες πληροφορίες. Αυτό είναι όλο στην πραγματικότητα. Κάθε φορά που λαμβάνετε ένα νέο delta, απλώς περάστε το στο CTM ώστε να έχετε πάντοτε ανανεωμένο τον πηγαίο σας κώδικα. Μην σβήνετε τα deltas αν είναι δύσκολο να τα κατεβάσετε ξανά. Ίσως θέλετε να τα φυλάξετε για την περίπτωση που κάτι πάει στραβά. Ακόμα και αν το μόνο μέσο που έχετε είναι δισκέτες, κάντε αντίγραφο χρησιμοποιώντας την fdwrite. Κρατώντας τις Τοπικές σας Αλλαγές Ως προγραμματιστής, θα θέλετε να πειραματιστείτε και να αλλάξετε αρχεία στο δέντρο του πηγαίου κώδικα. Το CTM υποστηρίζει περιορισμένου τύπου τοπικές αλλαγές: πριν ελέγξει για την παρουσία ενός αρχείου foo, ελέγχει πρώτα για το foo.ctm. Αν το αρχείο αυτό υπάρχει, το CTM θα χρησιμοποιήσει αυτό αντί για το foo. Η συμπεριφορά αυτή μας παρέχει ένα απλό τρόπο να διατηρήσουμε τοπικές αλλαγές: απλώς αντιγράψτε τα αρχεία που σκοπεύετε να αλλάξετε σε αντίστοιχα αρχεία με κατάληξη .ctm. Μπορείτε κατόπιν να κάνετε ότι αλλαγές θέλετε στον κώδικα ενώ το CTM θα διατηρεί ανανεωμένο το αρχείο .ctm. Άλλες Ενδιαφέρουσες Επιλογές του <application>CTM</application> Βρίσκοντας τι Ακριβώς θα Αλλάξει σε μια Ανανέωση Μπορείτε να προσδιορίσετε τις αλλαγές που θα προκαλέσει το CTM στο repository του πηγαίου σας κώδικα, χρησιμοποιώντας την επιλογή . Αυτό θα είναι χρήσιμο αν θέλετε να κρατήσετε ημερολόγιο των αλλαγών, αν θέλετε να επεξεργαστείτε τα τροποποιημένα αρχεία πριν ή μετά την τροποποίηση τους, ή αν απλώς αισθάνεστε ελαφρώς παρανοϊκός. Δημιουργώντας Αντίγραφα Ασφαλείας πριν την Ανανέωση Μερικές φορές θα θέλετε να κρατήσετε αντίγραφο ασφαλείας όλων των αρχείων που πρόκειται να αλλαχθούν από μια ανανέωση μέσω CTM. Δίνοντας την επιλογή το CTM θα δημιουργήσει αντίγραφο ασφαλείας όλων των αρχείων που πρόκειται να αλλαχθούν από κάποιο συγκεκριμένο delta στο αρχείο backup-file. Περιορίζοντας τα Αρχεία που θα Αλλαχθούν από Κάποια Ανανέωση Μερικές φορές ίσως να ενδιαφέρεστε να περιορίσετε την περιοχή δράσης μιας συγκεκριμένης ανανέωσης μέσω CTM ή ίσως σας ενδιαφέρει να πάρετε μόνο λίγα αρχεία από κάποια σειρά από deltas. Μπορείτε να ελέγξετε τη λίστα των αρχείων στα οποία θα λειτουργήσει το CTM χρησιμοποιώντας ως φίλτρα, regular expressions με τις επιλογές και . Για παράδειγμα, για να εξάγετε ένα ανανεωμένο αντίγραφο του αρχείου lib/libc/Makefile από την συλλογή σας των αποθηκευμένων CTM deltas, εκτελέστε τις εντολές: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Για κάθε αρχείο που καθορίζεται σε ένα CTM delta, οι επιλογές και εφαρμόζονται με τη σειρά που εμφανίζονται στη γραμμή εντολών. Στο αρχείο γίνεται επεξεργασία από το CTM, μόνο αν μαρκαριστεί ως έγκυρο προς ανανέωση μετά την εφαρμογή όλων των επιλογών και . Μελλοντικά Σχέδια για το <application>CTM</application> Είναι πάρα πολλά: Χρήση κάποιου είδους πιστοποίησης στο σύστημα CTM ώστε να αναγνωρίζονται τυχόν ψεύτικες ανανεώσεις. Ξεκαθάρισμα των επιλογών του CTM, καθώς προκαλούν σύγχυση και δεν είναι προφανείς. Διάφορα Υπάρχει επίσης και μια σειρά από deltas για την συλλογή των ports, αλλά δεν έχει εκδηλωθεί ακόμα αρκετό ενδιαφέρον για αυτή. CTM Mirrors Το CTM/&os; διατίθεται μέσω ανώνυμου FTP από τα ακόλουθα mirrors. Αν επιλέξετε να κατεβάσετε το CTM μέσω ανώνυμου FTP, σας παρακαλούμε προσπαθήστε να επιλέξετε μια τοποθεσία κοντά σε σας. Σε περίπτωση προβλημάτων, παρακαλούμε επικοινωνήστε με τη λίστα &a.ctm-users.name;. Καλιφόρνια, Bay Area, επίσημη πηγή Νότια Αφρική, αντίγραφα ασφαλείας για παλιά deltas Ταιβάν/R.O.C. Αν δεν βρήκατε κάποιο mirror στην περιοχή σας, ή αν το mirror δεν είναι πλήρες, προσπαθήστε να χρησιμοποιήσετε μια μηχανή αναζήτησης όπως η alltheweb. Χρησιμοποιώντας το CVSup Εισαγωγή Το CVSup είναι ένα λογισμικό για την διανομή και ανανέωση δέντρων πηγαίου κώδικα από ένα κεντρικό (master) CVS repository το οποίο βρίσκεται σε κάποιο απομακρυσμένο υπολογιστή. Το repository του &os; βρίσκεται σε ένα κεντρικό μηχάνημα στην Καλιφόρνια. Με το CVSup, οι χρήστες του &os; μπορούν εύκολα να διατηρήσουν ανανεωμένα τα αντίγραφα του πηγαίου τους κώδικα. Το CVSup χρησιμοποιεί ένα μοντέλο ανανέωσης γνωστό ως pull. Στο μοντέλο αυτό, κάθε πελάτης ζητά τις ανανεώσεις από τον εξυπηρετητή, όταν και αν τις επιθυμεί. Ο εξυπηρετητής περιμένει, παθητικά, τις απαιτήσεις από τους πελάτες. Με τον τρόπο αυτό, κάθε ανανέωση ξεκινάει κατόπιν απαίτησης του πελάτη. Ο εξυπηρετητής ποτέ δεν στέλνει ανανεώσεις που δεν έχουν ζητηθεί. Οι χρήστες θα πρέπει είτε να εκτελέσουν το CVSup χειροκίνητα για να λάβουν μια ανανέωση, είτε θα πρέπει να ρυθμίσουν κατάλληλα το cron ώστε να το εκτελεί αυτόματα κατά τακτά χρονικά διαστήματα. Ο όρος CVSup, γραμμένος με κεφαλαία και μικρά όπως φαίνεται, αναφέρεται σε ολόκληρο το πακέτο λογισμικού. Τα βασικά του τμήματα είναι η εντολή πελάτη cvsup η οποία εκτελείται στο μηχάνημα του κάθε χρήστη, και το πρόγραμμα του εξυπηρετητή cvsupd το οποίο εκτελείται σε κάθε ένα από τα mirror sites του &os;. Καθώς διαβάζετε την τεκμηρίωση και τις λίστες ταχυδρομείου του &os;, μπορεί να βρείτε αναφορές στην εφαρμογή sup. Το sup ήταν ο πρόγονος του CVSup, και εξυπηρετούσε παρόμοιο σκοπό. Το CVSup χρησιμοποιείται με αρκετά όμοιο τρόπο με το sup, και στην πραγματικότητα, χρησιμοποιεί αρχεία ρυθμίσεων τα οποία έχουν πίσω συμβατότητα με αυτά του sup. Το sup δεν χρησιμοποιείται πλέον στο &os; Project, επειδή το CVSup είναι ταχύτερο και προσφέρει μεγαλύτερη ευελιξία. Το πρόγραμμα csup είναι το CVSup ξαναγραμμένο σε γλώσσα C. Το μεγαλύτερο του πλεονέκτημα είναι ότι είναι ταχύτερο, και δεν εξαρτάται από την γλώσσα προγραμματισμού Modula-3, την οποία και δεν χρειάζεται πλέον να εγκαταστήσετε. Επίσης, αν χρησιμοποιείτε έκδοση &os; 6.2 ή μεταγενέστερη, μπορείτε να το χρησιμοποιήσετε άμεσα, καθώς περιλαμβάνεται στο βασικό σύστημα. Παλιότερες εκδόσεις του &os; δεν έχουν το &man.csup.1; στο βασικό σύστημα, αλλά μπορείτε να το εγκαταστήσετε εύκολα από το port net/csup port, ή από έτοιμο πακέτο. Αν αποφασίσετε να χρησιμοποιήσετε το csup, απλώς παραλείψτε τα βήματα για την εγκατάσταση του CVSup και αντικαταστήστε κάθε αναφορά στο CVSup σε αυτό το άρθρο, με csup. Εγκατάσταση Ο ευκολότερος τρόπος για να εγκαταστήσετε το CVSup είναι μέσω του έτοιμου πακέτου net/cvsup από την συλλογή πακέτων του &os;. Αν προτιμάτε να μεταγλωττίσετε το CVSup από τον πηγαίο κώδικα, μπορείτε να χρησιμοποιήσετε το port net/cvsup. Σας προειδοποιούμε ωστόσο ότι το port net/cvsup εξαρτάται από την Modula-3, η οποία χρειάζεται αρκετό χρόνο και χώρο στο δίσκο για να κατέβει και να μεταγλωττιστεί. Αν πρόκειται να χρησιμοποιήσετε το CVSup σε ένα μηχάνημα το οποίο δεν θα διαθέτει γραφικό περιβάλλον μέσω &xfree86; ή &xorg;, όπως π.χ. σε ένα εξυπηρετητή, βεβαιωθείτε ότι εγκαθιστάτε το αντίστοιχο port το οποίο δεν περιλαμβάνει γραφικό περιβάλλον, δηλαδή το net/cvsup-without-gui. Αν θέλετε να εγκαταστήσετε το csup στο &os; 6.1 ή προγενέστερο, μπορείτε να χρησιμοποιήσετε το έτοιμο πακέτο net/csup από την συλλογή πακέτων του &os;. Αν θέλετε να μεταγλωττίσετε το csup από τον πηγαίο κώδικα, μπορείτε να χρησιμοποιήσετε το port, net/csup. Ρύθμιση του CVSup Η λειτουργία του CVSup ελέγχεται από ένα αρχείο ρυθμίσεων που καλείται supfile. Υπάρχουν κάποια υποδείγματα από supfiles στον κατάλογο /usr/share/examples/cvsup/. Οι πληροφορίες στο supfile απαντούν τις ακόλουθες ερωτήσεις για το CVSup: Ποια αρχεία θέλετε να λάβετε; Ποιες εκδόσεις των αρχείων θέλετε; Από που θέλετε να τα λάβετε; Που θέλετε να τα αποθηκεύσετε στο μηχάνημα σας; Που θέλετε να αποθηκεύσετε τα αρχεία κατάστασης; Στα επόμενα τμήματα, θα δημιουργήσουμε ένα τυπικό supfile απαντώντας κάθε μια από τις ερωτήσεις αυτές με τη σειρά. Πρώτα, θα περιγράψουμε τη συνολική δομή ενός supfile. Ένα supfile είναι ένα αρχείο κειμένου. Τα σχόλια ξεκινάνε με # και επεκτείνονται ως το τέλος της γραμμής. Οι κενές γραμμές, καθώς και αυτές που περιέχουν μόνο σχόλια, αγνοούνται. Κάθε γραμμή από τις υπόλοιπες περιγράφει ένα σετ αρχείων τα οποία επιθυμεί να λάβει ο χρήστης. Η γραμμή ξεκινάει με το όνομα μιας συλλογής, ενός λογικού γκρουπ από αρχεία που ορίζεται από τον εξυπηρετητή. Το όνομα της συλλογής δηλώνει στον εξυπηρετητή ποια αρχεία επιθυμείτε. Μετά το όνομα της συλλογής, μπορεί να υπάρχουν από μηδέν ως κάποια πεδία, τα οποία χωρίζονται μεταξύ τους με κενά διαστήματα. Τα πεδία αυτά απαντούν τις ερωτήσεις που τέθηκαν παραπάνω. Υπάρχουν δύο τύποι πεδίων: πεδία σήμανσης (flags) και πεδία τιμών. Ένα πεδίο σήμανσης αποτελείται από μια μόνο λέξη κλειδί π.χ. delete ή compress. Ένα πεδίο τιμής ξεκινάει επίσης με μια λέξη κλειδί, αλλά αυτή ακολουθείτε χωρίς την παρεμβολή κενού διαστήματος από = και μια δεύτερη λέξη. Για παράδειγμα το release=cvs αποτελεί ένα πεδίο τιμής. Ένα supfile τυπικά καθορίζει προς λήψη περισσότερες από μία συλλογές. Ένα τρόπος για να δομήσετε ένα supfile είναι να καθορίσετε όλα τα σχετικά πεδία χωριστά για κάθε συλλογή. Με τον τρόπο αυτό ωστόσο το supfile θα καταλάβει αρκετές γραμμές και θα είναι άβολο, επειδή τα περισσότερα πεδία είναι ίδια για όλες τις συλλογές που περιέχονται σε αυτό. Το CVSup παρέχει ένα μηχανισμό χρήσης προεπιλεγμένων τιμών, ώστε να αποφεύγονται αυτά τα προβλήματα. Οι γραμμές που ξεκινάνε με το ειδικό όνομα ψευτό-συλλογής *default μπορούν να χρησιμοποιηθούν για να θέσουν πεδία σήμανσης και τιμών τα οποία θα χρησιμοποιηθούν ως προεπιλογές για τις συλλογές του supfile που βρίσκονται μετά από αυτά. Μια προεπιλεγμένη τιμή μπορεί να αλλάξει αν καθοριστεί ξανά με νέα τιμή μέσα στην ίδια τη συλλογή. Οι προεπιλογές μπορούν επίσης να αλλάξουν, ή να προστεθούν νέες, βάζοντας πρόσθετα *default σε οποιοδήποτε σημείο μέσα στο supfile. Γνωρίζοντας τα παραπάνω, θα προχωρήσουμε τώρα στη δόμηση ενός supfile για λήψη και ανανέωση του κυρίως δέντρου πηγαίου κώδικα για το &os;-CURRENT. Ποια αρχεία θέλετε να λάβετε; Τα αρχεία που είναι διαθέσιμα μέσω της CVSup είναι οργανωμένα σε γκρουπ που ονομάζονται συλλογές. Περιγραφή των διαθέσιμων συλλογών θα βρείτε στο ακόλουθο τμήμα. Στο παράδειγμα μας, θέλουμε να λάβουμε το πλήρες δέντρο πηγαίου κώδικα του &os; συστήματος. Υπάρχει μια μεγάλη συλλογή src-all η οποία θα μας την δώσει όλη. Σαν πρώτο βήμα για την δόμηση του supfile, απλώς γράφουμε τις συλλογές, μία σε κάθε γραμμή (στην περίπτωση μας έχουμε μόνο μια γραμμή): src-all Ποιες εκδόσεις των αρχείων θέλετε να λάβετε; Με το CVSup, μπορείτε ουσιαστικά να λάβετε οποιαδήποτε έκδοση του πηγαίου κώδικα υπήρξε ποτέ. Αυτό είναι δυνατόν επειδή ο εξυπηρετητής cvsupd λειτουργεί απευθείας από το CVS repository, το οποίο περιέχει όλες τις εκδόσεις. Δηλώνετε ποια από αυτές θέλετε χρησιμοποιώντας τα πεδία τιμών tag= και . Θα πρέπει να δώσετε ιδιαίτερη προσοχή στον καθορισμό των πεδίων tag= ώστε να είναι σωστά. Κάποια tags είναι έγκυρα μόνο για συγκεκριμένες συλλογές αρχείων. Αν καθορίσετε λανθασμένο tag (ή κάνετε ορθογραφικό λάθος) το CVSup θα σβήσει αρχεία τα οποία πιθανώς δεν θέλετε να σβηστούν. Ειδικότερα, για την συλλογή των ports-*, χρησιμοποιήστε μόνο το tag=.. Το πεδίο tag= δείχνει προς ένα συμβολικό tag στο repository. Υπάρχουν δύο είδη tags, τα tags εκδόσεων (revision tags) και τα tags κλάδων (branch tags). Ένα revision tag αναφέρεται σε μια συγκεκριμένη έκδοση. Η σημασία του διατηρείται ίδια από τη μια μέρα στην άλλη. Από την άλλη, ένα branch tag, αναφέρεται στην τελευταία έκδοση μια συγκεκριμένης γραμμής ανάπτυξης, σε κάθε χρονική στιγμή. Επειδή ένα branch tag δεν αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί αύριο να σημαίνει κάτι διαφορετικό από ότι σημαίνει σήμερα. Στο θα βρείτε branch tags τα οποία μπορεί να σας ενδιαφέρουν. Όταν καθορίζετε ένα tag στο αρχείο ρυθμίσεων του CVSup, θα πρέπει πριν από αυτό να βάζετε τη λέξη κλειδί tag= (δηλ. το RELENG_4 θα γίνει tag=RELENG_4). Να έχετε υπόψιν σας ότι για την συλλογή των Ports, το tag=. είναι το μόνο έγκυρο. Να είστε ιδιαίτερα προσεκτικός, ώστε να γράψετε το tag ακριβώς όπως φαίνεται. Το CVSup δεν μπορεί να διαχωρίσει μεταξύ έγκυρων και μη-έγκυρων tags. Αν γράψετε λάθος το tag, το CVSup θα συμπεριφερθεί σαν να έχετε δώσει ένα έγκυρο tag το οποίο δεν αναφέρεται σε κανένα αρχείο. Στην περίπτωση αυτή θα διαγράψει τα υπάρχοντα αρχεία σας πηγαίου κώδικα. Όταν καθορίσετε κάποιο branch tag, φυσιολογικά θα λάβετε τις τελευταίες εκδόσεις των αρχείων που υπάρχουν σε αυτή τη γραμμή ανάπτυξης. Αν θέλετε να λάβετε κάποιες παλιότερες εκδόσεις, μπορείτε να το κάνετε καθορίζοντας μια ημερομηνία μέσω του πεδίου τιμών . Η σελίδα manual &man.csup.1; εξηγεί πως μπορείτε να το κάνετε. Στο παράδειγμα μας, επιθυμούμε να λάβουμε το &os;-CURRENT. Προσθέτουμε τη γραμμή αυτή στην αρχή του supfile αρχείου μας: *default tag=. Υπάρχει μια σημαντική ειδική περίπτωση όταν δεν καθορίσετε ούτε πεδίο tag= ούτε πεδίο date=. Στην περίπτωση αυτή θα λάβετε τα κανονικά αρχεία RCS απευθείας από το CVS repository του εξυπηρετητή, αντί για να λάβετε κάποια συγκεκριμένη έκδοση. Οι προγραμματιστές γενικά προτιμούν αυτό τον τρόπο λειτουργίας. Διατηρώντας πλήρες αντίγραφο του CVS repository στα συστήματα τους έχουν την ικανότητα να βλέπουν το ιστορικό αλλαγών κάθε έκδοσης και να εξετάζουν παλιότερες εκδόσεις των αρχείων. Τα παραπάνω πλεονεκτήματα ωστόσο έχουν το κόστος της μεγαλύτερης χρήσης χώρου στο σκληρό δίσκο. Από που θέλετε να τα λάβετε; Χρησιμοποιούμε το πεδίο host= για να πούμε στο cvsup από που να λάβει τις ανανεώσεις του. Οποιοδήποτε από τα CVSup mirror sites είναι κατάλληλο, αν και θα πρέπει να προσπαθήσετε να επιλέξετε κάποιο το οποίο να βρίσκεται κοντά σας. Στο παράδειγμα μας, θα χρησιμοποιήσουμε μια φανταστική τοποθεσία διανομής του &os;, το cvsup99.FreeBSD.org: *default host=cvsup99.FreeBSD.org Θα πρέπει να αλλάξετε το host σε κάποιο που πραγματικά υπάρχει πριν εκτελέσετε το CVSup. Κάθε φορά που εκτελείτε το cvsup, έχετε την δυνατότητα να ανατρέπετε αυτή τη ρύθμιση μέσω της γραμμής εντολών με την επιλογή . Που θέλετε να τα αποθηκεύσετε στο μηχάνημα σας; Το πεδίο prefix= δηλώνει στην cvsup που να αποθηκεύσει τα αρχεία που λαμβάνει. Στο παράδειγμα μας, θα βάλουμε τα αρχεία του πηγαίου κώδικα, απευθείας στο κύριο δέντρο πηγαίου κώδικα, /usr/src. Ο κατάλογος src θεωρείται δεδομένος για τις συλλογές που έχουμε επιλέξει να λάβουμε, και έτσι ο σωστός προσδιορισμός είναι αυτός που φαίνεται παρακάτω: *default prefix=/usr Που θα αποθηκεύσει το cvsup τα αρχεία κατάστασης του; Ο πελάτης CVSup διατηρεί κάποια αρχεία κατάστασης (status files) σε αυτό που αποκαλείται κατάλογος base. Τα αρχεία αυτά βοηθούν το CVSup να λειτουργεί πιο αποδοτικά κρατώντας λογαριασμό των ανανεώσεων που έχετε ήδη λάβει. Θα χρησιμοποιήσουμε τον προεπιλεγμένο κατάλογο base, /var/db: *default base=/var/db Αν ο base κατάλογος σας δεν υπάρχει ήδη, τώρα είναι μια καλή στιγμή να τον δημιουργήσετε. O πελάτης cvsup δεν θα εκτελείται αν ο base κατάλογος δεν υπάρχει. Διάφορες ρυθμίσεις για το supfile: Υπάρχει ακόμα μια κοινή γραμμή ρυθμίσεων, η οποία τυπικά υπάρχει στο supfile: *default release=cvs delete use-rel-suffix compress Το release=cvs δείχνει ότι ο εξυπηρετητής θα πρέπει να λάβει τις πληροφορίες του μέσω του κύριου CVS repository του &os;. Αυτό ισχύει σχεδόν πάντα, αλλά υπάρχουν και άλλες πιθανότητες που ξεφεύγουν από το σκοπό αυτής της συζήτησης. Η λέξη delete δίνει δικαιώματα στο CVSup να διαγράφει αρχεία. Θα πρέπει πάντοτε να έχετε την επιλογή αυτή, ώστε το CVSup να μπορεί να κρατήσει το δέντρο του πηγαίου σας κώδικα πλήρως ανανεωμένο. Το CVSup είναι αρκετά προσεκτικό ώστε να σβήνει μόνο τα αρχεία που βρίσκονται υπό την ευθύνη του. Αν τυχόν βάλετε έξτρα αρχεία στον ίδιο κατάλογο, δεν θα τα αγγίξει. Η επιλογή use-rel-suffix είναι... αρχαιολογική. Αν πραγματικά θέλετε να μάθετε σχετικά με αυτήν, διαβάστε τη σελίδα manual &man.cvsup.1;. Αλλιώς, απλώς χρησιμοποιήστε την, και μην ανησυχείτε ιδιαίτερα για αυτή. Η επιλογή compress ενεργοποιεί τη χρήση συμπίεσης τύπου gzip στο κανάλι επικοινωνίας. Αν έχετε σύνδεση δικτύου τύπου T1 ή και πιο γρήγορη, μάλλον δεν θα πρέπει να χρησιμοποιήσετε συμπίεση. Σε διαφορετική περίπτωση, θα βοηθήσει εξαιρετικά. Όλες οι επιλογές μαζί: Εδώ είναι το πλήρες supfile για το παράδειγμα μας: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all Το Αρχείο <filename>refuse</filename> Όπως αναφέραμε παραπάνω, το CVSup χρησιμοποιεί μέθοδο pull. Βασικά αυτό σημαίνει ότι συνδέεστε στον εξυπηρετητή CVSup, αυτός λέει Αυτά είναι τα αρχεία που μπορείτε να κατεβάσετε από μένα.., και το δικό σας πρόγραμμα απαντάει Εντάξει, θα πάρω αυτό, αυτό, αυτό, και αυτό. Στην προεπιλεγμένη ρύθμιση, ο πελάτης CVSup θα πάρει κάθε αρχείο που συνδέεται με την συλλογή και το tag που έχετε καθορίσει στο αρχείο ρυθμίσεων. Ωστόσο μπορεί να μην το επιθυμείτε αυτό πάντα, ειδικά αν συγχρονίζετε τα δέντρα doc, ports ή www — οι περισσότεροι άνθρωποι δεν μπορούν να διαβάσουν τέσσερις ή πέντε γλώσσες και έτσι δεν χρειάζεται να κατεβάσουν αρχεία που αναφέρονται ειδικά σε αυτές. Αν χρησιμοποιείτε το CVSup για την συλλογή των Ports, μπορείτε να ξεπεράσετε αυτή τη συμπεριφορά καθορίζοντας συγκεκριμένες συλλογές (π.χ. ports-astrology, ports-biology αντί για ports-all). Ωστόσο, επειδή τα δέντρα doc και www δεν διαθέτουν συλλογές χωρισμένες ανά γλώσσα, μπορείτε να χρησιμοποιήσετε ένα από τα βολικά χαρακτηριστικά του CVSup: το αρχείο refuse. Το αρχείο refuse ουσιαστικά λέει στο CVSup ότι δεν πρέπει να πάρει κάθε αρχείο από μια συλλογή. Με άλλα λόγια, λέει στον πελάτη να αρνηθεί συγκεκριμένα αρχεία που προσφέρει ο εξυπηρετητής. Το αρχείο refuse μπορεί να βρεθεί (ή να δημιουργηθεί αν δεν έχετε ήδη) στο base/sup/. Το base καθορίζεται στο supfile. Το δικό μας base είναι στο /var/db, το οποίο σημαίνει ότι το προεπιλεγμένο αρχείο refuse θα είναι το /var/db/sup/refuse. Το αρχείο refuse έχει ιδιαίτερα απλή μορφή. Απλώς περιέχει τα ονόματα των αρχείων και καταλόγων τα οποία δεν επιθυμείτε να κατεβάσετε. Για παράδειγμα, αν δεν μιλάτε γλώσσες εκτός από Αγγλικά και λίγα Γερμανικά, και δεν αισθάνεστε την ανάγκη να διαβάσετε την Γερμανική μετάφραση της τεκμηρίωσης, μπορείτε να βάλετε τα ακόλουθα στο δικό σας αρχείο refuse: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/it_* doc/ja_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* κ.ο.κ. για τις υπόλοιπες γλώσσες (μπορείτε να βρείτε την πλήρη λίστα στο &os; CVS repository). Με αυτή τη χρήσιμη δυνατότητα, οι χρήστες που έχουν αργή σύνδεση ή πληρώνουν το Internet με χρονοχρέωση ανά λεπτό, θα μπορέσουν να εξοικονομήσουν πολύτιμο χρόνο καθώς δεν θα χρειάζεται πλέον να κατεβάσουν αρχεία που δεν πρόκειται να χρησιμοποιήσουν ποτέ. Για περισσότερες πληροφορίες σχετικά με τα αρχεία refuse και άλλα χρήσιμα χαρακτηριστικά του CVSup, παρακαλούμε διαβάστε την αντίστοιχη σελίδα του manual. Εκτελώντας το <application>CVSup</application> Είστε τώρα έτοιμοι να δοκιμάσετε μια ανανέωση. Η γραμμή εντολής για το σκοπό αυτό είναι ιδιαίτερα απλή: &prompt.root; cvsup supfile όπου το supfile είναι φυσικά το όνομα του αρχείου supfile που μόλις δημιουργήσατε. Υποθέτοντας ότι χρησιμοποιείτε τα X11, η εντολή cvsup θα σας εμφανίσει ένα γραφικό παράθυρο με κάποια πλήκτρα συνηθισμένων λειτουργιών. Πιέστε το πλήκτρο go, και παρακολουθήστε την εκτέλεση. Καθώς στην περίπτωση μας ανανεώνεται το πραγματικό δέντρο /usr/src, θα χρειαστεί να εκτελέσετε το πρόγραμμα ως root ώστε η cvsup να έχει τα δικαιώματα που χρειάζεται για να ανανεώσει τα αρχεία σας. Καθώς μόλις έχετε δημιουργήσει το αρχείο ρυθμίσεων, και δεν έχετε ποτέ πριν χρησιμοποιήσει το πρόγραμμα, ίσως αισθάνεστε λίγο άβολα. Υπάρχει εύκολος τρόπος να κάνετε δοκιμαστική εκτέλεση χωρίς να πειράξετε τα πολύτιμα αρχεία σας. Απλώς δημιουργήστε ένα άδειο κατάλογο σε ένα βολικό μέρος, και δώστε το σαν έξτρα παράμετρο στην γραμμή εντολών: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest Ο κατάλογος που καθορίσατε θα χρησιμοποιηθεί ως προορισμός για όλες τις ανανεώσεις αρχείων. Το CVSup θα εξετάσει τα κανονικά αρχεία σας στο /usr/src, αλλά δεν θα τροποποιήσει ούτε θα διαγράψει κανένα από αυτά. Κάθε ανανέωση αρχείου θα γίνει στον κατάλογο /var/tmp/dest/usr/src. Το CVSup όταν εκτελείται με αυτό τον τρόπο αφήνει επίσης ανέπαφα τα αρχεία κατάστασης του στον κατάλογο base. Οι νέες εκδόσεις των αρχείων αυτών θα γραφούν στον καθορισμένο κατάλογο. Αν έχετε απλώς πρόσβαση ανάγνωσης στο /usr/src, δεν χρειάζεστε να είστε καν root για να κάνετε αυτή τη δοκιμαστική εκτέλεση. Αν δεν εκτελείτε τα X11 ή απλώς δεν σας αρέσουν τα γραφικά περιβάλλοντα, μπορείτε να δώσετε κάποιες επιλογές στην γραμμή εντολών όταν εκτελείτε την cvsup: &prompt.root; cvsup -g -L 2 supfile Η επιλογή λέει στο CVSup να μη χρησιμοποιήσει το γραφικό του περιβάλλον. Αυτό γίνεται αυτόματα αν δεν εκτελούνται τα X11, αλλά διαφορετικά θα πρέπει να το καθορίσετε. Η επιλογή λέει στο CVSup να εμφανίσει όλες τις λεπτομέρειες για όλες τις ανανεώσεις αρχείων που εκτελεί. Υπάρχουν τρία επίπεδα περιγραφής, από το ως το . Η προεπιλογή είναι το 0, που σημαίνει απόλυτη σιωπή εκτός από μηνύματα λάθους. Υπάρχουν διαθέσιμες αρκετές ακόμα επιλογές. Για μια περιληπτική λίστα, γράψτε cvsup -H. Για περισσότερο λεπτομερείς περιγραφές, δείτε τη σελίδα του manual. Όταν μείνετε ικανοποιημένος από τον τρόπο που γίνονται οι ανανεώσεις, μπορείτε να κανονίσετε την σε τακτά διαστήματα εκτέλεση του CVSup με την χρήση του &man.cron.8;. Προφανώς δεν θα πρέπει να αφήσετε το CVSup να χρησιμοποιεί το γραφικό του περιβάλλον όταν το εκτελείτε μέσω του &man.cron.8;. Συλλογές Αρχείων του<application>CVSup</application> Οι συλλογές αρχείων που διατίθενται μέσω του CVSup είναι οργανωμένες ιεραρχικά. Υπάρχουν λίγες μεγάλες συλλογές, και αυτές χωρίζονται σε μικρότερες υπο-συλλογές. Η λήψη μιας μεγάλης συλλογής, ισοδυναμεί με την λήψη κάθε μιας από τις υπο-συλλογές τις. Οι ιεραρχικές σχέσεις μεταξύ των συλλογών, αντικατοπτρίζονται παρακάτω με την χρήση των εσοχών. Οι πιο συχνά χρησιμοποιούμενες συλλογές είναι η src-all, και η ports-all. Οι άλλες συλλογές χρησιμοποιούνται μόνο από μικρές ομάδες ανθρώπων για ειδικούς σκοπούς, και κάποια mirror sites μπορεί να μην τις έχουν καθόλου. cvs-all release=cvs Το κύριο CVS repository του &os;, που περιλαμβάνει και τον κώδικα κρυπτογραφίας. distrib release=cvs Αρχεία που αναφέρονται στην διανομή και το mirroring του &os;. doc-all release=cvs Πηγαίος κώδικας για το &os; Handbook και την υπόλοιπη τεκμηρίωση. Δεν περιλαμβάνει αρχεία για το web site του &os;. ports-all release=cvs Η συλλογή Ports του &os;. Αν δεν θέλετε να ανανεώσετε όλο το ports-all (το πλήρες δέντρο των ports), αλλά να χρησιμοποιήσετε μια από τις υποσυλλογές που φαίνονται παρακάτω, βεβαιωθείτε ότι πάντα ανανεώνετε την υποσυλλογή ports-base! Όταν κάτι αλλάζει στο σύστημα μεταγλώττισης των ports που αντιπροσωπεύεται από το ports-base, είναι πρακτικά βέβαιο ότι οι αλλαγές αυτές πολύ σύντομα θα χρησιμοποιηθούν από πραγματικά ports. Έτσι, αν ανανεώνετε μόνο τα πραγματικά ports και αυτά χρησιμοποιούν κάποιες από τις νέες δυνατότητες, υπάρχει μεγάλη πιθανότητα η μεταγλώττιση τους να αποτύχει με κάποιο μυστηριώδες μήνυμα λάθους. Το πρώτο πράγμα που πρέπει να κάνετε σε αυτή την περίπτωση είναι να βεβαιωθείτε ότι είναι ενημερωμένη η συλλογή σας ports-base. Αν σκοπεύετε να δημιουργήσετε το δικό σας τοπικό αντίγραφο του ports/INDEX, θα πρέπει να δεχτείτε τη συλλογή ports-all (ολόκληρο το δέντρο των ports). H δημιουργία του ports/INDEX από μη-πλήρες δέντρο δεν υποστηρίζεται. Δείτε το FAQ. ports-accessibility release=cvs Λογισμικό για την βοήθεια χρηστών με αναπηρίες. ports-arabic release=cvs Υποστήριξη Αραβικής Γλώσσας. ports-archivers release=cvs Εργαλεία αποθήκευσης και συμπίεσης. ports-astro release=cvs Ports σχετικά με αστρονομία. ports-audio release=cvs Υποστήριξη ήχου. ports-base release=cvs Βασικά αρχεία των ports για υποστήριξη του συστήματος μεταγλώττισης. Διάφορα αρχεία που βρίσκονται στους υποκαταλόγους Mk/ και Tools/ του /usr/ports. Παρακαλούμε δείτε την σημαντική προειδοποίηση παραπάνω: θα πρέπει πάντοτε να ενημερώνετε αυτή την υποσυλλογή, όταν ενημερώνετε οποιοδήποτε τμήμα της συλλογής Ports του &os;. ports-benchmarks release=cvs Προγράμματα μέτρησης απόδοσης (Benchmarks). ports-biology release=cvs Βιολογία. ports-cad release=cvs Εργαλεία σχεδίασης με τη βοήθεια υπολογιστή. ports-chinese release=cvs Υποστήριξη Κινεζικής Γλώσσας. ports-comms release=cvs Λογισμικό επικοινωνιών. ports-converters release=cvs Μετατροπείς χαρακτήρων. ports-databases release=cvs Βάσεις Δεδομένων. ports-deskutils release=cvs Αντικείμενα που βρίσκονταν συνήθως σε ένα γραφείο πριν την εφεύρεση των υπολογιστών. ports-devel release=cvs Βοηθητικά προγράμματα για την ανάπτυξη λογισμικού. ports-dns release=cvs Λογισμικό σχετικό με DNS. ports-editors release=cvs Συντάκτες κειμένου. ports-emulators release=cvs Εξομοιωτές άλλων λειτουργικών συστημάτων. ports-finance release=cvs Χρηματοοικονομικά προγράμματα. ports-ftp release=cvs Προγράμματα FTP (πελάτες και εξυπηρετητές). ports-games release=cvs Παιχνίδια. ports-german release=cvs Υποστήριξη Γερμανικής γλώσσας. ports-graphics release=cvs Εργαλεία γραφικών. ports-hebrew release=cvs Υποστήριξη εβραϊκής γλώσσας. ports-hungarian release=cvs Υποστήριξη Ουγγαρέζικης γλώσσας. ports-irc release=cvs Προγράμματα για το IRC. ports-japanese release=cvs Υποστήριξη Ιαπωνικής γλώσσας. ports-java release=cvs Εργαλεία για την &java;. ports-korean release=cvs Υποστήριξη Κορεατικής γλώσσας. ports-lang release=cvs Γλώσσες προγραμματισμού. ports-mail release=cvs Προγράμματα ηλεκτρονικού ταχυδρομείου. ports-math release=cvs Λογισμικό μαθηματικών υπολογισμών. ports-mbone release=cvs Εφαρμογές MBone. ports-misc release=cvs Διάφορα βοηθητικά προγράμματα. ports-multimedia release=cvs Λογισμικό πολυμέσων. ports-net release=cvs Λογισμικό δικτύων. ports-net-im release=cvs Λογισμικό άμεσων μηνυμάτων (instant messaging). ports-net-mgmt release=cvs Λογισμικό διαχείρισης δικτύων. ports-net-p2p release=cvs Δικτύωση peer-to-peer. ports-news release=cvs Λογισμικό για το USENET. ports-palm release=cvs Λογισμικό για την υποστήριξη συσκευών τύπου Palm. ports-polish release=cvs Υποστήριξη Πολωνικής γλώσσας. ports-ports-mgmt release=cvs Εργαλεία για τη διαχείριση πακέτων και ports. ports-portuguese release=cvs Υποστήριξη Πορτογαλικής γλώσσας. ports-print release=cvs Λογισμικό εκτυπώσεων. ports-russian release=cvs Υποστήριξη Ρωσικής γλώσσας. ports-science release=cvs Επιστημονικά προγράμματα. ports-security release=cvs Εργαλεία ασφαλείας. ports-shells release=cvs Shells για την γραμμή εντολών. ports-sysutils release=cvs Βοηθητικά προγράμματα συστήματος. ports-textproc release=cvs Εργαλεία επεξεργασίας κειμένου (δεν περιλαμβάνει επιτραπέζια τυπογραφία). ports-ukrainian release=cvs Υποστήριξη Ουκρανικής γλώσσας. ports-vietnamese release=cvs Υποστήριξη Βιετναμέζικης γλώσσας. ports-www release=cvs Λογισμικό που σχετίζεται με τον παγκόσμιο ιστό (World Wide Web). ports-x11 release=cvs Ports για υποστήριξη του συστήματος X Windows. ports-x11-clocks release=cvs Ρολόγια για το X11. ports-x11-drivers release=cvs Προγράμματα οδήγησης για τα X11. ports-x11-fm release=cvs Διαχειριστές αρχείων για τα X11. ports-x11-fonts release=cvs Γραμματοσειρές και εργαλεία γραμματοσειρών για X11. ports-x11-toolkits release=cvs Εργαλειοθήκες X11. ports-x11-servers release=cvs Εξυπηρετητές X11. ports-x11-themes release=cvs Θέματα για X11. ports-x11-wm release=cvs Διαχειριστές παραθύρων (window managers) για X11. projects-all release=cvs Πηγαίος κώδικας για το projects repository του &os;. src-all release=cvs Ο βασικός πηγαίος κώδικα του &os;, συμπεριλαμβανομένου του κώδικα κρυπτογραφίας. src-base release=cvs Διάφορα αρχεία στην κορυφή του /usr/src. src-bin release=cvs Εργαλεία που πιθανόν να απαιτούνται σε κατάσταση λειτουργίας ενός χρήστη (single-user) (/usr/src/bin). src-cddl release=cvs Εργαλεία και βιβλιοθήκες που καλύπτονται από την άδεια χρήσης CDDL (/usr/src/cddl). src-contrib release=cvs Εργαλεία και βιβλιοθήκες που δεν ανήκουν στο &os; Project, και τα οποία χρησιμοποιούνται ουσιαστικά αναλλοίωτα (/usr/src/contrib). src-crypto release=cvs Εργαλεία και βιβλιοθήκες κρυπτογράφησης που δεν ανήκουν στο &os; project και τα οποία χρησιμοποιούνται ουσιαστικά αναλλοίωτα (/usr/src/crypto). src-eBones release=cvs Kerberos και DES (/usr/src/eBones). Δεν χρησιμοποιούνται στις τρέχουσες εκδόσεις του &os;. src-etc release=cvs Αρχεία ρυθμίσεων του συστήματος (/usr/src/etc). src-games release=cvs Παιχνίδια (/usr/src/games). src-gnu release=cvs Εργαλεία που καλύπτονται από την άδεια χρήσης GNU Public License (/usr/src/gnu). src-include release=cvs Αρχεία επικεφαλίδων (/usr/src/include). src-kerberos5 release=cvs Πακέτο ασφαλείας Kerberos5 (/usr/src/kerberos5). src-kerberosIV release=cvs Πακέτο ασφαλείας KerberosIV (/usr/src/kerberosIV). src-lib release=cvs Βιβλιοθήκες (/usr/src/lib). src-libexec release=cvs Προγράμματα συστήματος τα οποία φυσιολογικά εκτελούνται από άλλα προγράμματα (/usr/src/libexec). src-release release=cvs Αρχεία που απαιτούνται για την παραγωγή μιας έκδοσης του &os; (/usr/src/release). src-rescue release=cvs Προγράμματα με στατική μεταγλώττιση για χρήση σε έκτακτες περιπτώσεις επαναφοράς του συστήματος. Δείτε το &man.rescue.8; (/usr/src/rescue). src-sbin release=cvs Εργαλεία συστήματος για λειτουργία σε κατάσταση ενός χρήστη (single user mode) (/usr/src/sbin). src-secure release=cvs Βιβλιοθήκες και εντολές κρυπτογράφησης (/usr/src/secure). src-share release=cvs Αρχεία τα οποία μπορεί να είναι κοινά ανάμεσα σε πολλαπλά συστήματα (/usr/src/share). src-sys release=cvs Ο πυρήνας (/usr/src/sys). src-sys-crypto release=cvs Κώδικας κρυπτογραφίας του πυρήνα (/usr/src/sys/crypto). src-tools release=cvs Διάφορα εργαλεία για τη συντήρηση του &os; (/usr/src/tools). src-usrbin release=cvs Εργαλεία χρήστη (/usr/src/usr.bin). src-usrsbin release=cvs Εργαλεία συστήματος (/usr/src/usr.sbin). www release=cvs Ο πηγαίος κώδικας για την τοποθεσία WWW του &os;. distrib release=self Τα αρχεία ρυθμίσεων του ίδιου του εξυπηρετητή CVSup. Χρησιμοποιείται από CVSup mirror sites. gnats release=current H βάση δεδομένων του συστήματος παρακολούθησης προβλημάτων GNATS. mail-archive release=current Τα αρχεία της λίστας ταχυδρομείου του &os;. www release=current Προ-επεξεργασμένα αρχεία της δικτυακής τοποθεσίας (WWW) του &os; (όχι ο πηγαίος κώδικας). Χρησιμοποιείται από WWW mirror sites. Για Περισσότερες Πληροφορίες Για το FAQ του CVSup και άλλες πληροφορίες σχετικά με αυτό, δείτε τη Σελίδα του CVSup. Συζητήσεις σχετικά με τη χρήση του CVSup στο &os; λαμβάνουν χώρα στην &a.hackers;. Στη λίστα αυτή, καθώς και στην &a.announce; ανακοινώνονται και οι νέες εκδόσεις του προγράμματος. Για ερωτήσεις ή αναφορές σφαλμάτων σχετικά με το CVSup ρίξτε μια ματιά στο CVSup FAQ. Τοποθεσίες CVSup Μπορείτε να βρείτε εξυπηρετητές CVSup για το &os; στις ακόλουθες τοποθεσίες: &chap.mirrors.cvsup.inc; Ετικέτες (Tags) για το CVS Όταν κατεβάζετε ή ανανεώνετε τον πηγαίο κώδικα μέσω της cvs η της CVSup, θα πρέπει να καθορίσετε μια ετικέτα έκδοσης (revision tag). Ένα revision tag αναφέρεται είτε σε μια συγκεκριμένη πορεία ανάπτυξης του &os;, είτε σε ένα συγκεκριμένο χρονικό σημείο. Ο πρώτος τύπος ονομάζεται ετικέτα κλάδου (branch tag), και ο δεύτερος ονομάζεται ετικέτα έκδοσης (release tag). Ετικέτες Κλάδων (Branch Tags) Όλες αυτές, με την εξαίρεση του HEAD (το οποίο είναι πάντα έγκυρη ετικέτα), ισχύουν μόνο για το δέντρο src/. Τα δέντρα ports/, doc/, και www/ δεν έχουν κλάδους. HEAD Πρόκειται για το συμβολικό όνομα της κύριας γραμμής ανάπτυξης, ή &os;-CURRENT. Είναι επίσης το προεπιλεγμένο tag αν δεν καθοριστεί κάποιο συγκεκριμένο revision. Στο CVSup, το tag αυτό αντιπροσωπεύεται από μια . (δεν πρόκειται για σημείο στίξης της πρότασης, αλλά για τον πραγματικό χαρακτήρα .). Στο CVS, αυτή είναι και η προεπιλογή αν δεν καθοριστεί revision tag. Συνήθως δεν είναι καλή ιδέα να κάνετε checkout και ανανέωση στον πηγαίο κώδικα του CURRENT σε ένα μηχάνημα STABLE, εκτός αν αυτή είναι πραγματικά η πρόθεση σας. RELENG_8 Η γραμμή ανάπτυξης για το &os;-8.X, γνωστή επίσης και ως &os; 8-STABLE RELENG_8_0 Η γραμμή έκδοσης του &os;-8.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7 Η γραμμή ανάπτυξης για το &os;-7.X, γνωστή επίσης και ως &os; 7-STABLE RELENG_7_3 Η γραμμή έκδοσης του &os;-7.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_2 Η γραμμή έκδοσης του &os;-7.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_1 Η γραμμή έκδοσης του &os;-7.1, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_0 Η γραμμή έκδοσης του &os;-7.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6 Η γραμμή ανάπτυξης για το &os;-6.X, γνωστή επίσης και ως &os; 6-STABLE RELENG_6_4 Η γραμμή έκδοσης του &os;-6.4, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_3 Η γραμμή έκδοσης του &os;-6.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_2 Η γραμμή έκδοσης του &os;-6.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_1 Η γραμμή έκδοσης του &os;-6.1, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_0 Η γραμμή έκδοσης του &os;-6.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5 Η γραμμή ανάπτυξης για το &os;-5.X, γνωστή επίσης ως &os; 5-STABLE. RELENG_5_5 Η γραμμή έκδοσης του &os;-5.5, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_4 Η γραμμή έκδοσης του &os;-5.4, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_3 Η γραμμή έκδοσης του &os;-5.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_2 Η γραμμή έκδοσης &os;-5.2 και &os;-5.2.1, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_1 Η γραμμή έκδοσης για το &os;-5.1, χρησιμοποιείται μόνο για για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_5_0 Η γραμμή έκδοσης για το &os;-5.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4 Η γραμμή ανάπτυξης για το &os;-4.X, γνωστή επίσης και ως &os; 4-STABLE. RELENG_4_11 Η γραμμή έκδοσης για το &os;-4.11, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_10 Η γραμμή έκδοσης για το &os;-4.10, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_9 Η γραμμή έκδοσης για το &os;-4.9, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_8 Η γραμμή έκδοσης για το &os;-4.8, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_7 Η γραμμή έκδοσης για το &os;-4.7, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_6 Η γραμμή έκδοσης για τα &os;-4.6 και &os;-4.6.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_5 Η γραμμή έκδοσης για το &os;-4.5, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_4 Η γραμμή έκδοσης για το &os;-4.4, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_4_3 Η γραμμή έκδοσης για το &os;-4.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_3 Η γραμμή ανάπτυξης για το &os;-3.X, γνωστή επίσης και ως 3.X-STABLE. RELENG_2_2 Η γραμμή ανάπτυξης για το &os;-2.2.X, γνωστή επίσης και ως 2.2-STABLE. Η γραμμή αυτή θεωρείται ουσιαστικά παρωχημένη. Ετικέτες Εκδόσεων (Release Tags) Οι ετικέτες αυτές αναφέρονται σε μια συγκεκριμένη χρονική στιγμή κατά την οποία έγινε μια κανονική έκδοση (release) του &os;. Η διαδικασία της έκδοσης τεκμηριώνεται με περισσότερες λεπτομέρειες στα έγγραφα Πληροφορίες Διαδικασίας Έκδοσης και Διαδικασία Έκδοσης. Το δέντρο src χρησιμοποιεί ονόματα ετικετών που ξεκινούν με τη λέξη RELENG_. Τα δέντρα ports και doc χρησιμοποιούν ετικέτες που ξεκινούν με τη λέξη RELEASE. Τέλος, στο δέντρο www δεν δίνεται κάποια ειδική ετικέτα που να έχει σχέση με τις εκδόσεις. RELENG_8_0_0_RELEASE &os; 8.0 RELENG_7_3_0_RELEASE &os; 7.3 RELENG_7_2_0_RELEASE &os; 7.2 RELENG_7_1_0_RELEASE &os; 7.1 RELENG_7_0_0_RELEASE &os; 7.0 RELENG_6_4_0_RELEASE &os; 6.4 RELENG_6_3_0_RELEASE &os; 6.3 RELENG_6_2_0_RELEASE &os; 6.2 RELENG_6_1_0_RELEASE &os; 6.1 RELENG_6_0_0_RELEASE &os; 6.0 RELENG_5_5_0_RELEASE &os; 5.5 RELENG_5_4_0_RELEASE &os; 5.4 RELENG_4_11_0_RELEASE &os; 4.11 RELENG_5_3_0_RELEASE &os; 5.3 RELENG_4_10_0_RELEASE &os; 4.10 RELENG_5_2_1_RELEASE &os; 5.2.1 RELENG_5_2_0_RELEASE &os; 5.2 RELENG_4_9_0_RELEASE &os; 4.9 RELENG_5_1_0_RELEASE &os; 5.1 RELENG_4_8_0_RELEASE &os; 4.8 RELENG_5_0_0_RELEASE &os; 5.0 RELENG_4_7_0_RELEASE &os; 4.7 RELENG_4_6_2_RELEASE &os; 4.6.2 RELENG_4_6_1_RELEASE &os; 4.6.1 RELENG_4_6_0_RELEASE &os; 4.6 RELENG_4_5_0_RELEASE &os; 4.5 RELENG_4_4_0_RELEASE &os; 4.4 RELENG_4_3_0_RELEASE &os; 4.3 RELENG_4_2_0_RELEASE &os; 4.2 RELENG_4_1_1_RELEASE &os; 4.1.1 RELENG_4_1_0_RELEASE &os; 4.1 RELENG_4_0_0_RELEASE &os; 4.0 RELENG_3_5_0_RELEASE &os;-3.5 RELENG_3_4_0_RELEASE &os;-3.4 RELENG_3_3_0_RELEASE &os;-3.3 RELENG_3_2_0_RELEASE &os;-3.2 RELENG_3_1_0_RELEASE &os;-3.1 RELENG_3_0_0_RELEASE &os;-3.0 RELENG_2_2_8_RELEASE &os;-2.2.8 RELENG_2_2_7_RELEASE &os;-2.2.7 RELENG_2_2_6_RELEASE &os;-2.2.6 RELENG_2_2_5_RELEASE &os;-2.2.5 RELENG_2_2_2_RELEASE &os;-2.2.2 RELENG_2_2_1_RELEASE &os;-2.2.1 RELENG_2_2_0_RELEASE &os;-2.2.0 Τοποθεσίες AFS Εξυπηρετητές AFS για το &os; θα βρείτε στις ακόλουθες τοποθεσίες: Σουηδία Η διαδρομή για τα αρχεία είναι: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Υπεύθυνος Συντήρησης: ftp@stacken.kth.se Τοποθεσίες rsync Το &os; είναι διαθέσιμο μέσω του πρωτοκόλλου rsync στις ακόλουθες τοποθεσίες. Το βοηθητικό πρόγραμμα rsync λειτουργεί με περίπου τον ίδιο τρόπο με την εντολή &man.rcp.1;, αλλά έχει περισσότερες επιλογές και χρησιμοποιεί το πρωτόκολλο απομακρυσμένης ανανέωσης το οποίο μεταφέρει μόνο τις διαφορές μεταξύ δύο σετ αρχείων, επιταχύνοντας έτσι ιδιαίτερα το συγχρονισμό μέσω του δικτύου. Αυτό είναι περισσότερο χρήσιμο αν διατηρείτε mirror του διακομιστή FTP ή του CVS Repository του &os;. Η συλλογή εφαρμογών rsync διατίθεται για πολλά λειτουργικά συστήματα, στο &os; δείτε το port net/rsync ή χρησιμοποιήστε το αντίστοιχο πακέτο. Δημοκρατία της Τσεχίας rsync://ftp.cz.FreeBSD.org/ Διαθέσιμες Συλλογές: ftp: Μερικό mirror του διακομιστή FTP του &os;. &os;: Πλήρες mirror του διακομιστή FTP του &os;. Ολλανδία rsync://ftp.nl.FreeBSD.org/ Διαθέσιμες Συλλογές: &os;: Πλήρες mirror του διακομιστή FTP του &os;. Ρωσία rsync://ftp.mtu.ru/ Διαθέσιμες Συλλογές: &os;: Πλήρες mirror του διακομιστή FTP του &os;. &os;-gnats: Η βάση δεδομένων του συστήματος παρακολούθησης σφαλμάτων GNATS. &os;-Archive: Mirror του διακομιστή FTP παλαιότερων εκδόσεων (archive) του &os;. Ταΐβάν rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ Διαθέσιμες Συλλογές: &os;: Πλήρες mirror του διακομιστή FTP του &os;. Ηνωμένο Βασίλειο rsync://rsync.mirrorservice.org/ Διαθέσιμες Συλλογές: sites/ftp.freebsd.org: Πλήρες mirror του διακομιστή FTP του &os;. Ηνωμένες Πολιτείες Αμερικής rsync://ftp-master.FreeBSD.org/ Ο διακομιστής αυτός μπορεί να χρησιμοποιηθεί μόνο από κύρια mirror sites του &os;. Διαθέσιμες Συλλογές: &os;: To κύριο (master) σύστημα αρχείων του διακομιστή FTP του &os;. acl: Η κύρια λίστα ACL του &os;. rsync://ftp13.FreeBSD.org/ Διαθέσιμες Συλλογές: &os;: Πλήρες mirror του διακομιστή FTP του &os;.
diff --git a/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml b/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml index 40689c4d8e..5bbcd053a1 100644 --- a/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml +++ b/el_GR.ISO8859-7/books/handbook/printing/chapter.sgml @@ -1,5249 +1,5249 @@ Sean Kelly Συνεισφορά από τον Jim Mock Αναδομήθηκε και ανανεώθηκε από τον Εκτυπώσεις Σύνοψη LPD σύστημα spooling εκτυπώσεις Μπορείτε να χρησιμοποιήσετε το &os; για να κάνετε εκτυπώσεις σε διάφορους τύπους εκτυπωτών, από τον παλαιότερο κρουστικό ως τον πιο σύγχρονο laser εκτυπωτή, καθώς και οποιασδήποτε άλλης τεχνολογίας ανάμεσα τους, και να δημιουργήσετε εκτυπώσεις υψηλής ποιότητας με τις εφαρμογές που εκτελείτε. Το &os; μπορεί επίσης να ρυθμιστεί ώστε να λειτουργεί ως εξυπηρετητής εκτυπώσεων δικτύου. Με αυτή τη δυνατότητα το &os; μπορεί να λαμβάνει εργασίες εκτύπωσης από διάφορους άλλους υπολογιστές, συμπεριλαμβανομένων υπολογιστών &os;, &windows; και &macos;. Το &os; μπορεί να εξασφαλίζει ότι μόνο μια εργασία θα τυπώνεται κάθε χρονική στιγμή και μπορεί να τηρεί στατιστικά για τους χρήστες και τα μηχανήματα που θα κάνουν τις περισσότερες εκτυπώσεις, να παράγει σελίδες banner που να δείχνουν σε ποιόν ανήκει η κάθε εκτύπωση, και πολλά άλλα. Αφού διαβάσετε αυτό το κεφάλαιο θα ξέρετε: Πως να ρυθμίσετε την ουρά εκτυπώσεων (print spooler) του &os;. Πως να εγκαθιστάτε φίλτρα εκτύπωσης, να χειρίζεστε ειδικές εργασίες εκτύπωσης (π.χ. τη μετατροπή εισερχόμενων κειμένων σε μορφές εκτύπωσης που είναι κατανοητές από τους εκτυπωτές σας). Πως να ενεργοποιήσετε σελίδες τύπου κεφαλίδας ή banner στις εκτυπώσεις σας. Πως να εκτυπώνετε σε εκτυπωτές που είναι συνδεδεμένοι σε άλλους υπολογιστές. Πως να εκτυπώνετε σε εκτυπωτές που είναι συνδεδεμένοι απευθείας στο δίκτυο. Πως να ελέγχετε τους περιορισμούς εκτύπωσης, συμπεριλαμβανομένων των περιορισμών μεγέθους των εργασιών εκτύπωσης, και πως να παρεμποδίζετε την δυνατότητα εκτύπωσης σε συγκεκριμένους χρήστες. Πως να κρατήσετε στατιστικά για τον εκτυπωτή, και καταγραφή για τη χρήση του εκτυπωτή από κάθε χρήστη. Πως να αντιμετωπίσετε προβλήματα στις εκτυπώσεις. Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: Να γνωρίζετε πως να ρυθμίσετε και να εγκαταστήσετε ένα νέο πυρήνα (). Εισαγωγή Για να χρησιμοποιήσετε εκτυπωτές στο &os;, θα χρειαστεί να ρυθμίσετε τη λειτουργία τους με το σύστημα παροχέτευσης (spooling) εκτυπωτών γραμμής του Berkeley, γνωστό επίσης και ως σύστημα παροχέτευσης LPD, ή απλά LPD. Αυτό είναι το προκαθορισμένο σύστημα ελέγχου εκτυπωτών στο &os;. Το κεφάλαιο αυτό είναι μια εισαγωγή στο LPD και θα σας καθοδηγήσει στις ρυθμίσεις του. Εάν σας είναι οικείο το LPD ή κάποιο άλλο σύστημα παροχέτευσης εκτυπωτών, τότε μπορείτε να μεταπηδήσετε στην ενότητα Βασική Εγκατάσταση. Το LPD μπορεί να ελέγχει εξ' ολοκλήρου όλες τις λειτουργίες των εκτυπωτών ενός υπολογιστή. Είναι κυρίως υπεύθυνο για ένα πλήθος λειτουργιών: Ελέγχει την πρόσβαση σε απευθείας συνδεμένους εκτυπωτές και εκτυπωτές προσαρτημένους σε άλλους κόμβους στο δίκτυο. εργασίες εκτύπωσης Επιτρέπει σε χρήστες να στέλνουν αρχεία προς εκτύπωση. Οι αποστολές αυτές είναι γνωστές ως εργασίες (jobs). Διατηρεί ουρά αναμονής (queue) για κάθε εκτυπωτή, ώστε να προλαμβάνει την ταυτόχρονη πρόσβαση από πολλούς χρήστες. Μπορεί να εκτυπώνει σελίδες κεφαλίδας (γνωστές επίσης ως banner ή σελίδες burst) ώστε οι χρήστες να μπορούν εύκολα να ξεχωρίσουν τις εργασίες τους μέσα στην στοίβα εκτυπώσεων. Φροντίζει για την ορθότητα των παραμέτρων επικοινωνίας των εκτυπωτών που είναι συνδεδεμένοι σε σειριακές θύρες. Μπορεί μέσω του δικτύου να στείλει εργασίες σε σύστημα παροχέτευσης LPD διαφορετικού υπολογιστή. Μπορεί να εκτελέσει διάφορα φίλτρα για να προσαρμόσει εργασίες ώστε να είναι δυνατή η εκτύπωση τους σε εκτυπωτές που χρησιμοποιούν διαφορετικές γλώσσες ή έχουν διαφορετικές δυνατότητες. Μπορεί να κάνει καταμέτρηση χρήσης του εκτυπωτή. Μέσω του αρχείου ρύθμισης (/etc/printcap), και με τη βοήθεια ειδικών προγραμμάτων φίλτρων, μπορείτε να ενεργοποιήσετε το σύστημα LPD να κάνει όλες ή κάποιες από τις παραπάνω εργασίες σε μια μεγάλη γκάμα συσκευών εκτύπωσης. Γιατί θα πρέπει να χρησιμοποιείτε τον Spooler Αν είστε ο μοναδικός χρήστης του συστήματος, θα αναρωτιέστε γιατί θα έπρεπε να ενδιαφερθείτε για τον spooler αφού δεν χρειάζεστε έλεγχο πρόσβασης, σελίδες κεφαλίδας, ή αναφορές εκτύπωσης. Αν και μπορείτε να ενεργοποιήσετε την άμεση πρόσβαση στον εκτυπωτή, είναι καλύτερα να χρησιμοποιείτε τον spooler για τους παρακάτω λόγους: το LPD εκτυπώνει τις εργασίες στο παρασκήνιο, δεν χρειάζεται να περιμένετε να αντιγραφούν τα δεδομένα στον εκτυπωτή. &tex; Το LPD μπορεί άνετα να εκτελεί μια εργασία εκτύπωσης διαμέσου φίλτρων και να προσθέτει κεφαλίδες ημερομηνίας/ώρας ή να μετατρέπει κάποιο ειδικό τύπο αρχείου (όπως ένα αρχείο &tex; DVI) σε ένα τύπο κατανοητό από τον εκτυπωτή σας. Αυτές οι διαδικασίες δεν χρειάζεται να γίνονται χειροκίνητα. Πολλά από τα ελεύθερα και εμπορικά διαθέσιμα προγράμματα που παρέχουν διευκολύνσεις στην εκτύπωση, συνήθως επιζητούν να επικοινωνήσουν με τον spooler του συστήματος σας. Ρυθμίζοντας το σύστημα παροχέτευσης, θα μπορείτε ευκολότερα να υποστηρίζετε λογισμικό τρίτων, που μπορεί ήδη να έχετε ή που πρόκειται να εγκαταστήσετε στο μέλλον. Βασική Εγκατάσταση Για να χρησιμοποιήσετε εκτυπωτές με το σύστημα παροχέτευσης LPD, θα πρέπει να εγκαταστήσετε τόσο το hardware του εκτυπωτή σας όσο και το λογισμικό LPD. Αυτό το έγγραφο περιγράφει την εγκατάσταση σε δύο στάδια: Δείτε την ενότητα Βασικές Ρυθμίσεις Εκτυπωτών για να μάθετε πως γίνεται η σύνδεση εκτυπωτών, με ποιο τρόπο επικοινωνεί το LPD με τους εκτυπωτές, και πως να εκτυπώνετε απλά αρχεία κειμένου. Δείτε την ενότητα Ρυθμίσεις Εκτυπωτών για Προχωρημένους για να μάθετε πως να εκτυπώνετε αρχεία ειδικής μορφής διαφόρων τύπων, πως να εκτυπώνετε σελίδες κεφαλίδας, πως να εκτυπώνετε σε ένα δίκτυο, πως να ελέγχετε την πρόσβαση στους εκτυπωτές, και πως να χρησιμοποιείτε την καταγραφή εκτυπώσεων. Βασικές Ρυθμίσεις Εκτυπωτών Αυτή η ενότητα περιγράφει πως να ρυθμίσετε το hardware του εκτυπωτή και το λογισμικό LPD. Παρέχει βασικές γνώσεις για τα εξής θέματα: Η Ενότητα Ρυθμίσεις Hardware υποδεικνύει πως να συνδέσετε τον εκτυπωτή σε μια θύρα του υπολογιστή σας. Η Ενότητα Ρυθμίσεις Λογισμικού υποδεικνύει πως να εγκαταστήσετε το αρχείο ρύθμισης του συστήματος παροχέτευσης LPD: το αρχείο /etc/printcap. Αν προσπαθείτε να εγκαταστήσετε έναν εκτυπωτή που δέχεται δεδομένα μέσω πρωτοκόλλου δικτύου και όχι μέσω διασύνδεσης τοπικής θύρας, τότε δείτε την ενότητα Εκτυπωτές Με Συνδέσεις Δικτύου. Αν και αυτή η ενότητα ονομάζεται Βασικές Ρυθμίσεις Εκτυπωτών, στην πραγματικότητα είναι αρκετά περίπλοκη. Το δυσκολότερο στάδιο στην εγκατάσταση είναι η επιτυχής λειτουργία στην επικοινωνία του εκτυπωτή με τον υπολογιστή σας και το σύστημα παροχέτευσης LPD. Οι επιλογές για προχωρημένους, όπως οι σελίδες κεφαλίδας και αναφοράς είναι σχετικά εύκολες να επιτευχθούν, μετά την επιτυχή ρύθμιση της βασικής λειτουργίας εκτύπωσης. Ρυθμίσεις Hardware Αυτή η ενότητα εξηγεί τους διάφορους τρόπους σύνδεσης του εκτυπωτή με τον υπολογιστή σας. Περιγράφει τους διάφορους τύπους θυρών και καλωδίων, και τις ρυθμίσεις που πρέπει να κάνετε στον πυρήνα για να ενεργοποιήσετε την επικοινωνία μεταξύ &os; και εκτυπωτή. Αν ήδη έχετε καταφέρει να συνδέσετε τον εκτυπωτή σας και έχετε εκτυπώσει επιτυχώς σε άλλο λειτουργικό σύστημα, τότε μπορείτε να μεταβείτε κατευθείαν στην ενότητα Ρυθμίσεις Λογισμικού. Θύρες και Καλώδια Οι εκτυπωτές που διατίθενται σήμερα για χρήση με Η/Υ παρέχονται με μία ή περισσότερες εκ των ακολούθων τριών διασυνδέσεων: εκτυπωτές σειριακοί Οι Σειριακές διασυνδέσεις, γνωστές και ως RS-232 ή θύρες COM, χρησιμοποιούν την σειριακή θύρα του υπολογιστή σας για να στείλουν δεδομένα στον εκτυπωτή. Οι σειριακές διασυνδέσεις είναι συνήθεις στην βιομηχανία κατασκευής Η/Υ και τα καλώδια είναι εκτενώς διαδεδομένα και επίσης εύκολα να κατασκευαστούν. Οι σειριακές διασυνδέσεις μερικές φορές χρειάζονται ειδικά καλώδια και μπορεί να σας ζητηθούν πολύπλοκες επικοινωνιακές ρυθμίσεις. Οι περισσότερες σειριακές θύρες των Η/Υ έχουν μέγιστη ταχύτητα μετάδοσης 115200 bps, κάνοντας δύσκολη την εργασία εκτύπωσης γραφικών μεγάλων διαστάσεων. εκτυπωτές παράλληλοι Οι Παράλληλες διασυνδέσεις χρησιμοποιούν την παράλληλη θύρα του υπολογιστή σας για να στέλνουν δεδομένα στον εκτυπωτή. Οι παράλληλες διασυνδέσεις είναι διαδεδομένες στο εμπόριο και είναι γρηγορότερες από τις σειριακές RS-232. Τα καλώδια διατίθενται έτοιμα, αλλά είναι δυσκολότερο να κατασκευαστούν χειρωνακτικά. Με τις παράλληλες διασυνδέσεις δεν προβλέπονται επιλογές ρύθμισης επικοινωνίας, κάνοντας την ρύθμιση τους εξαιρετικά απλή. centronics παράλληλοι εκτυπωτές Οι παράλληλες διασυνδέσεις είναι γνωστές και ως διασυνδέσεις Centronics, ονομασία προερχόμενη από τον τύπο του ακροδέκτη του εκτυπωτή. εκτυπωτές USB Οι διασυνδέσεις USB, συντομογραφία από το Universal Serial Bus, δουλεύουν σε ακόμη μεγαλύτερες ταχύτητες από την παράλληλη και την RS-232 σειριακή διασύνδεση. Τα καλώδια τους είναι απλά και φτηνά. Η USB είναι ανώτερη από την Σειριακή RS-232 και από την Παράλληλη στην εκτύπωση, αλλά δυστυχώς δεν υποστηρίζεται καλά από τα συστήματα &unix;. Ένας τρόπος για να αποφύγετε αυτό το πρόβλημα είναι να αγοράσετε εκτυπωτή που φέρει διασύνδεση USB και Παράλληλη, όπως συμβαίνει με πολλούς εκτυπωτές. Γενικά, οι Παράλληλες διασυνδέσεις προσφέρουν συνήθως μίας κατεύθυνσης επικοινωνία (από τον υπολογιστή στον εκτυπωτή) ενώ η σειριακή και η USB δίνουν αμφίδρομη. Στο &os; οι πιο πρόσφατες παράλληλες θύρες (EPP και ECP) καταφέρνουν αμφίδρομη επικοινωνία με τους εκτυπωτές, όταν χρησιμοποιούνται καλώδια που συμμορφώνονται με το πρότυπο IEEE-1284. PostScript Η αμφίδρομη επικοινωνία με εκτυπωτές διαμέσου παράλληλης θύρας μπορεί να επιτευχθεί γενικά με δύο τρόπους. Ο πρώτος τρόπος χρησιμοποιεί ένα προσαρμοσμένο πρόγραμμα οδήγησης εκτυπωτή, ώστε να μπορεί το &os; να συνομιλεί στην γλώσσα του εκτυπωτή. Αυτό είναι σύνηθες με εκτυπωτές inkjet και μπορεί επίσης να χρησιμοποιηθεί για αναφορές διαθέσιμης ποσότητας μελανιού και για άλλες πληροφορίες λειτουργίας. Η δεύτερη μέθοδος χρησιμοποιείται όταν ο εκτυπωτής έχει δυνατότητα υποστήριξης &postscript;. Οι εργασίες &postscript; είναι στην πραγματικότητα προγράμματα που αποστέλλονται στον εκτυπωτή, δεν είναι απαραίτητο να παράγουν εκτυπώσεις, ενώ μπορούν να επιστρέψουν το αποτέλεσμα τους απευθείας στον υπολογιστή. Το &postscript; χρησιμοποιεί αμφίδρομη επικοινωνία για να ενημερώσει τον υπολογιστή για τυχόν προβλήματα, όπως σφάλματα στο πρόγραμμα &postscript; ή μπλοκάρισμα τροφοδοσίας χαρτιού. Οι χρήστες σας, θα σας είναι ευγνώμονες για αυτές τις πληροφορίες. Επιπλέον, ο καλύτερος τρόπος για να κάνετε σωστή καταμέτρηση με ένα αμφίδρομο εκτυπωτή &postscript; είναι: να ρωτήσετε τον εκτυπωτή για την συνολική καταμέτρηση των σελίδων του (πόσες σελίδες εκτύπωσε σε όλη τη διάρκεια ζωής του), μετά να αποστείλετε την εργασία του χρήστη, και έπειτα να ξαναρωτήσετε για την καταμέτρηση των σελίδων του. Αφαιρέστε τις δύο τιμές και θα γνωρίζετε πόσες σελίδες να χρεώσετε στον χρήστη. Παράλληλες Θύρες Για να συνδέσετε έναν εκτυπωτή σε παράλληλη θύρα, συνδέστε το καλώδιο Centronics μεταξύ εκτυπωτή και υπολογιστή. Οι οδηγίες που συνοδεύουν τον εκτυπωτή και τον υπολογιστή θα σας καθοδηγήσουν να ολοκληρώσετε την σύνδεση. Θυμηθείτε ποια παράλληλη θύρα χρησιμοποιείτε στον υπολογιστή. Η πρώτη παράλληλη θύρα στο &os; είναι η ppc0, η δεύτερη είναι η ppc1, και ούτω καθεξής. Το όνομα συσκευής του εκτυπωτή χρησιμοποιεί την ίδια αρίθμηση: /dev/lpt0 για τον εκτυπωτή στην πρώτη παράλληλη θύρα κ.τ.λ. Σειριακές Θύρες Για να συνδέσετε έναν εκτυπωτή χρησιμοποιώντας σειριακή διασύνδεση, συνδέστε το κατάλληλο σειριακό καλώδιο μεταξύ εκτυπωτή και υπολογιστή. Οι οδηγίες που συνοδεύουν τον εκτυπωτή και τον υπολογιστή σας, θα σας καθοδηγήσουν να ολοκληρώσετε την σύνδεση. Αν δεν είστε σίγουροι ποιο είναι το κατάλληλο σειριακό καλώδιο, μπορείτε να δοκιμάσετε μία από τις ακόλουθες εναλλακτικές: Ένα καλώδιο modem ενώνει κάθε pin του ακροδέκτη από τη μια πλευρά του καλωδίου κατευθείαν με το αντίστοιχο pin του ακροδέκτη στο άλλο άκρο. Αυτός ο τύπος καλωδίου είναι γνωστός και ως καλώδιο DTE-to-DCE. null-modem cable Ένα καλώδιο null-modem ενώνει κατευθείαν μερικά pins, ανταλλάσσει μερικά άλλα (για παράδειγμα, τα pins αποστολής και λήψης), ενώ βραχυκυκλώνει μερικά άλλα, εσωτερικά, στο προστατευτικό κάλυμμα κάθε ακροδέκτη. Αυτός ο τύπος καλωδίου είναι γνωστός και ως καλώδιο DTE-to-DTE. Ένα καλώδιο σειριακού εκτυπωτή, που απαιτείται από κάποιους λιγότερο συνηθισμένους εκτυπωτές, είναι σαν το καλώδιο null-modem, αλλά στέλνει ισοδύναμα σήματα και στα δύο άκρα αντί να τα βραχυκυκλώνει εσωτερικά. ρυθμός 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). Να θυμάστε αυτές τις ρυθμίσεις, για το στάδιο ρύθμισης λογισμικού που ακολουθεί. Ρυθμίσεις Λογισμικού Αυτή η ενότητα περιγράφει τις αναγκαίες ρυθμίσεις που πρέπει να γίνουν στο λογισμικό για να μπορείτε να εκτυπώνετε με το σύστημα παροχέτευσης εκτυπωτών LPD στο &os;. Μια γενική άποψη των ενεργειών που πρέπει να ακολουθήσετε είναι: Ρυθμίστε τον πυρήνα σας, αν είναι αναγκαίο, για την θύρα που χρησιμοποιείτε για τον εκτυπωτή σας. Οι απαραίτητες ρυθμίσεις περιγράφονται στην ενότητα Ρυθμίσεις Πυρήνα. Ρυθμίστε την κατάσταση επικοινωνίας για την παράλληλη θύρα, αν πρόκειται να την χρησιμοποιήσετε. Η ενότητα Ρυθμίσεις Κατάστασης Επικοινωνίας για την Παράλληλη Θύρα περιέχει λεπτομέρειες. Ελέγξτε αν το λειτουργικό σύστημα μπορεί να στείλει δεδομένα στον εκτυπωτή. Η ενότητα Έλεγχος Επικοινωνίας του Εκτυπωτή παρέχει μερικές συμβουλές για το πως θα μπορούσε να γίνει ο έλεγχος. Ρυθμίστε το LPD για τον εκτυπωτή σας, τροποποιώντας το αρχείο /etc/printcap. Θα βρείτε οδηγίες για αυτές τις ρυθμίσεις σε επόμενο τμήμα αυτού του κεφαλαίου. Ρυθμίσεις Πυρήνα Ο πυρήνας του λειτουργικού συστήματος έχει μεταγλωττιστεί έτσι ώστε να δουλεύει με ένα συγκεκριμένο σύνολο συσκευών. Η σειριακή και η παράλληλη διασύνδεση του εκτυπωτή είναι μέρος αυτού του συνόλου. Επομένως, ίσως να είναι αναγκαίο να προσθέσετε υποστήριξη για κάποια πρόσθετη σειριακή ή παράλληλη θύρα, αν δεν είναι ήδη ρυθμισμένη στον πυρήνα σας. Για να ελέγξετε αν ο πυρήνας σας μπορεί να υποστηρίξει μια σειριακή διασύνδεση, πληκτρολογήστε: &prompt.root; grep sioN /var/run/dmesg.boot Όπου N είναι ο αριθμός της σειριακής θύρας, ξεκινώντας από το μηδέν. Αν δείτε στην έξοδο του τερματικού σας κάτι παρόμοιο με: sio2 at port 0x3e8-0x3ef irq 5 on isa sio2: type 16550A τότε ο πυρήνας υποστηρίζει αυτή τη θύρα. Για να ελέγξετε αν ο πυρήνας σας υποστηρίζει παράλληλες διασυνδέσεις, πληκτρολογήστε: &prompt.root; grep ppcN /var/run/dmesg.boot Όπου N είναι ο αριθμός της παράλληλης θύρας, ξεκινώντας από το μηδέν. Αν δείτε στην έξοδο του τερματικού σας κάτι παρόμοιο με: 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 τότε ο πυρήνας υποστηρίζει αυτή τη θύρα. Για να μπορεί το λειτουργικό σύστημα να αναγνωρίζει και να χρησιμοποιεί την θύρα (παράλληλη ή σειριακή) για τον εκτυπωτή σας, ίσως χρειαστεί να επαναπροσαρμόσετε τον πυρήνα σας. Για την υποστήριξη σειριακής θύρας, δείτε την ενότητα στις ρυθμίσεις του πυρήνα. Για την υποστήριξη παράλληλης θύρας, δείτε την ίδια ενότητα και την ενότητα που ακολουθεί. Ρυθμίσεις Κατάστασης Επικοινωνίας για την Παράλληλη Θύρα Όταν χρησιμοποιείτε την παράλληλη διασύνδεση, μπορείτε να επιλέξετε αν η επικοινωνία του &os; με τον εκτυπωτή θα είναι τύπου interrupt-driven ή polled. Ο γενικός οδηγός συσκευής του εκτυπωτή (&man.lpt.4;) στο &os; χρησιμοποιεί το σύστημα &man.ppbus.4;, το οποίο ελέγχει την θύρα του chipset με τον οδηγό &man.ppc.4;. Η μέθοδος interrupt-driven είναι προεπιλεγμένη στον πυρήνα GENERIC. Με αυτή τη μέθοδο, το λειτουργικό σύστημα χρησιμοποιεί ένα σήμα IRQ για να προσδιορίσει αν ο εκτυπωτής είναι έτοιμος για δεδομένα. Η μέθοδος polled οδηγεί το λειτουργικό σύστημα να ζητά κατά επανάληψη από τον εκτυπωτή αν είναι έτοιμος για πρόσθετα δεδομένα. Όταν απαντήσει θετικά, ο πυρήνας στέλνει πρόσθετα δεδομένα. Η μέθοδος interrupt-driven είναι συνήθως κάπως γρηγορότερη αλλά χρησιμοποιεί μια πολύτιμη γραμμή IRQ. Έχει παρατηρηθεί πως κάποιοι σύγχρονοι εκτυπωτές HP δε δουλεύουν σωστά σε κατάσταση interrupt, πιθανώς λόγω κάποιων (όχι απόλυτα εξακριβωμένων) προβλημάτων συγχρονισμού. Αυτοί οι εκτυπωτές χρειάζονται την μέθοδο polled. Θα πρέπει να χρησιμοποιείτε την αποτελεσματικότερη κατάσταση λειτουργίας. Κάποιοι εκτυπωτές δουλεύουν και στις δυο καταστάσεις, αλλά είναι οδυνηρά αργοί στην κατάσταση λειτουργίας interrupt. Μπορείτε να ρυθμίσετε την κατάσταση επικοινωνίας με δύο τρόπους: ρυθμίζοντας τον πυρήνα ή χρησιμοποιώντας το πρόγραμμα &man.lptcontrol.8;. Για να θέσετε την κατάσταση επικοινωνίας ρυθμίζοντας τον πυρήνα: Επεξεργαστείτε το αρχείο ρύθμισης του πυρήνα. Δείτε την καταχώριση ppc0. Αν εγκαθιστάτε την δεύτερη παράλληλη θύρα, τότε χρησιμοποιείστε ppc1. Για την τρίτη θύρα ppc2 και ούτω καθεξής. Αν επιθυμείτε κατάσταση λειτουργίας interrupt-driven, επεξεργαστείτε την ακόλουθη γραμμή: hint.ppc.0.irq="N" στο αρχείο /boot/device.hints και αντικαταστήστε το N με τον σωστό αριθμό IRQ. Το αρχείο ρύθμισης του πυρήνα πρέπει επίσης να περιέχει τον οδηγό &man.ppc.4;: device ppc Αν επιθυμείτε κατάσταση λειτουργίας polled, διαγράψτε από το αρχείο /boot/device.hints, την ακόλουθη γραμμή: hint.ppc.0.irq="N" Σε μερικές περιπτώσεις, το παραπάνω δεν είναι αρκετό για να θέσετε την θύρα σε κατάσταση polled. Τις περισσότερες φορές το πρόβλημα προέρχεται από τον οδηγό &man.acpi.4;, ο οποίος έχει την ευχέρεια να εξετάζει και να προσαρτά συσκευές, και επομένως, να ελέγχει τον τρόπο πρόσβασης στην θύρα του εκτυπωτή. Θα πρέπει να ελέγξετε τις ρυθμίσεις του &man.acpi.4; για να διορθώσετε αυτό το πρόβλημα. Αποθηκεύστε το αρχείο. Ρυθμίστε, μεταγλωττίστε, και εγκαταστήστε τον πυρήνα, και έπειτα κάντε επανεκκίνηση. Για περισσότερες λεπτομέρειες, δείτε τις ρυθμίσεις του πυρήνα. Για να θέσετε την κατάσταση επικοινωνίας με το &man.lptcontrol.8;: Πληκτρολογήστε: &prompt.root; lptcontrol /dev/lptN για να θέσετε την κατάσταση λειτουργίας interrupt-driven για το lptN. Πληκτρολογήστε: &prompt.root; lptcontrol /dev/lptN για να θέσετε την κατάσταση λειτουργίας polled για το lptN. Θα μπορούσατε να καταχωρίσετε αυτές τις εντολές στο δικό σας αρχείο /etc/rc.local. Έτσι θα εκτελούνται αυτόματα κατά την εκκίνηση του συστήματος σας. Για περισσότερες πληροφορίες δείτε το &man.lptcontrol.8;. Έλεγχος Επικοινωνίας του Εκτυπωτή Πριν συνεχίσουμε να ρυθμίζουμε το σύστημα παροχέτευσης, θα πρέπει να βεβαιωθείτε ότι το λειτουργικό σύστημα μπορεί να στείλει επιτυχώς δεδομένα στον εκτυπωτή σας. Είναι ευκολότερο να κάνουμε ξεχωριστά την αποσφαλμάτωση επικοινωνίας του εκτυπωτή και την αποσφαλμάτωση του συστήματος παροχέτευσης. Θα ελέγξουμε τον εκτυπωτή στέλνοντας μερικά δεδομένα κειμένου. Για εκείνους τους εκτυπωτές που μπορούν να εκτυπώνουν άμεσα τους χαρακτήρες που έχουν αποσταλεί, το πρόγραμμα &man.lptest.1; είναι τέλειο: Παράγει όλους τους εκτυπώσιμους χαρακτήρες (96) ASCII σε 96 γραμμές. PostScript Για εκτυπωτές &postscript; (ή που βασίζονται σε άλλη γλώσσα), θα χρειαστεί να κάνουμε ένα πιο πολύπλοκο τεστ. Ένα μικρό πρόγραμμα &postscript;, όπως αυτό που ακολουθεί, επαρκεί: %!PS 100 100 moveto 300 300 lineto stroke 310 310 moveto /Helvetica findfont 12 scalefont setfont (Is this thing working?) show showpage Ο παραπάνω κώδικας &postscript; μπορεί να τοποθετηθεί σε ένα αρχείο και να χρησιμοποιηθεί όπως υποδεικνύουν τα παραδείγματα στις ακόλουθες ενότητες. PCL Όταν αυτό το έγγραφο αναφέρεται σε μια γλώσσα εκτυπωτή, εννοείται μια γλώσσα όπως η &postscript;, αλλά όχι η PCL της Hewlett Packard — η PCL είναι μια γλώσσα ευρείας λειτουργικότητας η οποία επιτρέπει την ανάμιξη απλού κειμένου με ακολουθίες διαφυγής. Η &postscript; δεν μπορεί να εκτυπώσει άμεσα απλό κείμενο, και αυτός είναι ακριβώς ο τύπος της γλώσσας εκτυπωτή που θα πρέπει να διευθετήσουμε κατάλληλα. Έλεγχος Παράλληλου Εκτυπωτή εκτυπωτές παράλληλη Αυτή η ενότητα υποδεικνύει πως να ελέγξετε αν το &os; μπορεί να επικοινωνήσει με έναν εκτυπωτή συνδεδεμένο σε παράλληλη θύρα. Για να ελέγξετε έναν εκτυπωτή σε παράλληλη θύρα: Γίνετε root με &man.su.1;. Στείλτε δεδομένα στον εκτυπωτή. Αν ο εκτυπωτής μπορεί να εκτυπώσει απλό κείμενο, τότε χρησιμοποιήστε το &man.lptest.1;. Πληκτρολογήστε: &prompt.root; lptest > /dev/lptN Όπου N είναι ο αριθμός της παράλληλης θύρας, ξεκινώντας από το μηδέν. Εάν ο εκτυπωτής καταλαβαίνει &postscript; ή κάποια άλλη γλώσσα εκτυπωτών, τότε στείλτε ένα μικρό πρόγραμμα στον εκτυπωτή. Πληκτρολογήστε: &prompt.root; cat > /dev/lptN Έπειτα πληκτρολογήστε το πρόγραμμα μία προς μία γραμμή, προσεκτικά, γιατί δεν μπορείτε να επεξεργαστείτε μια γραμμή αφότου έχετε πιέσει το πλήκτρο RETURN ή ENTER. Αφού τελειώσετε με την καταχώριση του προγράμματος, πιέστε CONTROL+D, ή άλλο πλήκτρο τερματισμού αρχείου. Εναλλακτικά, μπορείτε να τοποθετήσετε το πρόγραμμα σε ένα αρχείο και να πληκτρολογήσετε: &prompt.root; cat file > /dev/lptN Όπου file είναι το όνομα του αρχείου που περιέχει το πρόγραμμα που θέλετε να στείλετε στον εκτυπωτή. Θα δείτε κάτι να εκτυπώνεται. Μην ανησυχείτε αν το κείμενο δεν φαίνεται σωστό. Θα το διορθώσουμε αργότερα. Έλεγχος Σειριακού Εκτυπωτή printers serial Αυτή η ενότητα υποδεικνύει πως να ελέγξετε αν το &os; μπορεί να επικοινωνήσει με έναν εκτυπωτή συνδεδεμένο σε σειριακή θύρα. Για να ελέγξετε έναν εκτυπωτή σε σειριακή θύρα: Γίνετε root με &man.su.1;. Επεξεργαστείτε το αρχείο /etc/remote. Προσθέστε την ακόλουθη καταχώριση: printer:dv=/dev/port:br#bps-rate:pa=parity bits-per-second serial port parity Όπου port είναι η καταχώριση συσκευής για την σειριακή πόρτα (ttyd0, ttyd1, κτλ.), bps-rate είναι η ταχύτητα bits-per-second επικοινωνίας με τον εκτυπωτή, και parity η ισοτιμία που απαιτείται από τον εκτυπωτή (even, odd, none, ή zero). Παρακάτω φαίνεται ένα υπόδειγμα καταχώρισης, για έναν εκτυπωτή συνδεδεμένο μέσω σειριακής γραμμής στην τρίτη σειριακή θύρα με ταχύτητα 19200 bps και χωρίς parity: printer:dv=/dev/ttyd2:br#19200:pa=none Συνδεθείτε στον εκτυπωτή με &man.tip.1;. Πληκτρολογήστε: &prompt.root; tip printer Αν αυτό το στάδιο δεν δουλεύει, επεξεργαστείτε πάλι το αρχείο /etc/remote και προσπαθήστε το χρησιμοποιώντας /dev/cuaaN αντί για /dev/ttydN. Στείλτε δεδομένα στον εκτυπωτή. Αν ο εκτυπωτής μπορεί να εκτυπώσει απλό κείμενο, χρησιμοποιήστε &man.lptest.1;. Γράψτε: &prompt.user; $lptest Εάν ο εκτυπωτής καταλαβαίνει &postscript; ή κάποια άλλη γλώσσα εκτυπωτών, τότε στείλτε ένα μικρό πρόγραμμα στον εκτυπωτή. Πληκτρολογήστε το πρόγραμμα, μία προς μία γραμμή, πολύ προσεκτικά, καθώς ο εκτυπωτής μπορεί να ερμηνεύει διαφορετικά την χρήση χαρακτήρων όπως το backspace ή άλλων που παράγονται από διάφορα πλήκτρα επεξεργασίας. Μπορεί επίσης να χρειαστεί να πληκτρολογήσετε κάποιο ειδικό πλήκτρο τερματισμού αρχείου για τον εκτυπωτή ώστε να γνωρίζει πότε ολοκληρώνεται το πρόγραμμα. Για εκτυπωτές &postscript;, πιέστε CONTROL+D. Εναλλακτικά, μπορείτε να τοποθετήσετε το πρόγραμμα σε ένα αρχείο και να πληκτρολογήσετε: &prompt.user; >file Όπου file είναι το όνομα του αρχείου που περιέχει το πρόγραμμα. Αφού το &man.tip.1; στείλει το αρχείο, πιέστε το κατάλληλο πλήκτρο τερματισμού αρχείου, αν απαιτείται. Θα δείτε κάτι να εκτυπώνεται. Μην ανησυχείτε αν το κείμενο δεν φαίνεται σωστό. Θα το διορθώσουμε αργότερα. Ενεργοποίηση του Spooler: το Αρχείο <filename>/etc/printcap</filename> Σε αυτό το σημείο, ο εκτυπωτής σας θα πρέπει να είναι συνδεμένος, ο πυρήνας σας ρυθμισμένος να επικοινωνεί μαζί του (αν χρειάζεται), και έχετε πετύχει να στείλετε κάποια δοκιμαστικά δεδομένα στον εκτυπωτή. Είστε τώρα έτοιμοι να ρυθμίσετε το LPD για να ελέγχετε την πρόσβαση στον εκτυπωτή σας. Μπορείτε να ρυθμίσετε το LPD με επεξεργασία του αρχείου /etc/printcap. Το σύστημα παροχέτευσης LPD διαβάζει αυτό το αρχείο κάθε φορά που χρησιμοποιείται ο spooler, επομένως πιθανές αναβαθμίσεις του μπαίνουν άμεσα σε εφαρμογή. εκτυπωτές ικανότητες Είναι εύκολο να κατανοήσετε την μορφή του αρχείου &man.printcap.5;. Χρησιμοποιήστε τον κειμενογράφο που προτιμάτε για να κάνετε αλλαγές στο /etc/printcap. Η μορφή του είναι παρόμοια με άλλα αρχεία περιγραφής δυνατοτήτων, όπως τα /usr/share/misc/termcap και /etc/remote. Δείτε την &man.cgetent.3; για λεπτομερείς πληροφορίες σχετικά με την μορφή του αρχείου. Η πιο απλή ρύθμιση του spooler αποτελείται από τα ακόλουθα βήματα: Επιλέξτε ένα όνομα (και λίγα βολικά παρωνύμια) για τον εκτυπωτή, και τοποθετήστε τα στο αρχείο /etc/printcap. Δείτε την ενότητα Ονοματοδότηση Εκτυπωτή για περισσότερες πληροφορίες σχετικά με την ονομασία των εκτυπωτών. σελίδες κεφαλίδας Απενεργοποιήστε τις σελίδες κεφαλίδας (είναι ενεργές από προεπιλογή) εισάγοντας την ικανότητα sh. Για περισσότερες πληροφορίες δείτε την ενότητα Παρεμπόδιση Σελίδων Κεφαλίδας. Δημιουργήστε ένα κατάλογο παροχέτευσης, και καθορίστε την τοποθεσία του με την ικανότητα sd. Για περισσότερες πληροφορίες δείτε την ενότητα Δημιουργία Καταλόγου Παροχέτευσης. Καθορίστε την κατάλληλη καταχώριση /dev για τον εκτυπωτή, και σημειώστε τη στο /etc/printcap με την ικανότητα lp. Για περισσότερες πληροφορίες, δείτε την ενότητα Αναγνώριση της Συσκευής Εκτύπωσης. Επίσης, αν ο εκτυπωτής είναι σε σειριακή θύρα, εγκαταστήστε τις παραμέτρους επικοινωνίας με την ικανότητα ms# η οποία αναλύεται στην ενότητα Ρυθμίσεις Παραμέτρων Επικοινωνίας του Spooler. Εγκαταστήστε φίλτρα εισόδου απλού κειμένου. Δείτε την ενότητα Εγκατάσταση Φίλτρου Κειμένου για περισσότερες πληροφορίες. Ελέγξτε την εγκατάσταση εκτυπώνοντας οτιδήποτε με την εντολή &man.lpr.1;. Περισσότερες πληροφορίες είναι διαθέσιμες στις ενότητες Δοκιμή του Spooler και Εντοπισμός Βλαβών. Εκτυπωτές που βασίζονται σε γλώσσες εκτύπωσης, όπως οι εκτυπωτές &postscript;, δεν μπορούν να εκτυπώσουν άμεσα απλό κείμενο. Ο απλός τρόπος ρύθμισης που δείξαμε παραπάνω και που θα περιγράψουμε εκτενέστερα στις επόμενες ενότητες, προϋποθέτει πως αν ρυθμίζετε έναν τέτοιο εκτυπωτή θα μπορείτε να εκτυπώσετε μόνον αρχεία γραμμένα στη γλώσσα του. Οι χρήστες συνήθως νομίζουν πως μπορούν να εκτυπώσουν απλό κείμενο σε όλους τους εκτυπωτές που είναι εγκατεστημένοι στο σύστημα τους. Τα προγράμματα που χρησιμοποιούν το LPD για να εκτυπώσουν, κάνουν ακριβώς την ίδια υπόθεση. Αν προσπαθείτε να εγκαταστήσετε έναν τέτοιο εκτυπωτή και θέλετε να μπορείτε να τυπώνετε εργασίες στην γλώσσα του εκτυπωτή αλλά και σε απλό κείμενο, σας συνιστούμε να προσθέσετε ένα επιπλέον βήμα στην διαδικασία εγκατάστασης που περιγράψαμε παραπάνω: Εγκαταστήστε ένα πρόγραμμα αυτόματης μετατροπής από απλό κείμενο σε PostScript (ή σε άλλη γλώσσα εκτυπωτή). Η ενότητα Συμβατότητα Εργασιών Απλού Κειμένου σε εκτυπωτές &postscript; εξηγεί πως να ενεργήσετε. Ονοματοδότηση Εκτυπωτή Το πρώτο (εύκολο) βήμα είναι να επιλέξετε όνομα για τον εκτυπωτή σας. Δεν έχει σημασία αν θα προτιμήσετε ένα λειτουργικό ή κάποιο εξωτικό όνομα αφού μπορείτε επίσης να προσθέσετε και μερικά παρωνύμια (aliases) για τον ίδιο εκτυπωτή. Τουλάχιστον ένας από τους εκτυπωτές που αναφέρονται στο /etc/printcap θα πρέπει να έχει το παρωνύμιο lp. Αυτή είναι η ονομασία του προεπιλεγμένου εκτυπωτή. Εάν οι χρήστες δεν έχουν την μεταβλητή περιβάλλοντος PRINTER και δεν αναφέρουν κάποιο όνομα εκτυπωτή στην γραμμή εντολών με οποιαδήποτε εντολή LPD, τότε ο lp θα είναι ο προεπιλεγμένος εκτυπωτής για τις εκτυπώσεις τους. Επίσης, είναι κοινή πρακτική το τελευταίο alias του εκτυπωτή να είναι μια πλήρης περιγραφή του εκτυπωτή, που να περιλαμβάνει τον κατασκευαστή και το μοντέλο. Αφού επιλέξετε μια ονομασία και μερικά συνήθη παρωνύμια, καταχωρίστε τα στο αρχείο /etc/printcap. Το όνομα του εκτυπωτή θα πρέπει να αναφέρεται πρώτο στο αριστερό άκρο. Διαχωρίστε κάθε παρωνύμιο με μια κάθετη μπάρα και τοποθετήστε μια άνω-κάτω τελεία μετά το τελευταίο παρωνύμιο. Στο ακόλουθο παράδειγμα, ξεκινάμε με ένα εντελώς βασικό /etc/printcap που ορίζει δύο εκτυπωτές (έναν εκτυπωτή γραμμής Diablo 630 και έναν εκτυπωτή &postscript; laser Panasonic KX-P4455): # # /etc/printcap for host rose # rattan|line|diablo|lp|Diablo 630 Line Printer: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4: Σε αυτό το παράδειγμα, ο πρώτος εκτυπωτής ονομάζεται rattan και έχει ως παρωνύμια τα line, diablo, lp, και Diablo 630 Line Printer. Από τη στιγμή που έχει το παρωνύμιο lp, είναι και ο προεπιλεγμένος εκτυπωτής. Ο δεύτερος ονομάζεται bamboo, και έχει ως παρωνύμια τα ps, PS, S, panasonic, και Panasonic KX-P4455 PostScript v51.4. Παρεμπόδιση Σελίδων Κεφαλίδας printing header pages Το σύστημα παροχέτευσης LPD, από προεπιλογή, εκτυπώνει μια σελίδα κεφαλίδας για κάθε εργασία. Η σελίδα κεφαλίδας περιλαμβάνει το όνομα χρήστη που αιτήθηκε την εργασία, τον υπολογιστή από τον οποίον προήλθε η εργασία, και το όνομα της εργασίας, με μεγάλους όμορφους χαρακτήρες. Δυστυχώς αυτό το πρόσθετο κείμενο ακολουθεί την διαδικασία αποσφαλμάτωσης της εγκατάστασης ενός απλού εκτυπωτή, επομένως θα παρεμποδίσουμε τις σελίδες κεφαλίδας. Για την παρεμπόδιση των σελίδων κεφαλίδας, προσθέστε την ικανότητα sh στην καταχώριση για τον εκτυπωτή στο αρχείο /etc/printcap. Εδώ βλέπετε ένα παράδειγμα του /etc/printcap με προσθήκη της sh: # # /etc/printcap for host rose - no header pages anywhere # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh: Παρατηρήστε πως χειριστήκαμε σωστά τη μορφή: η πρώτη γραμμή ξεκινά στην αριστερή στήλη, και οι ακόλουθες γραμμές είναι στοιχισμένες (indented). Κάθε γραμμή καταχώρισης (εκτός από την τελευταία) τελειώνει με μια αριστερόστροφη κάθετο. Δημιουργία Καταλόγου Παροχέτευσης εκτυπωτής spool εκτύπωση εργασίες Το επόμενο βήμα στον απλό τρόπο εγκατάστασης είναι η δημιουργία ενός καταλόγου παροχέτευσης (spool), όπου θα φιλοξενούνται οι εργασίες εκτύπωσης έως ότου να εκτυπωθούν και όπου επίσης φυλάσσονται και κάποια άλλα βοηθητικά αρχεία του συστήματος εκτύπωσης. Λόγω της μεταβαλλόμενης φύσης των καταλόγων παροχέτευσης, συνηθίζεται να τοποθετούνται κάτω από τον κατάλογο /var/spool. Δεν είναι αναγκαίο να παίρνετε αντίγραφα ασφαλείας των καταλόγων παροχέτευσης. Η επαναδημιουργία τους είναι τόσο απλή όσο να τρέξουμε την εντολή &man.mkdir.1;. Είναι επίσης συνηθισμένο να ονομάζεται ο κατάλογος με το ίδιο όνομα με τον εκτυπωτή, όπως φαίνεται παρακάτω: &prompt.root; mkdir /var/spool/printer-name Ωστόσο, αν έχετε αρκετούς εκτυπωτές στο δίκτυο, ίσως επιθυμείτε να τοποθετήσετε τους καταλόγους παροχέτευσης κάτω από ένα μοναδικό κατάλογο που θα χρησιμοποιείται αποκλειστικά για εκτυπώσεις με το LPD. Θα κάνουμε ακριβώς αυτό για τα παραδείγματα μας με τους εκτυπωτές rattan και bamboo: &prompt.root; mkdir /var/spool/lpd &prompt.root; mkdir /var/spool/lpd/rattan &prompt.root; mkdir /var/spool/lpd/bamboo Εάν οι εργασίες των χρηστών περιέχουν προσωπικά δεδομένα, μπορεί να θέλετε να προστατέψετε τον κατάλογο παροχέτευσης με κάποιο τρόπο, ώστε να μην είναι δημόσια προσβάσιμος. Οι κατάλογοι παροχέτευσης θα πρέπει να ανήκουν και να είναι αναγνώσιμοι, εγγράψιμοι και με δυνατότητα αναζήτησης από τον χρήστη 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 Τέλος, πρέπει να ενημερώσετε το 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: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo: Σημειώστε πως το όνομα του εκτυπωτή ξεκινά στην πρώτη στήλη, ενώ όλες οι άλλες καταχωρίσεις που περιγράφουν τον εκτυπωτή θα πρέπει να είναι στοιχισμένες και κάθε τέλος γραμμής να φέρει χαρακτήρα διαφυγής με αριστερόστροφη κάθετο. Εάν δεν προσδιορίσετε τον κατάλογο παροχέτευσης μέσω του sd, τότε το σύστημα παροχέτευσης θα χρησιμοποιήσει τον προεπιλεγμένο /var/spool/lpd. Αναγνώριση της Συσκευής Εκτύπωσης Στην ενότητα Ρυθμίσεις Hardware αναγνωρίσαμε τη θύρα, και κατά συνέπεια την καταχώριση του καταλόγου /dev που θα χρησιμοποιήσει το &os; για να επικοινωνήσει με τον εκτυπωτή. Τώρα, θα δώσουμε στο LPD αυτή την πληροφορία. Όταν το σύστημα παροχέτευσης έχει μια εργασία να εκτυπώσει, θα ανοίξει αυτή την ειδική συσκευή για λογαριασμό του προγράμματος φίλτρου (που είναι υπεύθυνο για το πέρασμα των δεδομένων στον εκτυπωτή). Προσδιορίστε την διαδρομή της καταχώρισης /dev στο αρχείο /etc/printcap χρησιμοποιώντας την ικανότητα lp. Στο τρέχον παράδειγμα μας, ας υποθέσουμε ότι ο 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: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=/var/spool/lpd/bamboo:\ :lp=/dev/ttyd5: Αν δεν καθορίσετε σε κάποιον εκτυπωτή την ικανότητα lp στο αρχείο /etc/printcap, το LPD χρησιμοποιεί από προεπιλογή το /dev/lp. Το /dev/lp δεν υπάρχει την δεδομένη στιγμή στο &os;. Εάν ο εκτυπωτής που εγκαθιστάτε είναι συνδεδεμένος σε παράλληλη θύρα, διαβάστε απευθείας την ενότητα με τίτλο Εγκατάσταση Φίλτρου Κειμένου. Διαφορετικά, ακολουθήστε προσεκτικά τις οδηγίες που ακολουθούν στην επόμενη ενότητα. Ρυθμίσεις Παραμέτρων Επικοινωνίας του Spooler εκτυπωτές σειριακοί Για εκτυπωτές σε σειριακή πόρτα, το LPD μπορεί να ρυθμίσει την ταχύτητα σε bps, το parity, και άλλες παραμέτρους σειριακής επικοινωνίας για λογαριασμό του προγράμματος φίλτρου που στέλνει δεδομένα στον εκτυπωτή. Αυτό είναι πλεονέκτημα γιατί: Σας επιτρέπει να δοκιμάσετε διάφορες παραμέτρους επικοινωνίας προσθέτοντας τις απλά με επεξεργασία του αρχείου /etc/printcap. Δεν χρειάζεται να επαναμεταγλωττίσετε το πρόγραμμα φίλτρου. Επιτρέπει στο σύστημα παροχέτευσης να χρησιμοποιεί το ίδιο πρόγραμμα για πολλαπλούς εκτυπωτές, οι οποίοι μπορεί να έχουν διαφορετικές σειριακές ρυθμίσεις επικοινωνίας. Οι ακόλουθες ικανότητες του /etc/printcap ελέγχουν τις παραμέτρους σειριακής επικοινωνίας των συσκευών που αναφέρονται στην ικανότητα lp: br#bps-rate Ορίζει την ταχύτητα επικοινωνίας της συσκευής σε 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 Ορίζει τις επιλογές της συσκευής τερματικού μετά το άνοιγμα της συσκευής. Η &man.stty.1; εξηγεί τις διαθέσιμες επιλογές. Όταν το LPD ανοίγει την συσκευή που ορίζεται από την ικανότητα lp, υιοθετεί τα χαρακτηριστικά της συσκευής με ικανότητα ms#. Έχουν ιδιαίτερο ενδιαφέρον οι καταστάσεις λειτουργίας parenb, parodd, cs5, cs6, cs7, cs8, cstopb, crtscts, και ixon, που εξηγούνται στην σελίδα βοηθείας &man.stty.1;. Ας προσθέσουμε στο παράδειγμα μας έναν εκτυπωτή στην έκτη σειριακή θύρα. Θα θέσουμε την ταχύτητα 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: Εγκατάσταση Φίλτρου Κειμένου εκτύπωση φίλτρα Τώρα είμαστε έτοιμοι να πούμε στο LPD ποιο φίλτρο κειμένου να χρησιμοποιήσει για να στείλει εργασίες στον εκτυπωτή. Το φίλτρο κειμένου, γνωστό και ως φίλτρο εισόδου, είναι ένα πρόγραμμα που εκτελεί το LPD όταν υπάρχει εργασία προς εκτύπωση. Όταν το LPD εκτελεί το φίλτρο κειμένου για κάποιον εκτυπωτή, θέτει την standard input του φίλτρου στην εργασία εκτύπωσης, και την standard output στην συσκευή του εκτυπωτή που ορίζεται με την ικανότητα lp. Το φίλτρο αναμένεται να αναγνώσει την εργασία από την standard input, να εκτελέσει όλες τις απαραίτητες μεταγλωττίσεις για τον εκτυπωτή, και να γράψει το αποτέλεσμα στην standard output, το οποίο και θα εκτυπωθεί. Για περισσότερες πληροφορίες για τα φίλτρα κειμένου, δείτε την ενότητα Φίλτρα. Για την απλή εγκατάσταση των εκτυπωτών μας, το φίλτρο κειμένου μπορεί να είναι ένα μικρό shell script που απλά θα εκτελεί την εντολή /bin/cat για να στέλνει εργασίες στον εκτυπωτή. Το &os; έρχεται με άλλο ένα φίλτρο, το lpf που χειρίζεται δυνατότητες backspacing και υπογράμμισης για εκτυπωτές που ίσως να μην χειρίζονται σωστά αυτές τις λειτουργίες. Και φυσικά, μπορείτε να χρησιμοποιήσετε οποιοδήποτε άλλο πρόγραμμα φίλτρου επιθυμείτε. Το φίλτρο lpf περιγράφεται λεπτομερώς στην ενότητα lpf: ένα Φίλτρο Κειμένου. Θα ξεκινήσουμε δημιουργώντας το shell script /usr/local/libexec/if-simple σαν ένα απλό φίλτρο κειμένου. Τοποθετήστε το ακόλουθο κείμενο στο αρχείο χρησιμοποιώντας τον κειμενογράφο που προτιμάτε: #!/bin/sh # # if-simple - Simple text input filter for lpd # Installed in /usr/local/libexec/if-simple # # Simply copies stdin to stdout. Ignores all filter arguments. /bin/cat && exit 0 exit 2 Κάντε το αρχείο εκτελέσιμο: &prompt.root; chmod 555 /usr/local/libexec/if-simple Και ενημερώστε το 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: 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: Μπορείτε να βρείτε ένα αντίγραφο του script if-simple στον κατάλογο /usr/share/examples/printing. Ενεργοποίηση του <application>LPD</application> Το &man.lpd.8; εκτελείται από το /etc/rc, και ελέγχεται από την μεταβλητή lpd_enable. Η μεταβλητή αυτή έχει προεπιλεγμένη τιμή NO. Αν δεν το έχετε κάνει ακόμα, προσθέστε την ακόλουθη γραμμή: lpd_enable="YES" στο αρχείο /etc/rc.conf, και επανεκκινήστε το σύστημα σας, ή απλά εκτελέστε το &man.lpd.8;. &prompt.root; lpd Δοκιμή του Spooler Φτάσατε στο τέλος της απλής εγκατάστασης του LPD. Θα αφήσουμε για αργότερα τα συγχαρητήρια, αφού ακόμη θα πρέπει να ελέγξουμε την εγκατάσταση και να διορθώσουμε οποιοδήποτε πρόβλημα έχει προκύψει. Για να ελέγξετε την εγκατάσταση προσπαθήστε να εκτυπώσετε κάτι. Για να εκτυπώσετε με το σύστημα LPD, χρησιμοποιήστε την εντολή &man.lpr.1;, η οποία αποστέλλει μία εργασία προς εκτύπωση. Μπορείτε να συνδυάσετε την &man.lpr.1; με το πρόγραμμα &man.lptest.1;, για το οποίο κάναμε μια εισαγωγή στην ενότητα Έλεγχος Επικοινωνίας του Εκτυπωτή, για τον έλεγχο κειμένου. Για τον έλεγχο μιας απλής εγκατάστασης LPD: Πληκτρολογήστε: &prompt.root; lptest 20 5 | lpr printer-name Όπου printer-name είναι το όνομα ενός εκτυπωτή (ή το alias) που αναφέρεται στο /etc/printcap. Για να ελέγξετε τον προεπιλεγμένο εκτυπωτή, πληκτρολογήστε &man.lpr.1; χωρίς το πρόθεμα . Αν ο εκτυπωτής σας χρησιμοποιεί &postscript;, πρέπει να στείλετε ένα πρόγραμμα &postscript;, αντί να χρησιμοποιήσετε το &man.lptest.1;. Για να τα καταφέρετε, τοποθετήστε το πρόγραμμα σε ένα αρχείο και πληκτρολογήστε lpr file. Σε έναν εκτυπωτή &postscript;, η εκτύπωση θα είναι το αποτέλεσμα του προγράμματος που στείλατε. Αν χρησιμοποιείτε το &man.lptest.1;, τότε το αποτέλεσμα θα μοιάζει με το ακόλουθο: !"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456 $%&'()*+,-./01234567 %&'()*+,-./012345678 Για περαιτέρω έλεγχο του εκτυπωτή, δοκιμάστε να κατεβάσετε μεγαλύτερα προγράμματα (για εκτυπωτές που χρησιμοποιούν γλώσσα προγραμματισμού) ή τρέξτε το &man.lptest.1; με διαφορετικά προθέματα. Για παράδειγμα, η εντολή lptest 80 60 θα παράγει 60 γραμμές των 80 χαρακτήρων η καθεμία. Αν ο εκτυπωτής δεν δουλεύει, δείτε την ενότητα Εντοπισμός Βλαβών. Ρυθμίσεις Εκτυπωτών για Προχωρημένους Αυτή η ενότητα περιγράφει φίλτρα για την εκτύπωση ειδικής μορφής αρχείων, σελίδων κεφαλίδας, για εκτυπώσεις μέσω δικτύου, καθώς και για τον έλεγχο πρόσβασης και την καταμέτρηση χρήσης των εκτυπωτών. Φίλτρα εκτύπωση φίλτρα Αν και το LPD μπορεί να χειριστεί πρωτόκολλα δικτύων, λίστες αναμονής, έλεγχο πρόσβασης, και άλλες παραμέτρους των εκτυπώσεων, το κύριο μέρος της πραγματικής εργασίας γίνεται με τα φίλτρα. Τα φίλτρα είναι προγράμματα που επικοινωνούν με τον εκτυπωτή και χειρίζονται τις εξαρτήσεις της συσκευής και άλλες ειδικές απαιτήσεις της. Στην απλή εγκατάσταση εκτυπωτή, εγκαταστήσαμε ένα φίλτρο απλού κειμένου ιδιαίτερα απλής μορφής, που θα πρέπει να δουλεύει με τους περισσότερους εκτυπωτές (ενότητα Εγκατάσταση Φίλτρου Κειμένου). Ωστόσο, για να μπορέσετε να εκμεταλλευτείτε τις δυνατότητες μετατροπών μορφής, ελέγχου πρόσβασης και καταμέτρησης, και τυχόν ειδικές δυνατότητες του εκτυπωτή σας, θα πρέπει να καταλάβετε πως δουλεύουν τα φίλτρα. Σε τελική ανάλυση, θα είναι ευθύνη των φίλτρων να χειρίζονται όλες αυτές τις παραμέτρους. Τα κακά νέα είναι πως τις περισσότερες φορές θα πρέπει να παρέχετε εσείς οι ίδιοι τα φίλτρα σας. Τα καλά νέα είναι πως γενικώς υπάρχουν αρκετά διαθέσιμα, και αν δεν υπάρχουν, είναι σχετικά εύκολο να τα γράψετε. Επίσης, το &os; διατίθεται με ένα φίλτρο, το /usr/libexec/lpr/lpf, που δουλεύει με πολλούς εκτυπωτές που μπορούν να εκτυπώσουν απλό κείμενο. (Χειρίζεται backspacing και tabs στο αρχείο, και κάνει καταμέτρηση, αλλά τίποτα περισσότερο.) Υπάρχουν, επίσης, διάφορα άλλα φίλτρα και συστατικά τους στην Συλλογή των Ports του &os;. Σε αυτή την ενότητα θα βρείτε: : Η ενότητα Πως δουλεύουν τα Φίλτρα, προσπαθεί να δώσει μια γενική άποψη για τις αρμοδιότητες των φίλτρων στις διεργασίες εκτύπωσης. Θα πρέπει να διαβάσετε αυτή την ενότητα για να μπορείτε να καταλάβετε τι πραγματικά συμβαίνει όταν το LPD χρησιμοποιεί φίλτρα. Αυτές οι γνώσεις θα σας βοηθήσουν να προλαμβάνετε και να αποσφαλματώνετε προβλήματα που μπορούν να συμβούν καθώς εγκαθιστάτε όλο και περισσότερα φίλτρα σε κάθε εκτυπωτή σας. Το LPD αναμένει πως κάθε εκτυπωτής είναι ικανός, από προεπιλογή, να εκτυπώσει απλό κείμενο. Αυτό όμως είναι πρόβλημα για εκτυπωτές &postscript; (ή άλλους που βασίζονται σε γλώσσες προγραμματισμού) οι οποίοι δεν μπορούν να εκτυπώσουν άμεσα απλό κείμενο. Η ενότητα Συμβατότητα Εργασιών Απλού Κειμένου σε εκτυπωτές &postscript; σας εξηγεί τι θα πρέπει να κάνετε για να ξεπεράσετε αυτό το πρόβλημα. Θα πρέπει να διαβάσετε αυτή την ενότητα αν έχετε εκτυπωτή &postscript;. Το &postscript; είναι δημοφιλής μορφή εξόδου για πολλά προγράμματα. Μερικοί άνθρωποι προτιμούν και να γράφουν κατευθείαν σε κώδικα &postscript;. Δυστυχώς, οι εκτυπωτές &postscript; έχουν μεγάλο κόστος. Η ενότητα Προσομοίωση &postscript; για εκτυπωτές που δεν το υποστηρίζουν εξηγεί λεπτομερώς πως να μετατρέψετε ένα φίλτρο κειμένου για εκτυπωτές ώστε να λαμβάνει και να τυπώνει δεδομένα &postscript; σε εκτυπωτές που δεν είναι &postscript;. Θα πρέπει να διαβάσετε αυτήν την ενότητα αν είστε κάτοχος εκτυπωτή που δεν υποστηρίζει &postscript;. Η ενότητα Φίλτρα Μετατροπής περιγράφει μια αυτοματοποιημένη διαδικασία για την μετατροπή αρχείων ειδικής μορφής, όπως δεδομένα γραφικών ή στοιχειοθεσίας, σε μια μορφή κατανοητή από τον εκτυπωτή σας. Μετά την ανάγνωση αυτής της ενότητας, θα πρέπει να είστε σε θέση να ρυθμίσετε τους εκτυπωτές σας με τέτοιο τρόπο ώστε πληκτρολογώντας lpr οι χρήστες σας να μπορούν να εκτυπώσουν δεδομένα troff, ή με lpr δεδομένα &tex; DVI, ή με lpr να εκτυπώνουν εικόνες δεδομένων ράστερ, και ούτω καθεξής. Σας συμβουλεύουμε να διαβάσετε αυτή την ενότητα. Η ενότητα Φίλτρα Εξόδου περιγράφει ένα χαρακτηριστικό του LPD που δεν χρησιμοποιείται συχνά: τα φίλτρα εξόδου. Μπορείτε να προσπεράσετε αυτή την ενότητα, εκτός αν τυπώνετε σελίδες κεφαλίδας (δείτε τις Σελίδες Κεφαλίδας). Η ενότητα lpf: ένα Φίλτρο Κειμένου περιγράφει το lpf, ένα πραγματικά πλήρες, αν και απλό, φίλτρο κειμένου για εκτυπωτές γραμμής (και εκτυπωτές laser που μπορούν να λειτουργήσουν και ως εκτυπωτές γραμμής) που περιέχεται στο &os;. Αν χρειάζεστε ένα γρήγορο τρόπο για να κάνετε την καταμέτρηση σελίδων να δουλεύει σε απλό κείμενο, ή αν έχετε κάποιον εκτυπωτή που βγάζει καπνούς όταν βλέπει χαρακτήρες backspace, θα πρέπει οπωσδήποτε να εξετάσετε την περίπτωση του lpf. Μπορείτε να βρείτε αντίγραφο των διάφορων scripts που αναφέρονται παρακάτω, στον κατάλογο /usr/share/examples/printing. Πως Δουλεύουν τα Φίλτρα Όπως αναφέραμε προηγουμένως, φίλτρο είναι ένα εκτελέσιμο πρόγραμμα που ενεργοποιείται από το LPD για να χειρίζεται το τμήμα της επικοινωνίας με τον εκτυπωτή που εξαρτάται από τον τύπο της ίδιας της συσκευής. Όταν το LPD θέλει να εκτυπώσει ένα αρχείο μιας εργασίας, ξεκινά το πρόγραμμα του φίλτρου. Θέτει ως standard input του φίλτρου το αρχείο που πρέπει να εκτυπωθεί, ως standard output τον ίδιο τον εκτυπωτή και ως standard error το αρχείο αναφοράς σφαλμάτων (αναφέρεται στην ικανότητα lf του /etc/printcap, ή από προεπιλογή το /dev/console). troff Το φίλτρο που θα ξεκινήσει το LPD καθώς και οι παράμετροι του φίλτρου, εξαρτώνται από το τι έχετε δηλώσει στο αρχείο /etc/printcap και από το τι παραμέτρους έχει καθορίσει ο ίδιος ο χρήστης για την εργασία με την γραμμή εντολής &man.lpr.1;. Για παράδειγμα, αν ο χρήστης πληκτρολογήσει lpr , το LPD θα ξεκινήσει το φίλτρο troff, που υποδηλώνεται με την ικανότητα tf για τον εκτυπωτή προορισμού. Αν ο χρήστης επιθυμεί να εκτυπώσει απλό κείμενο, θα ξεκινήσει το φίλτρο if (αυτό πράγματι ισχύει τις περισσότερες φορές: δείτε τα Φίλτρα Εξόδου για λεπτομέρειες). Υπάρχουν τρεις τύποι φίλτρων που μπορείτε να προσδιορίσετε στο /etc/printcap: Το φίλτρο κειμένου, επονομαζόμενο και ως φίλτρο εισόδου στην τεκμηρίωση του LPD, χειρίζεται εκτυπώσεις κανονικού κειμένου. Θεωρήστε το ως το προεπιλεγμένο φίλτρο. Το LPD αναμένει πως όλοι οι εκτυπωτές, από προεπιλογή, είναι σε θέση να εκτυπώσουν απλό κείμενο, και είναι δουλειά του φίλτρου κειμένου να βεβαιωθεί ότι τα backspaces, τα tabs, και όλοι οι άλλοι ειδικοί χαρακτήρες δεν πρόκειται να προβληματίσουν τον εκτυπωτή. Εάν βρίσκεστε σε ένα περιβάλλον όπου θα πρέπει να καταμετρήσετε την χρήση των εκτυπωτών, το φίλτρο κειμένου θα πρέπει επίσης να καταμετρήσει τις εκτυπωμένες σελίδες, συνήθως μετρώντας τον αριθμό των εκτυπωμένων γραμμών και συγκρίνοντας τον με τον αριθμό των γραμμών που υποστηρίζει ο εκτυπωτής ανά σελίδα. Το φίλτρο κειμένου ξεκινά με την ακόλουθη λίστα παραμέτρων: filter-name -c -wwidth -llength -iindent -n login -h host acct-file όπου εμφανίζεται αν η εργασία έχει αποσταλεί με lpr width είναι η τιμή από την ικανότητα pw (πλάτος σελίδας - page width) όπως προσδιορίζεται στο /etc/printcap, με προεπιλεγμένη τιμή το 132 length είναι η τιμή από την ικανότητα pl (μήκος σελίδας - page length), με προεπιλεγμένη τιμή το 66 indent είναι το μέγεθος της εσοχής (indentation) από το lpr , με προεπιλεγμένη τιμή 0 login είναι το καταγεγραμμένο όνομα χρήστη που εκτυπώνει το αρχείο host είναι το όνομα του υπολογιστή από τον οποίο στάλθηκε η εργασία acct-file είναι το όνομα του αρχείου καταμέτρησης από την ικανότητα af. εκτυπώσεις φίλτρα Ένα φίλτρο μετατροπής μετατρέπει ένα αρχείο ειδικής μορφής σε ένα τύπο αρχείου κατάλληλο για εκτύπωση από τον συγκεκριμένο εκτυπωτή. Για παράδειγμα, τα δεδομένα στοιχειοθεσίας ditroff δεν μπορούν να εκτυπωθούν κατευθείαν, αλλά μπορείτε να εγκαταστήσετε ένα φίλτρο μετατροπής αρχείων ditroff, ώστε να μετατρέψετε τα δεδομένα ditroff σε μια μορφή που ο εκτυπωτής να μπορεί να αφομοιώσει και να τυπώσει. Θα μάθετε περισσότερα στην ενότητα Φϊλτρα Μετατροπής. Τα φίλτρα μετατροπής επίσης χρειάζονται για να κάνετε αρίθμηση/καταμέτρηση, αν χρειάζεστε καταμέτρηση των εκτυπώσεων σας. Τα φίλτρα μετατροπής ξεκινούν με τις ακόλουθες παραμέτρους: filter-name -xpixel-width -ypixel-height -n login -h host acct-file όπου pixel-width είναι η τιμή από την ικανότητα px (προεπιλεγμένη τιμή 0) και pixel-height είναι η τιμή από την ικανότητα py (προεπιλεγμένη τιμή 0). Το φίλτρο εξόδου χρησιμοποιείται μόνον αν δεν υπάρχει φίλτρο κειμένου, ή αν είναι ενεργοποιημένες οι σελίδες κεφαλίδας. Διαβάστε τη σχετική ενότητα Φίλτρα Εξόδου, αν και από την εμπειρία μας μπορούμε να σας πούμε ότι χρησιμοποιούνται σπάνια. Υπάρχουν μόνο δύο παράμετροι για τα φίλτρα εξόδου: filter-name -wwidth -llength οι οποίες είναι πανομοιότυπες με τις παραμέτρους και των φίλτρων κειμένου. Τα φίλτρα θα πρέπει επίσης να τερματίζουν με κάποια από τις ακόλουθες καταστάσεις εξόδου: exit 0 Αν το φίλτρο τύπωσε επιτυχώς το αρχείο. exit 1 Αν το φίλτρο απέτυχε να τυπώσει το αρχείο, αλλά θέλει το LPD να προσπαθήσει να εκτυπώσει το αρχείο ξανά. Το LPD θα ξεκινήσει ξανά το φίλτρο αν γίνει έξοδος με αυτή την κατάσταση. exit 2 Αν το φίλτρο απέτυχε να εκτυπώσει το αρχείο και δεν θέλει το LPD να προσπαθήσει ξανά. Το LPD θα απορρίψει το αρχείο. Το φίλτρο κειμένου που έρχεται με την κανονική έκδοση του &os;, /usr/libexec/lpr/lpf, εκμεταλλεύεται τις παραμέτρους πλάτους και μήκους σελίδας για να προσδιορίσει πότε να αποστείλει το form feed και πως να κάνει καταμέτρηση. Χρησιμοποιεί τις παραμέτρους για login, host, και αρχείου καταμέτρησης για να δημιουργήσει τις σχετικές εγγραφές καταμέτρησης. Αν είστε στη διαδικασία επιλογής φίλτρων, ελέγξτε αν είναι συμβατά με το LPD. Αν είναι συμβατά, τότε πρέπει να υποστηρίζουν την λίστα παραμέτρων που περιγράψαμε προηγουμένως. Αν σχεδιάζετε να γράψατε τα δικά σας φίλτρα γενικής χρήσης, τότε πρέπει να τα κάνετε να υποστηρίζουν την ίδια λίστα παραμέτρων και κωδικών εξόδου. Συμβατότητα Εργασιών Απλού Κειμένου σε Εκτυπωτές &postscript; εκτύπωση εργασιών Αν είστε ο μοναδικός χρήστης του Η/Υ σας και του εκτυπωτή &postscript; (ή άλλης γλώσσας εκτυπωτών), και είστε σίγουροι πως δεν πρόκειται να στείλετε ποτέ εκτυπώσεις απλού κειμένου στον εκτυπωτή σας και πως δεν θα χρησιμοποιήσετε τις υπηρεσίες των διαφόρων προγραμμάτων σας που θα θελήσουν να στείλουν απλό κείμενο στον εκτυπωτή σας, τότε δεν χρειάζεται να ασχοληθείτε καθόλου με αυτή την ενότητα. Αλλά, αν επιθυμείτε να στείλετε τόσο εργασίες &postscript; όσο και απλού κειμένου στον εκτυπωτή σας, τότε σας προτρέπουμε να προσθέσετε κάποιες ρυθμίσεις στην εγκατάσταση σας. Για να γίνει αυτό, θα πρέπει το φίλτρο κειμένου να ανιχνεύει αν η τρέχουσα εργασία είναι απλό κείμενο ή &postscript;. Όλες οι εργασίες &postscript; πρέπει να ξεκινούν με %! (αν ο εκτυπωτής σας χρησιμοποιεί άλλη γλώσσα, συμβουλευθείτε την τεκμηρίωση του). Αν είναι αυτοί οι πρώτοι δύο χαρακτήρες, τότε έχουμε &postscript;, και η υπόλοιπη εργασία μπορεί να σταλεί απευθείας στον εκτυπωτή. Αν δεν είναι αυτοί οι πρώτοι δύο χαρακτήρες, τότε το φίλτρο θα μετατρέψει το κείμενο σε &postscript; και θα τυπώσει το αποτέλεσμα. Πως γίνεται αυτό; εκτυπωτές σειριακοί Αν είστε κάτοχος σειριακού εκτυπωτή, ένας καλός τρόπος για να γίνει αυτό εφικτό είναι να εγκαταστήσετε το 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 # Installed in /usr/local/libexec/psif # IFS="" read -r first_line first_two_chars=`expr "$first_line" : '\(..\)'` if [ "$first_two_chars" = "%!" ]; then # # PostScript job, print it. # echo "$first_line" && cat && printf "\004" && exit 0 exit 2 else # # Plain text, convert it, then print it. # ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0 exit 2 fi Στο παραπάνω 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 # # Treat LF as CR+LF (to avoid the "staircase effect" on HP/PCL # printers): # printf "\033&k2G" || exit 2 # # Read first two characters of the file # IFS="" read -r first_line first_two_chars=`expr "$first_line" : '\(..\)'` if [ "$first_two_chars" = "%!" ]; then # # It is PostScript; use Ghostscript to scan-convert and print it. # /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \ -sOutputFile=- - && exit 0 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" && exit 0 fi exit 2 Τέλος, χρειάζεται να ενημερώσετε το LPD για το φίλτρο με την ικανότητα if: :if=/usr/local/libexec/ifhp: Αυτό είναι όλο. Μπορείτε να πληκτρολογήσετε lpr plain.text και lpr whatever.ps και τα δύο θα εκτυπωθούν επιτυχώς. Φίλτρα Μετατροπής Το επόμενο βήμα μετά την ολοκλήρωση της απλής εγκατάστασης που περιγράψαμε στις Βασικές Ρυθμίσεις Εκτυπωτών, είναι συνήθως η εγκατάσταση φίλτρων μετατροπής για τους τύπους αρχείων που προτιμάτε (εκτός από απλό κείμενο ASCII). Γιατί να εγκαταστήσετε Φίλτρα Μετατροπής; &tex; εκτύπωση αρχείων DVI Τα φίλτρα μετατροπής κάνουν την εκτύπωση διαφόρων τύπων αρχείων εύκολη υπόθεση. Για παράδειγμα, ας υποθέσουμε ότι έχουμε να κάνουμε αρκετή εργασία με το σύστημα στοιχειοθεσίας &tex;, και ότι έχουμε εκτυπωτή &postscript;. Κάθε φορά που δημιουργούμε ένα αρχείο DVI με το &tex;, δεν μπορούμε να εκτυπώσουμε κατευθείαν έως ότου να μετατρέψουμε το αρχείο DVI σε &postscript;. Η ακολουθία εντολών που πρέπει να ακολουθήσουμε είναι: &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: 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: Το φίλτρο DVI είναι ένα shell script που ονομάζεται /usr/local/libexec/psdf, το οποίο και παραθέτουμε παρακάτω: #!/bin/sh # # psdf - DVI to PostScript printer filter # Installed in /usr/local/libexec/psdf # # Invoked by lpd when user runs lpr -d # exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@" Αυτό το script τρέχει το dvips σε κατάσταση φίλτρου (με την παράμετρο ) στην standard input, από όπου και λαμβάνει την εργασία προς εκτύπωση. Αυτό ξεκινά το φίλτρο εκτύπωσης &postscript; lprps (δείτε την ενότητα Συμβατότητα Εργασιών Απλού Κειμένου σε εκτυπωτές &postscript;) δίνοντας του και τις παραμέτρους που πέρασε το LPD στο παραπάνω script. Το lprps θα χρησιμοποιήσει αυτές τις παραμέτρους για την καταμέτρηση των εκτυπωμένων σελίδων. Ακόμα μερικά Παραδείγματα Φίλτρων Μετατροπής Από τη στιγμή που δεν υπάρχει αυτοματοποιημένη μέθοδος για την εγκατάσταση των φίλτρων μετατροπής, ας μας επιτραπεί να παρέχουμε μερικά ακόμη παραδείγματα. Μπορείτε να τα χρησιμοποιήσετε σαν οδηγό για την δημιουργία των δικών σας φίλτρων. Αν νομίζετε πως είναι κατάλληλα για την περίπτωση σας μπορείτε να τα χρησιμοποιήσετε και κατευθείαν. Αυτό το παράδειγμα 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 Δουλεύει ως εξής: μετατρέπει το αρχείο 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: Το ακόλουθο 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 "$@" Το παραπάνω script χρησιμοποιεί πάλι το lprps για να χειριστεί την επικοινωνία με τον εκτυπωτή. Αν ο εκτυπωτής ήταν σε παράλληλη πόρτα τότε θα είχαμε, αντιθέτως, χρησιμοποιήσει το ακόλουθο script: #!/bin/sh # # pstf - Convert groff's troff data into PS, then print. # Installed in /usr/local/libexec/pstf # exec grops Εδώ είναι η καταχώριση που χρειάζεται να προσθέσουμε στο /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 # printf "\033&k2G" && fpr && printf "\033&l0H" && exit 0 exit 2 Και θα προσθέσουμε αυτή τη γραμμή στο /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 PATH=/usr/local/bin:$PATH; export PATH # # Define a function to clean up our temporary files. These exist # in the current directory, which will be the spooling directory # for the printer. # cleanup() { rm -f hpdf$$.dvi } # # Define a function to handle fatal errors: print the given message # and exit 2. Exiting with 2 tells LPD to do not try to reprint the # job. # fatal() { echo "$@" 1>&2 cleanup exit 2 } # # 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 # # Make sure we are not colliding with any existing files. # cleanup # # Link the DVI input file to standard input (the file to print). # ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0" # # Make LF = CR+LF # printf "\033&k2G" || fatal "Cannot initialize printer" # # Convert and print. Return value from dvilj2p does not seem to be # reliable, so we ignore it. # dvilj2p -M1 -q -e- dfhp$$.dvi # # Clean up and exit # cleanup exit 0 Αυτοματοποιημένες Μετατροπές: Μία Εναλλακτική στα Φίλτρα Μετατροπής Όλα τα φίλτρα μετατροπής μπορεί να πληρούν το περιβάλλον εκτυπώσεων σας, αλλά υποχρεώνουν τον χρήστη να προσδιορίζει (στην γραμμή εντολών του &man.lpr.1;) ποιό από αυτά θα χρησιμοποιηθεί. Αν οι χρήστες σας δεν είναι ιδιαίτερα εξοικειωμένοι με τους Η/Υ, το να πρέπει να αναφέρουν κάθε φορά ένα φίλτρο πιθανώς να είναι ενοχλητικό. Είναι ακόμα χειρότερο ωστόσο να γίνει λανθασμένη επιλογή φίλτρου, το οποίο θα εκτελεστεί σε ακατάλληλο για αυτό τύπο αρχείου, και θα προκαλέσει την σπατάλη εκατοντάδων σελίδων χαρτιού. Αντί να εγκαταστήσετε οποιοδήποτε φίλτρο μετατροπής, μπορεί να θέλετε να δοκιμάσετε να έχετε ένα φίλτρο κειμένου (αφού είναι το προεπιλεγμένο φίλτρο) που να ανιχνεύει τον τύπο του αρχείου που έχει ζητηθεί να εκτυπωθεί και να εκτελεί αυτόματα το κατάλληλο φίλτρο μετατροπής. Εργαλεία σαν το file μπορούν να σας βοηθήσουν. Μπορεί να είναι δύσκολο να προσδιοριστούν οι διαφορές μεταξύ κάποιων τύπων αρχείων—αλλά, φυσικά, μπορείτε πάντα να παρέχετε φίλτρα μετατροπής ειδικά για αυτές τις περιπτώσεις. apsfilter printing filters apsfilter Η Συλλογή των Ports του &os; έχει ένα φίλτρο κειμένου που εκτελεί αυτόματες μετατροπές και ονομάζεται apsfilter. Μπορεί να ανιχνεύει απλό κείμενο, &postscript;, DVI και σχεδόν οποιοδήποτε τύπο αρχείου, να εκτελεί την κατάλληλη μετατροπή, και να εκτυπώνει. Φίλτρα Εξόδου Το σύστημα παροχέτευσης LPD υποστηρίζει έναν ακόμη τύπο φίλτρου που ίσως να μην έχετε εξερευνήσει ακόμα: το φίλτρο εξόδου. Το φίλτρο εξόδου προορίζεται μόνο για εκτύπωση απλού κειμένου, όπως το φίλτρο κειμένου, αλλά με πολλές απλοποιήσεις. Εάν χρησιμοποιείτε φίλτρο εξόδου αλλά όχι φίλτρο κειμένου, τότε: Το LPD ξεκινά ένα φίλτρο εξόδου μόνο μια φορά για όλη την εργασία, αντί ένα χωριστό για κάθε αρχείο της εργασίας. Το 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>: ένα Φίλτρο Κειμένου Το πρόγραμμα /usr/libexec/lpr/lpf που παρέχεται με τη διανομή εκτελέσιμων του &os; είναι ένα φίλτρο κειμένου (φίλτρο εισόδου) που μπορεί να παραγραφοποιεί την έξοδο (εργασίες που έχουν σταλεί με lpr ), να επιτρέπει την διέλευση literal χαρακτήρων (εργασίες που έχουν σταλεί με lpr ), να ρυθμίζει την θέση εκτύπωσης με τη χρήση χαρακτήρων backspace και tab στην εργασία, και να κάνει καταμέτρηση των εκτυπωμένων σελίδων. Επίσης μπορεί να ενεργεί και σαν φίλτρο εξόδου. Το lpf είναι κατάλληλο για διάφορα περιβάλλοντα εκτύπωσης. Αν και δεν έχει δυνατότητα αποστολής ακολουθιών αρχικοποίησης στον εκτυπωτή, είναι εύκολο να γράψετε ένα shell script για να κάνετε την απαραίτητη αρχικοποίηση και να εκτελέσετε έπειτα το lpf. καταμέτρηση σελίδων καταμέτρηση εκτυπωτής Για να κάνει σωστά καταμέτρηση σελίδων, το lpf χρειάζεται κατάλληλες τιμές για τις ικανότητες pw και pl στο αρχείο /etc/printcap. Χρησιμοποιεί αυτές τις τιμές για να προσδιορίσει πόσο κείμενο μπορεί να χωρέσει σε μία σελίδα και από πόσες σελίδες αποτελείται η εργασία του χρήστη. Για περισσότερες πληροφορίες σχετικά με την καταμέτρηση σελίδων, συμβουλευτείτε την Καταμέτρηση Χρήσης Εκτυπωτών. Σελίδες Κεφαλίδας Αν έχετε αρκετούς χρήστες, και όλοι τους χρησιμοποιούν διάφορους εκτυπωτές, τότε πιθανώς να θεωρείτε τις σελίδες κεφαλίδας ως αναγκαίο κακό. σελίδες banner σελίδες κεφαλίδας σελίδες κεφαλίδας Οι σελίδες κεφαλίδας, γνωστές επίσης και ως banner ή σελίδες burst αναγνωρίζουν σε ποιον ανήκουν οι εργασίες μετά την εκτύπωση τους. Συνήθως τυπώνονται με μεγάλα, έντονα γράμματα, και ίσως με διακοσμητικά περιγράμματα, ώστε σε μια στοίβα εκτυπώσεων να ξεχωρίζουν από τα πραγματικά έγγραφα εργασιών των χρηστών. Επιτρέπουν έτσι στους χρήστες να βρίσκουν γρήγορα τις εργασίες τους. Το προφανές μειονέκτημα σε μια σελίδα κεφαλίδας είναι πως πρόκειται να εκτυπωθεί μια ακόμα σελίδα για κάθε μία εργασία. Η εφήμερη χρησιμότητα τους διαρκεί λίγα λεπτά, και ο προορισμός τους είναι ο κάδος αχρήστων/ανακύκλωσης. (Παρατηρήστε πως οι σελίδες κεφαλίδας είναι ανά εργασία, και όχι ανά αρχείο σε μια εργασία, επομένως το αχρηστευμένο χαρτί ίσως να μην είναι τόσο πολύ). Το σύστημα LPD μπορεί να παρέχει αυτόματα σελίδες κεφαλίδας για τις εκτυπώσεις σας, αν ο εκτυπωτής σας μπορεί να εκτυπώσει άμεσα απλό κείμενο. Αν έχετε εκτυπωτή &postscript;, θα χρειαστείτε ένα εξωτερικό πρόγραμμα για να δημιουργήσετε την σελίδα κεφαλίδας. Δείτε το Σελίδες Κεφαλίδας σε Εκτυπωτές &postscript;. Ενεργοποίηση Σελίδων Κεφαλίδας Στην ενότητα Βασικές Ρυθμίσεις Εκτυπωτών, απενεργοποιήσαμε τις σελίδες κεφαλίδας με την καταχώριση sh (σημαίνει suppress header) στο αρχείο /etc/printcap. Για να ενεργοποιήσετε τις σελίδες κεφαλίδας για κάποιον εκτυπωτή, απλά αφαιρέστε την ικανότητα 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 Προσδιορίστε την διαδρομή προς το φίλτρο εξόδου στην ικανότητα 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: Τώρα, όταν οι χρήστες εκτυπώνουν εργασίες στον teak, θα παίρνουν και μία σελίδα κεφαλίδας ανά εργασία. Αν οι χρήστες θέλουν να ξοδεύουν χρόνο ψάχνοντας για τις εκτυπώσεις τους, μπορούν να παρεμποδίσουν τις σελίδες κεφαλίδας αποστέλλοντας τις εργασίες τους με lpr . Δείτε την ενότητα Επιλογές Σελίδων Κεφαλίδας για περισσότερες επιλογές του &man.lpr.1;. Το LPD στέλνει το χαρακτήρα αλλαγής σελίδας (form feed) αμέσως μετά τη σελίδα κεφαλίδας. Αν ο εκτυπωτής σας χρησιμοποιεί διαφορετικό χαρακτήρα ή ακολουθία χαρακτήρων για την αλλαγή σελίδας, προσδιορίστε τα με την ικανότητα ff στο αρχείο /etc/printcap. Έλεγχος Σελίδων Κεφαλίδας Μετά την ενεργοποίηση των σελίδων κεφαλίδας, το LPD θα παράγει μία επιμήκη κεφαλίδα, μία ολόκληρη σελίδα με μεγάλα γράμματα που προσδιορίζει τον χρήστη, τον υπολογιστή (host), και την εργασία. Εδώ είναι ένα παράδειγμα (η kelly εκτύπωσε την εργασία με όνομα outline από τον υπολογιστή rose): k ll ll k l l k l l k k eeee l l y y k k e e l l y y k k eeeeee l l y y kk k e l l y y k k e e l l y yy k k eeee lll lll yyy y y y y yyyy ll t l i t l oooo u u ttttt l ii n nnn eeee o o u u t l i nn n e e o o u u t l i n n eeeeee o o u u t l i n n e o o u uu t t l i n n e e oooo uuu u tt lll iii n n eeee r rrr oooo ssss eeee rr r o o s s e e r o o ss eeeeee r o o ss e r o o s s e e r oooo ssss eeee Job: outline Date: Sun Sep 17 11:04:58 1995 Το LPD προσθέτει μια εντολή αλλαγής σελίδας (form feed) μετά από αυτό το κείμενο έτσι ώστε η εργασία να ξεκινήσει σε νέα σελίδα (εκτός αν έχετε προσδιορίσει την ικανότητα sf (suppress form feeds) για τον εκτυπωτή στο αρχείο /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. Καταμέτρηση με Σελίδες Κεφαλίδας Η χρήση των προεγκατεστημένων σελίδων κεφαλίδας του LPD ουσιαστικά υποχρεώνουν την τήρηση του παρακάτω κανόνα όταν κάνουμε καταμέτρηση χρήσης του εκτυπωτή: Οι σελίδες κεφαλίδας πρέπει να διατίθενται ελεύθερα (δίχως χρέωση). Γιατί; Διότι το φίλτρο εξόδου είναι το μοναδικό εξωτερικό πρόγραμμα που έχει τον έλεγχο στην εκτύπωση της κεφαλίδας και θα μπορούσε να κάνει καταμέτρηση, αλλά ωστόσο δεν παρέχει καμία πληροφορία για τον χρήστη ή τον υπολογιστή ή κάποιο άλλο αρχείο καταμέτρησης, επομένως δεν γνωρίζει σε ποιόν να αποδώσει την χρήση του εκτυπωτή. Δεν αρκεί απλά να προσθέσετε μία ακόμη σελίδα στην καταμέτρηση τροποποιώντας το φίλτρο κειμένου ή οποιοδήποτε άλλο φίλτρο μετατροπής (το οποίο διαθέτει τις πληροφορίες χρήστη και υπολογιστή), από τη στιγμή που οι χρήστες έχουν την δυνατότητα να παρεμποδίσουν τις σελίδες κεφαλίδας με lpr . Θα μπορούσαν πάλι να χρεωθούν για σελίδες κεφαλίδας που δεν εκτύπωσαν. Βασικά, η lpr θα είναι η προτιμώμενη επιλογή σε ένα περιβάλλον που οι χρήστες έχουν οικολογική συνείδηση, αλλά δεν μπορείτε πραγματικά να παροτρύνετε οποιονδήποτε να τη χρησιμοποιήσει. Δεν είναι αρκετό απλά κάθε φίλτρο σας να δημιουργεί τη δικιά του σελίδα κεφαλίδας (έτσι ώστε να μπορεί να χρεώνει με αυτό τον τρόπο). Αν οι χρήστες επιθυμούν την επιλογή παρεμπόδισης των σελίδων κεφαλίδας με lpr , θα συνεχίσουν να τις παραλαμβάνουν - και να χρεώνονται για αυτές - αφού το LPD δεν έχει δυνατότητα να περάσει σε οποιοδήποτε φίλτρο την επιλογή . Επομένως, ποιες επιλογές έχετε; Μπορείτε: Να αποδεχθείτε την υπόδειξη του LPD και να παρέχετε τις σελίδες κεφαλίδας ελεύθερα. Να εγκαταστήσετε εναλλακτικές λύσεις αντί του LPD, όπως το LPRng. Η ενότητα Εναλλακτικές Λύσεις για τον Στάνταρ Spooler δίνει περισσότερες πληροφορίες για άλλες εφαρμογές παροχέτευσης που μπορείτε να χρησιμοποιήσετε αντί για το LPD. Να γράψετε ένα έξυπνο φίλτρο εξόδου. Υπό κανονικές συνθήκες, ένα "φίλτρο εξόδου" δεν κάνει τίποτε παραπάνω από την αρχικοποίηση ενός εκτυπωτή ή μερικές απλές μετατροπές χαρακτήρων. Είναι κατάλληλο για σελίδες κεφαλίδας και για εργασίες απλού κειμένου (όταν δεν υπάρχει φίλτρο (εισόδου) κειμένου). Αλλά αν υπάρχει φίλτρο κειμένου για εργασίες απλού κειμένου, τότε το LPD θα ενεργοποιεί το φίλτρο εξόδου μόνο για τις σελίδες κεφαλίδας. Και το φίλτρο εξόδου μπορεί να αναλύει το κείμενο της σελίδας κεφαλίδας που δημιουργεί το LPD για να προσδιορίζει τον χρήστη και τον υπολογιστή, ώστε να χρεώνει τις σελίδες κεφαλίδας. Το μόνο επιπλέον πρόβλημα με αυτή τη μέθοδο είναι πως το φίλτρο εξόδου εξακολουθεί να μη γνωρίζει ποιό αρχείο καταμέτρησης να χρησιμοποιήσει (δεν του έχει δοθεί το όνομα του αρχείου από την ικανότητα af), αλλά αν το όνομα του αρχείου σας είναι γνωστό, μπορείτε να το ενσωματώσετε απευθείας στον κώδικα του φίλτρου εξόδου. Για να διευκολύνετε την διαδικασία ανάλυσης, χρησιμοποιήστε την ικανότητα sh (short header) στο /etc/printcap. Ίσως πάλι όλα αυτά να είναι υπερβολικά κοπιαστικά, ενώ είναι σίγουρο πως οι χρήστες θα εκτιμήσουν τον γενναιόδωρο διαχειριστή συστήματος που επιτρέπει ελεύθερα τις σελίδες κεφαλίδας. Σελίδες Κεφαλίδας σε Εκτυπωτές &postscript; Όπως περιγράψαμε παραπάνω, το LPD μπορεί να δημιουργήσει μία σελίδα κεφαλίδας απλού κειμένου, κατάλληλη για πολλούς εκτυπωτές. Οι εκτυπωτές &postscript;, φυσικά, δεν μπορούν να τυπώσουν κατευθείαν απλό κείμενο, επομένως αυτή η δυνατότητα του LPD για τις σελίδες κεφαλίδας είναι άχρηστη σε αυτή την περίπτωση. Ένας προφανής τρόπος να παρέχονται σελίδες κεφαλίδας είναι να δημιουργούνται από κάθε φίλτρο μετατροπής και το φίλτρο κειμένου. Τα φίλτρα θα πρέπει να δέχονται ως παραμέτρους το όνομα του χρήστη και του υπολογιστή ώστε να δημιουργούν την κατάλληλη σελίδα κεφαλίδας. Το μειονέκτημα αυτής της μεθόδου είναι πως οι χρήστες θα εκτυπώνουν πάντα σελίδα κεφαλίδας, ακόμη κι αν αποστέλλουν την εργασία τους με 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 # # # These are PostScript units (72 to the inch). Modify for A4 or # whatever size paper you are using: # page_width=612 page_height=792 border=72 # # Check arguments # if [ $# -ne 3 ]; then echo "Usage: `basename $0` <user> <host> <job>" 1>&2 exit 1 fi # # Save these, mostly for readability in the PostScript, below. # user=$1 host=$2 job=$3 date=`date` # # Send the PostScript code to stdout. # exec cat <<EOF %!PS % % Make sure we do not interfere with user's job that will follow % save % % Make a thick, unpleasant border around the edge of the paper. % $border $border moveto $page_width $border 2 mul sub 0 rlineto 0 $page_height $border 2 mul sub rlineto currentscreen 3 -1 roll pop 100 3 1 roll setscreen $border 2 mul $page_width sub 0 rlineto closepath 0.8 setgray 10 setlinewidth stroke 0 setgray % % Display user's login name, nice and large and prominent % /Helvetica-Bold findfont 64 scalefont setfont $page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto ($user) show % % Now show the boring particulars % /Helvetica findfont 14 scalefont setfont /y 200 def [ (Job:) (Host:) (Date:) ] { 200 y moveto show /y y 18 sub def } forall /Helvetica-Bold findfont 14 scalefont setfont /y 200 def [ ($job) ($host) ($date) ] { 270 y moveto show /y y 18 sub def } forall % % That is it % restore showpage EOF Τώρα, καθένα από τα φίλτρα μετατροπής και το φίλτρο κειμένου μπορούν να καλέσουν το script, πρώτα για να δημιουργήσουν τη σελίδα κεφαλίδας, και έπειτα για να εκτυπώσουν την εργασία του χρήστη. Ακολουθεί το φίλτρο μετατροπής DVI που δείξαμε νωρίτερα, ειδικά διαμορφωμένο για να φτιάξουμε μια σελίδα κεφαλίδας: #!/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() { echo "$@" 1>&2 exit 2 } while getopts "x:y:n:h:" option; do case $option in x|y) ;; # Ignore n) login=$OPTARG ;; h) host=$OPTARG ;; *) echo "LPD started `basename $0` wrong." 1>&2 exit 2 ;; esac done [ "$login" ] || fail "No login name" [ "$host" ] || fail "No host name" ( /usr/local/libexec/make-ps-header $login $host "DVI File" /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args Παρατηρήστε πως το φίλτρο πρέπει να αναλύσει την λίστα παραμέτρων για να προσδιορίσει το όνομα χρήστη και υπολογιστή. Η μέθοδος ανάλυσης είναι παρόμοια και για τα υπόλοιπα φίλτρα μετατροπής. Το φίλτρο κειμένου παίρνει ένα ελαφρώς διαφορετικό σετ παραμέτρων, (δείτε την ενότητα Πως δουλεύουν τα Φίλτρα). Όπως αναφέραμε προηγούμενα, ο παραπάνω σχεδιασμός, αν και πραγματικά απλός, απενεργοποιεί την επιλογή παρεμπόδισης σελίδων κεφαλίδας (την επιλογή ) του lpr. Αν οι χρήστες επιθυμούν να σώσουν ένα δέντρο (ή λίγα χρήματα, αν χρεώνετε τις σελίδες κεφαλίδας), δεν θα υπάρχει τρόπος για να γίνει αυτό, από τη στιγμή που κάθε εκτύπωση μέσω των φίλτρων θα συνοδεύεται και από μια σελίδα κεφαλίδας για κάθε εργασία. Για να επιτρέψετε στους χρήστες να απενεργοποιούν τις σελίδες κεφαλίδας ανά εργασία, θα πρέπει να χρησιμοποιήσετε το τέχνασμα που παρουσιάσαμε στην ενότητα Καταμέτρηση με Σελίδες Κεφαλίδας: δηλαδή να γράψετε ένα φίλτρο εξόδου που να αναλύει την σελίδα κεφαλίδας που δημιουργείται από το LPD και να κατασκευάζει μια &postscript; έκδοση. Αν ο χρήστης στείλει μια εργασία με lpr , τότε ούτε το LPD, ούτε το φίλτρο εξόδου θα φτιάξουν σελίδα κεφαλίδας. Σε όλες τις άλλες περιπτώσεις, το φίλτρο εξόδου θα διαβάζει το κείμενο από το LPD και θα στέλνει τον κατάλληλο κώδικα &postscript; στον εκτυπωτή ώστε να εκτυπώνεται η σελίδα κεφαλίδας. Αν έχετε εκτυπωτή &postscript; με σειριακή σύνδεση, μπορείτε να κάνετε χρήση της lprps, η οποία συνοδεύεται από ένα φίλτρο εξόδου, το psof, το οποία κάνει τα παραπάνω. Σημειώστε πως το psof δεν χρεώνει για τις σελίδες κεφαλίδας. Εκτυπώσεις μέσω Δικτύου εκτυπωτές δίκτυο εκτυπώσεις μέσω δικτύου Το &os; υποστηρίζει τις εκτυπώσεις μέσω δικτύου: μπορεί να στείλει εργασίες σε απομακρυσμένους εκτυπωτές. Η έννοια της δικτυακής εκτύπωσης αναφέρεται γενικά σε δύο διαφορετικά πράγματα: Πρόσβαση σε εκτυπωτή συνδεδεμένο σε απομακρυσμένο υπολογιστή (host). Εγκαθιστάτε έναν εκτυπωτή με συμβατική σειριακή ή παράλληλη σύνδεση σε ένα υπολογιστή. Έπειτα, ρυθμίζετε το LPD για να ενεργοποιηθεί η πρόσβαση στον εκτυπωτή από άλλους υπολογιστές του δικτύου. Η ενότητα Εκτυπωτές Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές εξηγεί τις απαραίτητες ενέργειες. Πρόσβαση σε εκτυπωτή συνδεδεμένο κατευθείαν στο δίκτυο. Εκτός (ή αντί) της συμβατικής σειριακής ή παράλληλης θύρας, ο εκτυπωτής πρέπει να έχει επιπρόσθετα μια δικτυακή διασύνδεση. Ένας τέτοιος εκτυπωτής δουλεύει ως εξής: Μπορεί να καταλαβαίνει το πρωτόκολλο LPD και να δημιουργεί ουρά αναμονής για τις εργασίες που προέρχονται από απομακρυσμένους υπολογιστές. Σε αυτή την περίπτωση, ενεργεί σαν ένας κανονικός υπολογιστής που εκτελεί το LPD. Ακολουθήστε την ίδια διαδικασία με την ενότητα Εκτυπωτές Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές για να εγκαταστήσετε αυτόν τον εκτυπωτή. Μπορεί να υποστηρίζει σύνδεση δικτυακής ροής δεδομένων (data stream). Σε αυτή την περίπτωση, συνδέετε τον εκτυπωτή σε έναν υπολογιστή συνδεδεμένο στο δίκτυο, ο οποίος θα είναι υπεύθυνος για την παροχέτευση των εργασιών και την αποστολή τους στον εκτυπωτή. Η ενότητα Εκτυπωτές Με Συνδέσεις Δικτύου δίνει μερικές συμβουλές για την εγκατάσταση εκτυπωτών αυτού του τύπου. Εκτυπωτές Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές Το σύστημα παροχέτευσης LPD έχει ενσωματωμένη υποστήριξη για την αποστολή εργασιών σε άλλους υπολογιστές που εκτελούν το LPD (ή που είναι συμβατοί με το LPD). Αυτό το χαρακτηριστικό σας επιτρέπει να εγκαταστήσετε έναν εκτυπωτή σε ένα υπολογιστή και να έχετε πρόσβαση σε αυτόν από άλλους. Επίσης δουλεύει και με εκτυπωτές που έχουν δικτυακές διασυνδέσεις που καταλαβαίνουν το πρωτόκολλο LPD. Για να ενεργοποιήσετε αυτόν τον τύπο απομακρυσμένης εκτύπωσης, εγκαταστήστε πρώτα έναν εκτυπωτή σε ένα υπολογιστή, τον υπολογιστή εκτύπωσης (printer host), χρησιμοποιώντας την απλή εγκατάσταση εκτυπωτή που περιγράφεται στην ενότητα Βασικές Ρυθμίσεις Εκτυπωτών. Κάντε όσες προχωρημένες ρυθμίσεις χρειάζεστε όπως αναφέρεται στις Ρυθμίσεις Εκτυπωτών για Προχωρημένους. Ελέγξτε τον εκτυπωτή και δείτε αν δουλεύει με τα χαρακτηριστικά του LPD που έχετε ενεργοποιήσει. Επίσης βεβαιωθείτε πως ο τοπικός υπολογιστής (local host) είναι εξουσιοδοτημένος να χρησιμοποιεί τις υπηρεσίες του LPD στον απομακρυσμένο υπολογιστή (remote host) (δείτε Παρεμπόδιση Εργασιών από Απομακρυσμένους Υπολογιστές). εκτυπωτές δίκτυο δικτυακές εκτυπώσεις Εάν χρησιμοποιείτε εκτυπωτή με δικτυακή διασύνδεση που είναι συμβατός με το LPD, τότε ο ο υπολογιστής εκτύπωσης (printer host) είναι ο εν λόγω εκτυπωτής, και το όνομα του εκτυπωτή είναι το όνομα που έχετε ορίσει για τον εκτυπωτή. Δείτε την τεκμηρίωση που συνοδεύει τον εκτυπωτή σας και/ή την κάρτα δικτύου του. Αν χρησιμοποιείτε Hewlett Packard Laserjet με όνομα εκτυπωτή text θα γίνονται αυτόματα οι μετατροπές από LF σε CRLF, επομένως δεν χρειάζεται να τρέξετε το script hpif. Επομένως, στους υπόλοιπους υπολογιστές όπου επιθυμείτε να έχετε πρόσβαση στον εκτυπωτή, απλά κάντε μια καταχώριση στο αρχείο /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 # # # 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: # # 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: # # 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: Το μόνο που απομένει είναι να δημιουργήσουμε τους καταλόγους spooling στον κόμβο orchid: &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. Εκτυπωτές με Συνδέσεις Δικτύου Συχνά, όταν αγοράζετε κάρτα δικτύου για εκτυπωτή, έχετε τη δυνατότητα επιλογής δύο εκδόσεων: η μία είναι προσομοίωση του spooler (η πιο ακριβή έκδοση) ενώ η άλλη απλά σας επιτρέπει να στέλνετε δεδομένα μέσω αυτής σαν να χρησιμοποιούσατε μια σειριακή ή παράλληλη θύρα (η φτηνή έκδοση). Αυτή η ενότητα περιγράφει πως να χρησιμοποιείτε την φτηνή έκδοση. Για την πιο ακριβή έκδοση μπορείτε να βρείτε περισσότερες πληροφορίες στην προηγούμενη ενότητα Εκτυπωτές Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές. Η μορφή του αρχείου /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 # $#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>"; $printer_host = $ARGV[0]; $printer_port = $ARGV[1]; require 'sys/socket.ph'; ($ignore, $ignore, $protocol) = getprotobyname('tcp'); ($ignore, $ignore, $ignore, $ignore, $address) = gethostbyname($printer_host); $sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address); socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol) || die "Can't create TCP/IP stream socket: $!"; connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!"; while (<STDIN>) { print PRINTER; } exit 0; Μπορείτε να χρησιμοποιήσετε αυτό το 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 # exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100 Έλεγχος Πρόσβασης και Περιορισμοί στη Χρήση των Εκτυπωτών εκτυπωτές έλεγχος πρόσβασης Αυτή η ενότητα δίνει πληροφορίες για τον έλεγχο πρόσβασης και τον περιορισμό χρήσης των εκτυπωτών. Το σύστημα LPD σας επιτρέπει να ελέγχετε ποιός μπορεί να έχει πρόσβαση σε κάθε εκτυπωτή, τόσο τοπικά όσο και απομακρυσμένα, και επίσης αν μπορούν οι χρήστες να εκτυπώνουν πολλαπλά αντίγραφα, πόσο μεγάλες μπορούν να είναι οι εργασίες τους, και πόσο μεγάλες μπορούν να γίνουν οι ουρές αναμονής (print queues). Περιορισμός Εκτύπωσης Πολλαπλών Αντιγράφων Το σύστημα LPD διευκολύνει τους χρήστες να εκτυπώσουν πολλαπλά αντίγραφα ενός αρχείου. Οι χρήστες μπορούν να εκτυπώνουν εργασίες με lpr (για παράδειγμα) και να παίρνουν πέντε αντίγραφα κάθε αρχείου της εργασίας εκτύπωσης. Το αν αυτό είναι καλό, εξαρτάται από εσάς. Αν πιστεύετε πως τα πολλαπλά αντίγραφα δημιουργούν άσκοπη καταπόνηση των εκτυπωτών σας, μπορείτε να απενεργοποιήσετε την επιλογή στο &man.lpr.1; προσθέτοντας την ικανότητα sc στο αρχείο /etc/printcap. Όταν οι χρήστες αποστέλλουν εργασίες με την επιλογή , θα βλέπουν: lpr: multiple copies are not allowed Σημειώστε πως αν έχετε ρυθμίσει πρόσβαση σε έναν εκτυπωτή απομακρυσμένα (δείτε την ενότητα Εκτυπωτές Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές), θα χρειαστεί να προσθέσετε την ικανότητα 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: 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: Τώρα, θα χρειαστεί να προσθέσουμε επίσης την ικανότητα 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: rattan|line|diablo|lp|Diablo 630 Line Printer:\ :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: Χρησιμοποιώντας την ικανότητα sc, προλαμβάνουμε την χρήση των εντολών lpr , αλλά δεν έχουμε ακόμη την δυνατότητα να παρεμποδίσουμε τους χρήστες να τρέξουν την εντολή &man.lpr.1; πολλές φορές, ή να αποστείλουν το ίδιο αρχείο πολλές φορές σε μία μοναδική εργασία, όπως εδώ: &prompt.user; lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign Υπάρχουν πολλοί τρόποι πρόληψης αυτών των ενεργειών (συμπεριλαμβάνοντας και την περίπτωση να το αγνοήσετε) που είστε ελεύθεροι να εξερευνήσετε. Περιορίζοντας την Πρόσβαση σε Εκτυπωτές Μπορείτε να ελέγχετε ποιός μπορεί να εκτυπώνει σε ποιόν εκτυπωτή χρησιμοποιώντας τους μηχανισμούς ομάδων (groups) του &unix; και την ικανότητα rg στο /etc/printcap. Απλά τοποθετήστε τους χρήστες που θέλετε να έχουν πρόσβαση σε κάποιον εκτυπωτή σε μια συγκεκριμένη ομάδα (χρηστών), και δηλώστε αυτή την ομάδα στην ικανότητα rg. Όλοι οι χρήστες που δεν ανήκουν στην ομάδα (συμπεριλαμβανομένου και του 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: 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: Επιτρέψτε μας να μην αλλάξουμε το αρχείο /etc/printcap από το άλλο παράδειγμα (για τον υπολογιστή orchid). Φυσικά, οποιοσδήποτε χρήστης του orchid μπορεί να εκτυπώσει στον bamboo. Ίσως όμως να επιτρέπουμε μόνον σε συγκεκριμένους χρήστες την πρόσβαση στον υπολογιστή orchid, και θέλουμε αυτοί οι χρήστες να έχουν πρόσβαση στον εκτυπωτή. Ή ίσως πάλι, και όχι. Επιτρέπεται μόνο μια περιορισμένη ομάδα ανά εκτυπωτή. Έλεγχος Μεγέθους των Απεσταλμένων Εργασιών εργασίες εκτύπωσης Αν πολλοί χρήστες έχουν πρόσβαση στους εκτυπωτές σας, πιθανώς να χρειάζεται να θέσετε ένα ανώτατο όριο στο επιτρεπόμενο μέγεθος αρχείων που μπορούν να αποστείλουν οι χρήστες για εκτύπωση. Ακόμα και αν υπάρχει αρκετός χώρος στο σύστημα αρχείων που φιλοξενεί τους καταλόγους spool, θα πρέπει ωστόσο να βεβαιωθείτε ότι επαρκεί για τις εργασίες όλων των χρηστών. εργασίες εκτύπωσης έλεγχος Το LPD σας επιτρέπει να οριοθετήσετε το μέγιστο αριθμό bytes που περιέχει μια εργασία, με την ικανότητα mx. Η μονάδα μέτρησης είναι σε BUFSIZ blocks, τα οποία είναι 1024 bytes. Αν θέσετε μηδέν σε αυτή την ικανότητα, δεν θα υπάρχουν όρια στο μέγεθος των αρχείων. Ωστόσο, αν δεν έχει οριστεί η ικανότητα mx, τότε θα χρησιμοποιείται η προεπιλεγμένη τιμή των 1000 blocks. Το όριο εφαρμόζεται στα αρχεία μιας εργασίας, και όχι στο συνολικό μέγεθος της εργασίας. Το LPD δεν θα απορρίψει ένα αρχείο που ξεπερνά το όριο μεγέθους που έχετε θέσει. Αντιθέτως, θα το τοποθετήσει στην ουρά αναμονής με μέγεθος ίσο με το μέγιστο επιτρεπτό, το οποίο και θα εκτυπώσει τελικά. Το υπόλοιπο αρχείο απορρίπτεται. Αν αυτός είναι σωστός ή λανθασμένος τρόπος αντιμετώπισης για την υπέρβαση του ορίου, είναι θέμα προς συζήτηση. Ας οριοθετήσουμε στο παράδειγμα μας τους εκτυπωτές rattan και bamboo. Επειδή τα αρχεία &postscript; των artists τείνουν προς μεγάλα μεγέθη, θα θέσουμε ένα όριο πέντε megabytes. Δεν θα θέσουμε όρια για τον εκτυπωτή γραμμής απλού κειμένου: # # /etc/printcap for host rose # # # 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: # # 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: Και πάλι, τα όρια εφαρμόζονται μόνο για τους τοπικούς χρήστες. Αν έχετε ενεργοποιήσει απομακρυσμένη πρόσβαση για τους εκτυπωτές σας, τα όρια αυτά δεν ισχύουν για τους απομακρυσμένους χρήστες. Θα χρειαστεί να προσδιορίσετε με την ικανότητα mx και τα απομακρυσμένα αρχεία /etc/printcap. Δείτε την ενότητα Εκτυπωτές Εγκατεστημένοι σε Απομακρυσμένους Υπολογιστές για περισσότερες πληροφορίες σχετικά με τις εκτυπώσεις από απομακρυσμένους υπολογιστές. Υπάρχει και άλλος εξειδικευμένος τρόπος περιορισμού του μεγέθους εργασιών για απομακρυσμένους εκτυπωτές. Δείτε την ενότητα Περιορισμός Εργασιών από Απομακρυσμένους Υπολογιστές. Περιορισμός Εργασιών από Απομακρυσμένους Υπολογιστές Το σύστημα παροχέτευσης LPD παρέχει διάφορους τρόπους περιορισμού των εργασιών από απομακρυσμένους υπολογιστές: Παρεμπόδιση υπολογιστών Μπορείτε να ελέγχετε από ποιους απομακρυσμένους υπολογιστές θα δέχεται αιτήσεις εκτύπωσης το τοπικό 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 Αυτό σημαίνει πως ο rose δέχεται αιτήσεις από τους υπολογιστές orchid, violet, και madrigal.fishbaum.de. Αν κάποιος άλλος υπολογιστής προσπαθήσει να αποκτήσει πρόσβαση στο LPD του rose, η εργασία θα απορριφθεί. Περιορισμοί στο Μέγεθος Μπορείτε να ελέγχετε πόσος ελεύθερος χώρος πρέπει να απομένει στο σύστημα αρχείων όπου βρίσκεται ο κατάλογος 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. Καταμέτρηση Χρήσης Εκτυπωτών καταμέτρηση εκτυπωτής Αποφασίσατε ότι χρειάζεται να χρεώνετε για τις εκτυπώσεις σας. Και γιατί όχι; Το χαρτί και το μελάνι κοστίζουν χρήματα. Και επιπλέον υπάρχει κόστος συντήρησης — οι εκτυπωτές αποτελούνται από κινητά μέρη και έχουν την τάση να χαλάνε. Έχετε εξετάσει τους εκτυπωτές σας, τον τρόπο που χρησιμοποιούνται, και το κόστος συντήρησης και έχετε υπολογίσει μια χρέωση ανά σελίδα (ή ανά μέτρο, ανά πόδι, ή άλλη μονάδα μέτρησης). Το θέμα είναι τώρα πως μπορείτε πραγματικά να ξεκινήσετε να καταμετράτε τις εκτυπώσεις σας. Τα άσχημα νέα είναι πως το σύστημα παροχέτευσης του LPD δεν παρέχει πολύ βοήθεια σε αυτόν τον τομέα. Η καταμέτρηση εξαρτάται σε μεγάλο βαθμό από τον τύπο του εκτυπωτή που χρησιμοποιείτε, τους τύπους αρχείων που εκτυπώνετε, και τις δικές σας απαιτήσεις για την χρέωση των εκτυπώσεων. Για την καταμέτρηση, θα πρέπει να μετατρέψετε το φίλτρο κειμένου (για τη χρέωση εργασιών απλού κειμένου) του εκτυπωτή και τα φίλτρα μετατροπής (για τη χρέωση όλων των άλλων τύπων αρχείων) ώστε να μετρούν σελίδες ή να ζητούν να μάθουν από τον εκτυπωτή τον αριθμό των εκτυπωμένων σελίδων. Δεν θα σας βοηθήσει ιδιαίτερα η χρήση φίλτρου εξόδου, από τη στιγμή που δεν μπορεί να κάνει καταμέτρηση. Δείτε την ενότητα Φίλτρα. Γενικά, υπάρχουν δύο τρόποι για να κάνετε καταμέτρηση: Η Περιοδική καταμέτρηση είναι ο πιο συνηθισμένος τρόπος, πιθανώς γιατί είναι ο ευκολότερος. Κάθε φορά που κάποιος εκτυπώνει μια εργασία, το φίλτρο δημιουργεί ένα αρχείο καταγραφής όπου αναφέρει τον χρήστη, τον υπολογιστή, και τον αριθμό των σελίδων. Κάθε μήνα, εξάμηνο, χρόνο, ή άλλη χρονική περίοδο της αρεσκείας σας, συλλέγετε τα αρχεία καταγραφής για τους διάφορους εκτυπωτές, λογαριάζετε τις σελίδες που αναλογούν στους χρήστες, και χρεώνετε αναλόγως. Έπειτα σβήνετε τα στοιχεία από τα αρχεία καταγραφής, ξεκινώντας από καθαρή κατάσταση για την επόμενη περίοδο. Η Καταμέτρηση κατά τη χρήση είναι λιγότερο γνωστή, ίσως επειδή είναι πιο δύσκολος τρόπος. Σε αυτή τη μέθοδο τα φίλτρα χρεώνουν τους χρήστες για τις εκτυπώσεις τους αμέσως μόλις αυτές πραγματοποιηθούν. Όπως και με την καταγραφή χρήσης δίσκου (disk quotas), η καταμέτρηση είναι άμεση. Μπορείτε να προλαμβάνετε την χρήση εκτυπωτών από χρήστες που έχουν χτυπήσει κόκκινο, και μπορείτε να παρέχετε στους χρήστες ένα τρόπο για να ελέγχουν και να ρυθμίζουν τον όγκο εκτυπώσεων (print quotas). Αλλά αυτή η μέθοδος προϋποθέτει λίγο κώδικα βάσεων δεδομένων για την καταγραφή χρηστών και των εν λόγω μεγεθών. Το σύστημα παροχέτευσης LPD υποστηρίζει εύκολα και τις δύο μεθόδους: από τη στιγμή που πρέπει εσείς να παρέχετε τα φίλτρα (τις περισσότερες φορές), θα πρέπει επίσης να παρέχετε και τον κώδικα καταμέτρησης. Αλλά υπάρχει και ένα καλό σε αυτή την υπόθεση: έχετε απεριόριστη ευελιξία στις μεθόδους καταμέτρησης. Για παράδειγμα, μπορείτε να επιλέξετε περιοδική ή κατά τη χρήση καταμέτρηση. Μπορείτε να επιλέξετε τις πληροφορίες που θα καταγράφονται: ονόματα χρηστών, ονόματα υπολογιστών, τύπους εργασιών, τυπωμένες σελίδες, τετραγωνικά μέτρα χαρτιού που χρησιμοποιήθηκε, πόσος χρόνος χρειάστηκε για να γίνει η εκτύπωση, και πολλά ακόμα. Και όλα αυτά γίνονται μετατρέποντας τα φίλτρα για να αποθηκεύουν αυτές τις πληροφορίες. Γρήγορη και Πρόχειρη Καταμέτρηση Εκτυπώσεων Το &os; διατίθεται με δύο προγράμματα που μπορούν να παρέχουν άμεσα απλή περιοδική καταμέτρηση. Είναι το φίλτρο κειμένου lpf, που περιγράφεται στην ενότητα lpf: ένα Φίλτρο Κειμένου, και το &man.pac.8;, ένα πρόγραμμα που συλλέγει και αθροίζει καταχωρίσεις από αρχεία καταμετρήσεων. Όπως αναφέραμε στην ενότητα των φίλτρων (Φίλτρα), το LPD ξεκινά τα φίλτρα κειμένου και μετατροπής περνώντας στην γραμμή εντολών του φίλτρου και το όνομα του αρχείου καταγραφής. Τα φίλτρα μπορούν να χρησιμοποιήσουν αυτή την παράμετρο για να ξέρουν που να γράφουν τις καταχωρίσεις καταμέτρησης. Το όνομα του αρχείου καταμέτρησης φαίνεται στην ικανότητα af στο /etc/printcap, και αν δεν ορίζεται η πλήρης διαδρομή του, χρησιμοποιείται η σχετική διαδρομή ως προς τον κατάλογο spool. Το LPD ξεκινά το lpf με παραμέτρους πλάτους και μήκους σελίδας (από τις ικανότητες pw και pl). Το lpf χρησιμοποιεί αυτές τις παραμέτρους για να προσδιορίσει την ποσότητα χαρτιού που χρησιμοποιήθηκε. Μετά την αποστολή του αρχείου στον εκτυπωτή, γράφει μια καταχώριση καταμέτρησης στο αρχείο καταγραφής. Οι καταχωρίσεις μοιάζουν με τις παρακάτω: 2.00 rose:andy 3.00 rose:kelly 3.00 orchid:mary 5.00 orchid:mary 2.00 orchid:zhang Θα πρέπει να χρησιμοποιείτε ξεχωριστό αρχείο καταγραφής για κάθε εκτυπωτή, αφού το 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 rose:andy 2.00 1 $ 0.04 rose:kelly 177.00 104 $ 3.54 rose:mary 87.00 32 $ 1.74 rose:root 26.00 12 $ 0.52 total 337.00 154 $ 6.74 Παρακάτω είναι οι παράμετροι που δέχεται το &man.pac.8;: Για ποιό 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 root 26.00 12 $ 0.52 zhang 9.00 1 $ 0.18 total 337.00 154 $ 6.74 Για τον ορισμό ποσοστού χρέωσης σε δολάρια, το &man.pac.8; χρησιμοποιεί την ικανότητα pc στο αρχείο /etc/printcap (προεπιλεγμένη τιμή 200, ή 2 σεντς ανά σελίδα). Προσδιορίστε σε αυτήν την ικανότητα, σε εκατοστά του σεντ, την τιμή ανά σελίδα ή ανά πόδι που θέλετε να χρεώνετε για τις εκτυπώσεις. Μπορείτε να προσπεράσετε αυτή την τιμή όταν τρέχετε το &man.pac.8; με την επιλογή . H μονάδα μέτρησης για την επιλογή είναι σε δολάρια, όχι σε εκατοστά του σεντ. Για παράδειγμα, &prompt.root; pac ορίζει κόστος κάθε σελίδας ένα δολάριο και πενήντα σεντς. Μπορείτε πραγματικά να έχετε πολλά έσοδα χρησιμοποιώντας αυτές τις χρεώσεις. Τέλος, εκτελώντας pac θα αποθηκεύσετε τις πληροφορίες του απολογισμού σε ένα αρχείο καταγραφής απολογισμού, που θα έχει το ίδιο όνομα με το αρχείο καταγραφής του εκτυπωτή, αλλά με κατάληξη _sum. Έπειτα καθαρίζεται το αρχείο καταγραφής. Όταν εκτελέσετε πάλι το &man.pac.8;, θα ξαναδιαβάσει το αρχείο απολογισμού, για να πάρει τα αρχικά σύνολα, και θα προσθέσει τις πληροφορίες από το κανονικό αρχείο καταγραφής. Πως Μπορείτε να Μετρήσετε τις Τυπωμένες Σελίδες; Για να μετρήσετε τις τυπωμένες σελίδες με έστω στοιχειώδη λεπτομέρεια, θα πρέπει να προσδιορίσετε πόσο χαρτί χρειάζεται μια εργασία. Αυτό είναι το ουσιαστικότερο πρόβλημα στην καταμέτρηση εκτυπώσεων. Για εργασίες απλού κειμένου, το πρόβλημα δεν είναι δύσκολο να λυθεί: Μετράτε πόσες γραμμές υπάρχουν σε μια εργασία και τις συγκρίνετε με πόσες γραμμές μπορεί να τυπώσει ο εκτυπωτής σας σε μια σελίδα. Μην ξεχάσετε να συμπεριλάβετε τα backspaces που προκαλούν υπερτύπωση, ή επιμήκης λογικές γραμμές που αναδιπλώνονται σε περισσότερες από μία φυσικές γραμμές. Το φίλτρο κειμένου lpf (που παρουσιάσαμε στο lpf: ένα Φίλτρο Κειμένου) λαμβάνει υπόψιν του αυτά τα στοιχεία όταν κάνει καταμέτρηση. Αν γράφετε κάποιο φίλτρο κειμένου που χρειάζεται να κάνει καταμέτρηση, ίσως να θέλετε να ελέγξετε τον πηγαίο κώδικα του lpf. Πως χειρίζεστε όμως τους υπόλοιπους τύπους αρχείων; Για τις μετατροπές από DVI-σε-LaserJet ή από DVI-σε-&postscript;, μπορείτε να κάνετε το φίλτρο σας να αναλύει την έξοδο του dvilj ή του dvips και να ελέγχει πόσες σελίδες δημιουργήθηκαν από τη μετατροπή. Ίσως μπορέσετε να κάνετε κάτι παρόμοιο και με διαφορετικούς τύπους αρχείων και προγράμματα μετατροπής Ωστόσο, όλες αυτές οι μέθοδοι έχουν το μειονέκτημα πως ο εκτυπωτής πιθανώς στην πραγματικότητα να μην εκτυπώσει όλες τις σελίδες. Για παράδειγμα, θα μπορούσε να μπλοκαριστεί το χαρτί, ή να τελειώσει το τόνερ, ή ακόμη να συμβεί και έκρηξη —ενώ ο χρήστης θα συνεχίσει να χρεώνεται. Τι θα μπορούσατε να κάνετε; Υπάρχει μόνο ένας σίγουρος τρόπος για να κάνετε καταμέτρηση ακριβείας. Να πάρετε έναν εκτυπωτή που να μπορεί να σας πει πόσο χαρτί χρησιμοποιεί, και να τον συνδέσετε μέσω σειριακής θύρας ή μέσω δικτύου. Σχεδόν όλοι οι εκτυπωτές &postscript; υποστηρίζουν αυτή την δυνατότητα. Θα βρείτε και άλλους τύπους και κατασκευαστές που κάνουν επίσης το ίδιο (για παράδειγμα, οι laser εκτυπωτές δικτύου της Imagen). Μετατρέψτε τα φίλτρα για αυτούς τους εκτυπωτές ώστε να καταγράφουν τις τυπωμένες σελίδες μετά την ολοκλήρωση της εκάστοτε εργασίας εκτύπωσης, και ρυθμίστε τους να κρατούν αρχεία καταγραφής με μόνο αυτή την πληροφορία. Δεν χρειάζεται καταμέτρηση γραμμών ούτε αναφορά σφαλμάτων. Φυσικά, πάντα έχετε τη δυνατότητα να φανείτε γενναιόδωρος και να παρέχετε τις εκτυπώσεις σας δωρεάν. Χρήση Εκτυπωτών printers usage Αυτή η ενότητα περιγράφει πως να χρησιμοποιείτε τους εκτυπωτές που έχετε εγκαταστήσει στο &os;. Οι βασικές εντολές για τον τελικό χρήστη είναι οι ακόλουθες: &man.lpr.1; Εκτύπωση εργασιών &man.lpq.1; Έλεγχος ουράς αναμονής (print queue) του εκτυπωτή &man.lprm.1; Διαγραφή εργασιών από την ουρά αναμονής Υπάρχει επίσης μια εντολή για τους διαχειριστές, η &man.lpc.8;, που περιγράφεται στην ενότητα Διαχείριση Εκτυπωτών, και χρησιμοποιείται για να ελέγχει τους εκτυπωτές και τις ουρές αναμονής. Και οι τρεις εντολές &man.lpr.1;, &man.lprm.1;, και &man.lpq.1; δέχονται την επιλογή με την οποία καθορίζεται σε ποιον εκτυπωτή ή ουρά αναμονής θα ενεργήσουν, όπως αναφέρεται στο αρχείο /etc/printcap. Αυτό σας επιτρέπει να αποστείλετε, να διαγράψετε, και να ελέγξετε εργασίες σε διάφορους εκτυπωτές. Αν δεν χρησιμοποιείτε την επιλογή , τότε οι εντολές χρησιμοποιούν τον εκτυπωτή που αναφέρεται στη μεταβλητή περιβάλλοντος PRINTER. Τέλος, αν δεν έχετε θέσει μια μεταβλητή περιβάλλοντος PRINTER, οι εντολές εκτελούνται με τον προεπιλεγμένο εκτυπωτή που ονομάζεται lp. Από δω και στο εξής, με την ορολογία προεπιλεγμένος εκτυπωτής θα εννοούμε τον εκτυπωτή που αναφέρεται στην μεταβλητή περιβάλλοντος PRINTER, ή αν δεν υπάρχει, τον εκτυπωτή με το όνομα lp. Εκτύπωση Εργασιών Για να εκτυπώσετε αρχεία, πληκτρολογήστε: &prompt.user; lpr filename ... printing Θα εκτυπωθούν όλα τα αναφερόμενα αρχεία στον προεπιλεγμένο εκτυπωτή. Αν δεν αναφέρετε αρχεία, το &man.lpr.1; διαβάζει δεδομένα από το standard input. Για παράδειγμα, αυτή η εντολή θα εκτυπώσει μερικά σημαντικά αρχεία του συστήματος: &prompt.user; lpr /etc/host.conf /etc/hosts.equiv Για να επιλέξετε ένα συγκεκριμένο εκτυπωτή, πληκτρολογήστε: &prompt.user; lpr printer-name filename ... Στο παράδειγμα μας θα εκτυπωθεί μια μεγάλη λίστα αρχείων του τρέχοντος καταλόγου στον εκτυπωτή που ονομάζεται rattan: &prompt.user; ls | lpr rattan Αφού δεν αναφέρονται ονόματα αρχείων στην εντολή &man.lpr.1;, το lpr διαβάζει τα δεδομένα που θα εκτυπώσει από το standard input, τα οποία είναι η έξοδος της εντολής ls . Η εντολή &man.lpr.1; μπορεί να δεχθεί ένα μεγάλο αριθμό επιλογών για να ελέγχει την μορφοποίηση, να μετατρέπει αρχεία, να δημιουργεί πολλαπλά αντίγραφα, κ.λ.π. Για περισσότερες πληροφορίες, δείτε την ενότητα Επιλογές Εκτύπωσης. Έλεγχος Εργασιών εκτύπωση εργασιών Όταν εκτυπώνετε με το &man.lpr.1;, τα δεδομένα που θέλετε να εκτυπώσετε τοποθετούνται σε ένα πακέτο (package) που ονομάζεται εργασία εκτύπωσης (print job), η οποία αποστέλλεται στο σύστημα παροχέτευσης LPD. Κάθε εκτυπωτής έχει μια ουρά αναμονής εργασιών, και η εργασία σας αναμένει μαζί με άλλες δικές σας και άλλων χρηστών. Ο εκτυπωτής τις εκτυπώνει με την σειρά άφιξης στην ουρά αναμονής. Για να εμφανίσετε την ουρά αναμονής για τον προεπιλεγμένο εκτυπωτή, πληκτρολογήστε &man.lpq.1;. Για κάποιον συγκεκριμένο εκτυπωτή, χρησιμοποιήστε την επιλογή . Για παράδειγμα, η εντολή: &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 Εμφανίζονται τρεις εργασίες στη λίστα αναμονής για τον 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 : waiting for bamboo to become ready (offline ?) kelly: 1st [job 009rose] /etc/host.conf 73 bytes /etc/hosts.equiv 15 bytes kelly: 2nd [job 010rose] (standard input) 1635 bytes mary: 3rd [job 011rose] /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes Αφαίρεση Εργασιών Αν αλλάξετε γνώμη για μια εργασία που είχατε αποστείλει προς εκτύπωση, μπορείτε να την αφαιρέσετε από την λίστα αναμονής με την εντολή &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 - Αφαιρεί όλες τις εργασίες (για τον προεπιλεγμένο εκτυπωτή) που ανήκουν σε εσάς. lprm user Αφαιρεί όλες τις εργασίες (για τον προεπιλεγμένο εκτυπωτή) που ανήκουν στον χρήστη (user). Ο υπερχρήστης (superuser) μπορεί να αφαιρέσει εργασίες άλλων χρηστών, εσείς μπορείτε να αφαιρέσετε μόνο τις δικές σας. lprm Η εντολή &man.lprm.1; χωρίς αριθμό εργασίας, όνομα χρήστη, ή που εμφανίζεται στην γραμμή εντολών, αφαιρεί την τρέχουσα ενεργή εργασία στον προεπιλεγμένο εκτυπωτή, αν ανήκει σε σάς. Ο υπερχρήστης (superuser) μπορεί να αφαιρέσει οποιαδήποτε ενεργή εργασία. Για να δουλέψετε σε κάποιον συγκεκριμένο εκτυπωτή αντί του προεπιλεγμένου, απλά χρησιμοποιήστε την επιλογή με τις παραπάνω συντομεύσεις. Για παράδειγμα, η ακόλουθη εντολή αφαιρεί όλες τις εργασίες του τρέχοντος χρήστη από την ουρά αναμονής του εκτυπωτή rattan: &prompt.user; lprm 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 rattan 13 rose: Permission denied &prompt.user; logout &prompt.user; lprm rattan 13 dfA013rose dequeued cfA013rose dequeued Πέρα από το Απλό Κείμενο: Περισσότερες Επιλογές Εκτύπωσης Η εντολή &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 μαζί στην ίδια εργασία. Απλώς στείλτε τα αρχεία σαν διαφορετικές εργασίες, χρησιμοποιώντας διαφορετικές επιλογές μετατροπής για κάθε εργασία. Όλες αυτές οι επιλογές εκτός της και της απαιτούν εγκατεστημένα φίλτρα μετατροπής για τον εκτυπωτή προορισμού. Για παράδειγμα, η επιλογή απαιτεί το φίλτρο μετατροπής DVI. Η ενότητα Φίλτρα Μετατροπής δίνει περισσότερες λεπτομέρειες. Εκτυπώνει αρχεία cifplot. Εκτυπώνει αρχεία DVI. Εκτυπώνει αρχεία κειμένου FORTRAN. Εκτυπώνει δεδομένα σχεδίασης (plot). Εκτυπώνει την έξοδο με εσοχή number στηλών. Αν παραλείψετε το number, η εσοχή θα είναι 8 στήλες. Αυτή η επιλογή δουλεύει μόνο με ορισμένα φίλτρα μετατροπής. Μην τοποθετείτε κενό διάστημα μεταξύ του και του αριθμού. Εκτυπώνει δεδομένα κειμένου κατά γράμμα (literal), συμπεριλαμβάνοντας και τους χαρακτήρες ελέγχου. Εκτυπώνει δεδομένα ditroff (δεδομένα troff ανεξάρτητα από τη συσκευή). -p Μορφοποιεί το απλό κείμενο με την &man.pr.1; πριν να το εκτυπώσει. Δείτε την &man.pr.1; για περισσότερες πληροφορίες. Χρησιμοποιεί το title στην κεφαλίδα του &man.pr.1; αντί για το όνομα αρχείου. Αυτή η επιλογή επιδρά μόνο όταν χρησιμοποιείται με την επιλογή Εκτυπώνει δεδομένα troff. Εκτυπώνει δεδομένα ράστερ. Εδώ είναι ένα παράδειγμα: αυτή η εντολή εκτυπώνει μια κομψά μορφοποιημένη έκδοση της σελίδας βοηθείας &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 Δημιουργεί έναν αριθμό copies (αντιγράφων) για κάθε αρχείο της εργασίας αντί για ένα μόνο αντίγραφο. Ο διαχειριστής μπορεί να απενεργοποιήσει αυτή την επιλογή για να μειώσει την καταπόνηση των εκτυπωτών και να ενθαρρύνει την χρήση φωτοτυπικών μηχανημάτων. Δείτε την ενότητα Περιορισμός Εκτύπωσης Πολλαπλών Αντιγράφων. Σε αυτό το παράδειγμα, εκτυπώνουμε στον προεπιλεγμένο εκτυπωτή τρία αντίγραφα του parser.c και τρία αντίγραφα του parser.h: &prompt.user; lpr parser.c parser.h -m Αποστολή mail μετά την ολοκλήρωση εκτύπωσης της εργασίας. Με αυτή την επιλογή, το σύστημα LPD στέλνει mail στο λογαριασμό σας μόλις ολοκληρωθεί ο χειρισμός εκτύπωσης της εργασίας σας. Στο μήνυμα του, θα σας ενημερώσει αν η εργασία ολοκληρώθηκε επιτυχώς ή αν παρουσιάστηκε σφάλμα και (συχνά) ποιό ήταν το σφάλμα. -s Δεν αντιγράφει τα αρχεία στον κατάλογο spool, αλλά αντί για αυτό, δημιουργεί συμβολικές συντομεύσεις (symbolic links) προς αυτά. Αν εκτυπώνετε μια μεγάλη εργασία, ίσως θέλετε να χρησιμοποιήσετε αυτή την επιλογή. Θα σας γλυτώσει χώρο στον κατάλογο spool (ίσως η εργασία σας να υπερβαίνει τον ελεύθερο χώρο του συστήματος αρχείων που περιέχει τον κατάλογο spool). Επίσης θα κερδίσετε χρόνο αφού το LPD δεν θα χρειαστεί να αντιγράψει όλη την εργασία σας στον κατάλογο spool. Αυτό, ωστόσο, έχει και ένα μειονέκτημα: από τη στιγμή που το LPD θα κάνει αναφορά κατευθείαν στο πρωτότυπο αρχείο, δεν θα έχετε δυνατότητα να μετατρέψετε ή να διαγράψετε το αρχείο έως ότου εκτυπωθεί. Αν εκτυπώνετε σε ένα απομακρυσμένο εκτυπωτή, το LPD πιθανώς θα χρειαστεί τελικά να αντιγράψει τα αρχεία από τον τοπικό υπολογιστή στον απομακρυσμένο, επομένως η επιλογή σε αυτή την περίπτωση εξοικονομεί χώρο στον τοπικό κατάλογο spool, αλλά όχι στον απομακρυσμένο. Εξακολουθεί ωστόσο να είναι ιδιαίτερα χρήσιμη. -r Απομακρύνει τα αρχεία της εργασίας μετά την αντιγραφή τους στον κατάλογο spool, ή μετά την εκτύπωση τους με την επιλογή . Να είστε προσεκτικοί με αυτή την επιλογή! Επιλογές Σελίδων Κεφαλίδας Αυτές οι επιλογές του &man.lpr.1; ρυθμίζουν το κείμενο που κανονικά εμφανίζεται στην σελίδα κεφαλίδας της εργασίας. Αν οι σελίδες κεφαλίδας παρεμποδίζονται για τον συγκεκριμένο εκτυπωτή, αυτές οι επιλογές δεν έχουν καμία επίδραση. Δείτε την ενότητα Σελίδες Κεφαλίδας για πληροφορίες σχετικά με τις ρυθμίσεις των σελίδων κεφαλίδας. -C text Αντικαθιστά το όνομα υπολογιστή στη σελίδα κεφαλίδας με text. Το όνομα υπολογιστή που εμφανίζεται είναι, από προεπιλογή, το όνομα του υπολογιστή από τον οποίο έγινε η αποστολή της εργασίας. -J text Αντικαθιστά το όνομα εργασίας στη σελίδα κεφαλίδας με text. Το όνομα εργασίας που εμφανίζεται από προεπιλογή, είναι το όνομα του πρώτου αρχείου της εργασίας, ή stdin αν η εκτύπωση γίνεται από το standard input. -h Δεν εκτυπώνει σελίδα κεφαλίδας. Ανάλογα με τις ρυθμίσεις, αυτή η επιλογή ίσως να μην έχει επίδραση λόγω του τρόπου με τον οποίο δημιουργούνται οι σελίδες κεφαλίδας. Για περισσότερες λεπτομέρειες, δείτε την ενότητα Σελίδες Κεφαλίδας. Διαχείριση Εκτυπωτών Ως διαχειριστής, χρειάστηκε να εγκαταστήσετε, να ρυθμίσετε και να δοκιμάσετε τους εκτυπωτές σας. Χρησιμοποιώντας την εντολή &man.lpc.8;, μπορείτε να επικοινωνήσετε με τους εκτυπωτές σας με ακόμη περισσότερους τρόπους. Με την &man.lpc.8;, μπορείτε: Να εκκινείτε και να σταματάτε τους εκτυπωτές Να ενεργοποιείτε και να απενεργοποιείτε τις ουρές αναμονής Να ανακατατάσσετε την σειρά εργασιών σε κάθε ουρά αναμονής. Καταρχήν, μία σημείωση σχετικά με την ορολογία: αν ένας εκτυπωτής είναι σταματημένος (stopped), δεν θα εκτυπώσει τίποτε από την ουρά αναμονής εργασιών. Οι χρήστες μπορούν ακόμη να στέλνουν εργασίες, οι οποίες μπαίνουν στην ουρά αναμονής έως ότου ο εκτυπωτής ξεκινήσει ή καθαριστεί η ουρά αναμονής. Αν έχει απενεργοποιηθεί η ουρά αναμονής, κανείς χρήστης (εκτός του root) δεν μπορεί να αποστείλει εργασίες στον εκτυπωτή. Μια ενεργή ουρά αναμονής επιτρέπει να αποσταλούν εργασίες στον εκτυπωτή. Ένας εκτυπωτής μπορεί να ξεκινήσει με ουρά αναμονής απενεργοποιημένη, και σε αυτή την περίπτωση θα συνεχίσει να εκτυπώνει τις εργασίες της ουράς έως ότου αυτή αδειάσει. Γενικά, πρέπει να έχετε προνόμια root για να χρησιμοποιήσετε την εντολή &man.lpc.8;. Οι κανονικοί χρήστες μπορούν να χρησιμοποιούν την εντολή &man.lpc.8; μόνο για να βλέπουν την κατάσταση του εκτυπωτή και να επανεκκινούν τον εκτυπωτή σε περίπτωση μπλοκαρίσματος. Παρακάτω θα βρείτε μια λίστα εντολών του &man.lpc.8;. Οι περισσότερες από τις εντολές παίρνουν ως παράμετρο το printer-name για τη ρύθμιση του συγκεκριμένου εκτυπωτή. Μπορείτε να χρησιμοποιείτε all στη θέση του printer-name για να αναφερθείτε σε όλους τους εκτυπωτές που είναι καταχωρισμένοι στο /etc/printcap. abort printer-name Διαγράφει την τρέχουσα εργασία και σταματάει τον εκτυπωτή. Οι χρήστες μπορούν ακόμη να αποστείλουν εργασίες αν η ουρά αναμονής είναι ακόμη ενεργή. clean printer-name Διαγράφει τα παλιά αρχεία από τον κατάλογο spool του εκτυπωτή. Σε κάποιες περιπτώσεις, τα αρχεία από τα οποία αποτελείται κάποια εργασία δεν αφαιρούνται κανονικά από το LPD, ειδικά αν υπήρξαν σφάλματα κατά την εκτύπωση ή κάποιες ενέργειες από τον διαχειριστή. Αυτή η εντολή βρίσκει αρχεία που δεν ανήκουν στον κατάλογο spool και τα αφαιρεί. disable printer-name Απενεργοποιεί την ουρά αναμονής για νέες εργασίες. Αν ο εκτυπωτής δουλεύει, θα συνεχίσει να εκτυπώνει τις εναπομείναντες εργασίες στην ουρά αναμονής. Ο superuser (root) μπορεί πάντα να στέλνει εργασίες, ακόμη και σε απενεργοποιημένη σειρά αναμονής. Αυτή η εντολή είναι χρήσιμη, όταν ελέγχετε ένα νέο εκτυπωτή ή όταν εγκαθιστάτε ένα φίλτρο: απενεργοποιήστε την ουρά αναμονής και στείλτε εργασίες σαν root. Οι υπόλοιποι χρήστες δεν θα έχουν δυνατότητα να αποστείλουν εργασίες έως ότου ολοκληρώσετε τους ελέγχους σας και επανενεργοποιήσετε την ουρά αναμονής με την εντολή enable. down printer-name message Οδηγεί τον εκτυπωτή σε "κατέβασμα" (down). Είναι ισοδύναμο με το disable ακολουθούμενο από ένα stop. Το message (μήνυμα) εμφανίζεται όταν κάποιος χρήστης ελέγχει την σειρά αναμονής με &man.lpq.1; ή την κατάσταση του εκτυπωτή με lpc status. enable printer-name Ενεργοποίηση της ουράς αναμονής του εκτυπωτή. Οι χρήστες μπορούν να αποστείλουν εργασίες αλλά ο εκτυπωτής δεν θα τυπώσει έως ότου ξεκινήσει. help command-name Τυπώνει σελίδες βοηθείας για την εντολή command-name. Δίχως το command-name, εκτυπώνει μια περίληψη όλων των διαθέσιμων εντολών. restart printer-name Ξεκινά τον εκτυπωτή. Οι κανονικοί χρήστες μπορούν να χρησιμοποιήσουν αυτή την εντολή μόνο σε κάποια ειδική περίπτωση που το LPD δεν αποκρίνεται, αλλά δεν μπορούν να ξεκινήσουν ένα εκτυπωτή που έχει σταματήσει εξαιτίας των εντολών stop ή down. Η εντολή restart είναι ισοδύναμη με την abort ακολουθούμενη από τη start. start printer-name Ξεκινά τον εκτυπωτή. Ο εκτυπωτής θα τυπώσει εργασίες από την ουρά αναμονής του. stop printer-name Σταματάει τον εκτυπωτή. Ο εκτυπωτής θα ολοκληρώσει την τρέχουσα εργασία του και δεν θα τυπώσει καμία άλλη εργασία από την ουρά αναμονής του. Ακόμη και αν ο εκτυπωτής είναι σταματημένος, οι χρήστες μπορούν ακόμη να στέλνουν εργασίες αν είναι ενεργοποιημένη η ουρά αναμονής. topq printer-name job-or-username Ανακατάταξη της ουράς αναμονής για τον printer-name. Τοποθετούνται πρώτες οι εργασίες με αριθμό αναφοράς job ή αυτές που ανήκουν στο χρήστη username. Για αυτή την εντολή, δεν μπορείτε να χρησιμοποιήσετε all στην θέση του printer-name. up printer-name Οδηγεί τον εκτυπωτή σε "ανέβασμα" (up). Το αντίθετο της εντολής down. Ισοδυναμεί με την start ακολουθούμενη από την εντολή enable. Το &man.lpc.8; δέχεται τις παραπάνω εντολές στην γραμμή εντολών. Αν δεν εισάγετε καμία εντολή, το &man.lpc.8; μπαίνει σε κατάσταση αλληλεπίδρασης (interactive), όπου μπορείτε να πληκτρολογείτε εντολές μέχρι να δώσετε exit, quit, ή end-of-file. Εναλλακτικές Λύσεις για τον Στάνταρ Spooler Αν έχετε μελετήσει πιστά όλο το κεφάλαιο μέχρι εδώ, θα έχετε μάθει σχεδόν τα πάντα σχετικά με το σύστημα παροχέτευσης LPD που διατίθεται με το &os;. Θα έχετε κατανοήσει και πολλές από τις ελλείψεις του, που φυσικά γεννούν το ερώτημα: Ποια άλλα συστήματα παροχέτευσης (που να λειτουργούν στο &os;) υπάρχουν διαθέσιμα; LPRng LPRng Το LPRng, το οποίο σκόπιμα σημαίνει LPR: the Next Generation (η Επόμενη Γενιά) είναι μια από την αρχή υλοποίηση του PLP. Ο Patrick Powell και ο Justin Mason (κύριος συντηρητής του PLP) συνεργάστηκαν για να φτιάξουν το LPRng. Η κύρια τοποθεσία του LPRng είναι η . CUPS CUPS Το CUPS, ή αλλιώς Common UNIX Printing System, παρέχει μια φορητή πλατφόρμα εκτυπώσεων για λειτουργικά συστήματα βασισμένα στο &unix;. Αναπτύχθηκε από την Easy Software Products για να προωθήσει μια στάνταρ λύση εκτυπώσεων για όλους τους χρήστες και κατασκευαστές &unix;. Το CUPS χρησιμοποιεί το πρωτόκολλο Internet Printing Protocol (IPP) ως βάση του για τη διαχείριση εργασιών εκτύπωσης και ουρών αναμονής. Υποστηρίζονται επίσης, αλλά με μειωμένη λειτουργικότητα, τα πρωτόκολλα Line Printer Daemon (LPD), Server Message Block (SMB), και AppSocket (γνωστό ως JetDirect). Το CUPS προσθέτει δυνατότητες ανίχνευσης δικτυακών εκτυπωτών, ενώ μέσω των επιλογών PostScript Printer Description (PPD) γίνεται εφικτή η υποστήριξη σύγχρονων εκτυπωτών στον κόσμο του &unix;. Η κύρια τοποθεσία του CUPS είναι η . HPLIP HPLIP Το HPLIP, ή Σύστημα Απεικόνισης και Εκτύπωσης της HP για &linux;, είναι μια σουίτα εφαρμογών για συσκευές της HP, που υποστηρίζει λειτουργίες όπως η εκτύπωση, η σάρωση και η αποστολή / λήψη φαξ. Η σουίτα αυτή χρησιμοποιεί το CUPS ως backend για κάποιες από τις λειτουργίες εκτύπωσης που παρέχει. Η κύρια δικτυακή τοποθεσία της εφαρμογής HPLIP είναι . Εντοπισμός Βλαβών Μετά την εκτέλεση του απλού τεστ με το &man.lptest.1;, αντί της κανονικής εκτύπωσης, μπορεί να έχετε λάβει ως αποτέλεσμα μία από τις ακόλουθες καταστάσεις: Ο εκτυπωτής καθυστέρησε να ξεκινήσει ή δεν εκτύπωσε ολόκληρη τη σελίδα. Ο εκτυπωτής τύπωσε το τεστ, αλλά δεν ξεκίνησε αμέσως. Ίσως χρειάστηκε να πιέσετε το πλήκτρο PRINT REMAINING ή το FORM FEED του εκτυπωτή σας για να εμφανιστεί το επιθυμητό αποτέλεσμα. Εάν είναι όντως αυτή η περίπτωση σας, ο εκτυπωτής πιθανώς να ήταν σε αναμονή για να εξακριβώσει αν υπήρχαν πρόσθετα δεδομένα στην εργασία εκτύπωσης πριν ξεκινήσει να εκτυπώνει οτιδήποτε. Για να διορθώσετε το πρόβλημα, μπορείτε να θέσετε το φίλτρο κειμένου να στέλνει ένα χαρακτήρα FORM FEED (ή άλλο κατάλληλο) στον εκτυπωτή. Αυτό συνήθως είναι αρκετό για να μπορείτε να εκτυπώνετε κατευθείαν οποιοδήποτε κείμενο απομένει σε αναμονή στην εσωτερική μνήμη (buffer) του εκτυπωτή. Είναι επίσης χρήσιμο να ρυθμίζετε τις εκτυπώσεις σας ώστε να τελειώνουν με γεμάτη την τελευταία σελίδα, ώστε η επόμενη εργασία να μην αρχίζει από τα μισά του προηγούμενου φύλλου. Η ακόλουθη τροποποίηση στο shell script /usr/local/libexec/if-simple εκτυπώνει ένα form feed μετά την αποστολή της εργασίας στον εκτυπωτή: #!/bin/sh # # if-simple - Simple text input filter for lpd # Installed in /usr/local/libexec/if-simple # # Simply copies stdin to stdout. Ignores all filter arguments. # Writes a form feed character (\f) after printing job. /bin/cat && printf "\f" && exit 0 exit 2 Η εκτύπωση παρουσιάζει φαινόμενο σκάλας (staircase effect). Στην εκτύπωση σας φαίνεται το ακόλουθο: !"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456 MS-DOS OS/2 ASCII Γίνατε ένα ακόμα θύμα του φαινομένου σκάλας, που προκλήθηκε από αντιφατικές ερμηνείες των χαρακτήρων με τους οποίους δηλώνεται η τροφοδοσία νέας γραμμής. Τα λειτουργικά συστήματα τύπου &unix; χρησιμοποιούν έναν μόνο χαρακτήρα ASCII με κωδικό 10, τον line feed (τροφοδοσία γραμμής, LF). Το &ms-dos;, το &os2;, και διάφορα άλλα, χρησιμοποιούν ένα ζεύγος χαρακτήρων ASCII κωδικού 10 και ASCII κωδικού 13 (τον carriage return ή αλλιώς CR). Πολλοί εκτυπωτές χρησιμοποιούν την σύμβαση του &ms-dos; για την αλλαγή γραμμής. Όταν εκτυπώνετε με το &os;, το κείμενο σας απλά χρησιμοποιεί τον χαρακτήρα τροφοδοσίας γραμμής (line feed). Ο εκτυπωτής, μόλις αντιληφθεί τον χαρακτήρα line feed, προωθεί το χαρτί κατά μία γραμμή, αλλά κρατάει την ίδια θέση οριζόντια καθώς καλείται να εκτυπώσει τον επόμενο χαρακτήρα. Σε αυτό το σημείο χρησιμοποιείται το CR (carriage return): μετακινεί δηλαδή την θέση εργασίας για τον επόμενο χαρακτήρα που πρόκειται να εκτυπωθεί στο αριστερό άκρο του χαρτιού. Το &os; επιθυμεί ο εκτυπωτής να μπορεί να ενεργεί ως εξής: Όταν ο εκτυπωτής λαμβάνει CR Να εκτυπώνει CR Όταν ο εκτυπωτής λαμβάνει LF Να εκτυπώνει CR + LF Υπάρχουν διάφοροι τρόποι για να επιτευχθεί αυτό: Χρησιμοποιήστε τα πλήκτρα ρύθμισης του εκτυπωτή ή τον πίνακα ελέγχου για να αλλάξετε τον τρόπο με τον οποίο ερμηνεύει αυτούς τους χαρακτήρες ο εκτυπωτής σας. Συμβουλευτείτε το εγχειρίδιο χρήσης του για να δείτε πως μπορεί να γίνει αυτό. Αν έχετε και άλλα λειτουργικά στο σύστημα σας εκτός από το &os;, πιθανόν να χρειαστεί, όταν τα χρησιμοποιείτε, να επαναρυθμίσετε τον εκτυπωτή σας ώστε να ερμηνεύει διαφορετικά τους χαρακτήρες CR και LF. Στην περίπτωση αυτή, ίσως είναι καλύτερο να προτιμήσετε κάποια από τις λύσεις που ακολουθούν. Ο οδηγός (driver) της σειριακής γραμμής του &os; μπορεί να μετατρέπει αυτόματα από LF σε CR+LF. Φυσικά, αυτό δουλεύει μόνο σε σειριακές θύρες. Για να ενεργοποιήσετε αυτή την λειτουργία, χρησιμοποιήστε την ικανότητα ms# και ορίστε την κατάσταση λειτουργίας onlcr στο αρχείο /etc/printcap για τον εκτυπωτή. Στείλτε ένα κωδικό διαφυγής (escape code) στον εκτυπωτή ώστε να χειρίζεται προσωρινά τους χαρακτήρες LF με διαφορετικό τρόπο. Συμβουλευτείτε το εγχειρίδιο χρήσης του εκτυπωτή σας για τους κώδικες διαφυγής που υποστηρίζονται. Όταν ανακαλύψετε τον κατάλληλο, μετατρέψτε το φίλτρο κειμένου ώστε να στέλνει πρώτα τον κωδικό, και έπειτα την εργασία στον εκτυπωτή. PCL Εδώ είναι ένα παράδειγμα φίλτρου κειμένου για εκτυπωτές που καταλαβαίνουν τους κωδικούς διαφυγής PCL της Hewlett-Packard. Αυτό το φίλτρο κάνει τον εκτυπωτή να χειρίζεται τους χαρακτήρες LF ως LF και CR. Έπειτα αποστέλλει την εργασία, στέλνοντας στο τέλος της ένα χαρακτήρα αλλαγής σελίδας (form feed) ώστε να γίνει σωστή εξαγωγή της τελευταίας σελίδας. Το φίλτρο αυτό θα πρέπει να δουλεύει με σχεδόν όλους τους εκτυπωτές της Hewlett Packard. #!/bin/sh # # hpif - Simple text input filter for lpd for HP-PCL based printers # Installed in /usr/local/libexec/hpif # # Simply copies stdin to stdout. Ignores all filter arguments. # Tells printer to treat LF as CR+LF. Ejects the page when done. printf "\033&k2G" && cat && printf "\033&l0H" && exit 0 exit 2 Εδώ είναι ένα παράδειγμα για το /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: Εκτυπώνεται η μία γραμμή πάνω στην άλλη. Ο εκτυπωτής δεν προωθεί καθόλου το χαρτί και όλες οι γραμμές κειμένου τυπώνονται η μία πάνω από την άλλη, σε μία γραμμή. Αυτό το πρόβλημα είναι το αντίστροφο του φαινόμενου σκάλας, που περιγράψαμε προηγουμένως, και είναι πολύ σπάνιο. Σε κάποιο σημείο, οι χαρακτήρες LF που χρησιμοποιεί το &os; για να τερματίσει την γραμμή, ερμηνεύονται ως χαρακτήρες CR οι οποίοι επιστρέφουν την κεφαλή στο αριστερό άκρο του χαρτιού, αλλά δίχως να προωθήσουν το χαρτί μία γραμμή προς τα κάτω. Χρησιμοποιήστε τους διακόπτες ρυθμίσεων του εκτυπωτή ή τον πίνακα ελέγχου για να θέσετε τις ακόλουθες επιλογές για τα LF και CR characters: Ο εκτυπωτής λαμβάνει Ο εκτυπωτής τυπώνει CR CR LF CR + LF Ο εκτυπωτής δεν εκτυπώνει (χάνει) κάποιους χαρακτήρες. Ο εκτυπωτής, ενώ είναι σε λειτουργία εκτύπωσης, δεν εκτυπώνει κάποιους χαρακτήρες σε όλες τις γραμμές. Το πρόβλημα πιθανώς να γίνεται εντονότερο καθώς η εκτύπωση εξελίσσεται, χάνοντας ακόμη περισσότερους χαρακτήρες. Το πρόβλημα είναι πως ο εκτυπωτής, καθώς εκτυπώνει, δεν προλαβαίνει να ακολουθήσει την ταχύτητα με την οποία ο υπολογιστής στέλνει δεδομένα μέσω της σειριακής διασύνδεσης (αυτό το πρόβλημα δεν πρέπει κανονικά να συμβαίνει σε εκτυπωτές συνδεμένους σε παράλληλες θύρες). Υπάρχουν δύο τρόποι για να ξεπεραστεί αυτό το πρόβλημα: Εάν ο εκτυπωτής υποστηρίζει έλεγχο ροής XON/XOFF, ρυθμίστε το &os; να τον χρησιμοποιήσει ορίζοντας την κατάσταση λειτουργίας ixon με την ικανότητα ms#. Εάν ο εκτυπωτής υποστηρίζει έλεγχο ροής τύπου Request to Send / Clear to Send (hardware handshake, γνωστό και με την ονομασία RTS/CTS), πρέπει να οριστεί η κατάσταση λειτουργίας crtscts στην ικανότητα ms#. Βεβαιωθείτε πως το καλώδιο που συνδέει τον εκτυπωτή με τον υπολογιστή είναι σωστά φτιαγμένο για χρήση αυτού του ελέγχου ροής. Ο εκτυπωτής τυπώνει σκουπίδια. Ο εκτυπωτής τύπωσε κάτι που αποκαλούμε τυχαία σκουπίδια, εννοώντας οτιδήποτε εκτός του επιθυμητού κειμένου. Αυτό είναι συνήθως ένα ακόμα σύμπτωμα λανθασμένων παραμέτρων σειριακής επικοινωνίας με τον εκτυπωτή. Ελέγξτε ξανά την τιμή bps rate στην ικανότητα br, και την ρύθμιση parity στην ικανότητα ms#. Βεβαιωθείτε πως ο εκτυπωτής χρησιμοποιεί τις ίδιες ρυθμίσεις που έχουν καθοριστεί στο αρχείο /etc/printcap. Δεν συνέβη τίποτε, ο εκτυπωτής δεν ξεκίνησε καν. Αν δεν συνέβη τίποτε, το πρόβλημα πιθανόν να οφείλεται στο &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 Έπειτα, προσπαθήστε να ξαναεκτυπώσετε. Ελέγξτε το αρχείο καταγραφής (log) (στο παράδειγμα μας, /var/log/rattan.log) για να βρείτε πιθανές αναφορές σφαλμάτων. Με βάση τα μηνύματα που βλέπετε, προσπαθήστε να διορθώσετε το πρόβλημα. Αν δεν καθορίσετε την ικανότητα lf, το LPD χρησιμοποιεί από προεπιλογή το /dev/console. diff --git a/el_GR.ISO8859-7/share/sgml/mailing-lists.ent b/el_GR.ISO8859-7/share/sgml/mailing-lists.ent index ce54dd8577..ae7eb3803a 100644 --- a/el_GR.ISO8859-7/share/sgml/mailing-lists.ent +++ b/el_GR.ISO8859-7/share/sgml/mailing-lists.ent @@ -1,531 +1,535 @@ εξυπηρετητής για ηλεκτρονικές λίστες του FreeBSD"> &a.mailman.listinfo;"> ηλεκτρονική λίστα για ACPI του FreeBSD"> freebsd-acpi"> ηλεκτρονική λίστα διαφήμισης και προώθησης του FreeBSD"> freebsd-advocacy"> ηλεκτρονική λίστα υλοποίησης του AFS στο FreeBSD"> freebsd-afs"> ηλεκτρονική λίστα του FreeBSD για ελεγκτές Adaptec AIC7xxx"> freebsd-aic7xxx"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα Alpha"> freebsd-alpha"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα AMD64"> freebsd-amd64"> ηλεκτρονική λίστα ανακοινώσεων του FreeBSD"> freebsd-announce"> ηλεκτρονική λίστα του FreeBSD για το Apache"> freebsd-apache"> ηλεκτρονική λίστα αρχιτεκτονικής και σχεδιασμού του FreeBSD"> freebsd-arch"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα ARM"> freebsd-arm"> ηλεκτρονική λίστα του FreeBSD για δίκτυα ATM"> freebsd-atm"> ηλεκτρονική λίστα ελέγχου πηγαίου κώδικα του FreeBSD"> freebsd-audit"> ηλεκτρονική λίστα αναβάθμισης του FreeBSD με εκτελέσιμα αρχεία"> freebsd-binup"> ηλεκτρονική λίστα του FreeBSD για Bluetooth"> freebsd-bluetooth"> ηλεκτρονική λίστα της ομάδας bugbusters του FreeBSD"> freebsd-bugbusters"> ηλεκτρονική λίστα αναφορών προβλημάτων του FreeBSD"> freebsd-bugs"> ηλεκτρονική λίστα γενικών συζητήσεων του FreeBSD"> freebsd-chat"> ηλεκτρονική λίστα παράλληλων συστημάτων του FreeBSD"> freebsd-cluster"> ηλεκτρονική λίστα της έκδοσης &os.current;"> freebsd-current"> ανακοινώσεις CTM"> ctm-announce"> διανομή μέσω CTM των αρχείων του CVS"> ctm-cvs-cur"> ηλεκτρονική λίστα διανομής του 4-STABLE μέσω CTM"> ctm-src-4"> ηλεκτρονική λίστα διανομής του -CURRENT μέσω CTM"> ctm-src-cur"> ηλεκτρονική λίστα γενικών συζητήσεων των χρηστών του CTM"> ctm-users"> ηλεκτρονική λίστα μηνυμάτων CVS commit του FreeBSD CVS"> cvs-all"> ηλεκτρονική λίστα μηνυμάτων CVS commit τεκμηρίωσης του FreeBSD"> cvs-doc"> ηλεκτρονική λίστα μηνυμάτων CVS commit των FreeBSD ports"> cvs-ports"> ηλεκτρονική λίστα μηνυμάτων CVS commit των projects του FreeBSD"> cvs-projects"> ηλεκτρονική λίστα μηνυμάτων CVS commit πηγαίου κώδικα του FreeBSD"> cvs-src"> ηλεκτρονική λίστα συντήρησης του CVSweb του FreeBSD"> freebsd-cvsweb"> ηλεκτρονική λίστα βάσεων δεδομένων βασισμένων στο FreeBSD"> freebsd-database"> ηλεκτρονική λίστα ομάδας τεκμηρίωσης του FreeBSD"> freebsd-doc"> ηλεκτρονική λίστα για την ανάπτυξη οδηγών συσκευών του FreeBSD"> freebsd-drivers"> ηλεκτρονική λίστα του FreeBSD για τους χρήστες του Eclipse IDE"> freebsd-eclipse"> ηλεκτρονική λίστα του FreeBSD για τις embedded πλατφόρμες"> freebsd-embedded"> ηλεκτρονική λίστα του FreeBSD για εξομοίωση-εξομοιωτές"> freebsd-emulation"> ηλεκτρονική λίστα FreeBSD-eol"> freebsd-eol"> ηλεκτρονική λίστα συζητήσεων για FireWire (IEEE 1394) του FreeBSD"> freebsd-firewire"> ηλεκτρονική λίστα του FreeBSD για συστήματα αρχείων"> freebsd-fs"> ηλεκτρονική λίστα του FreeBSD για εφαρμογές gecko"> freebsd-gecko"> ηλεκτρονική λίστα του FreeBSD για το GEOM"> freebsd-geom"> ηλεκτρονική λίστα του FreeBSD για το GNOME και τις εφαρμογές του"> freebsd-gnome"> ηλεκτρονική λίστα τεχνικών συζητήσεων του FreeBSD"> freebsd-hackers"> ηλεκτρονική λίστα του FreeBSD για υλικό κι εξαρτήματα υπολογιστών"> freebsd-hardware"> ηλεκτρονική λίστα των mirror sites του FreeBSD"> freebsd-hubs"> ηλεκτρονική λίστα διεθνοποίησης του FreeBSD"> freebsd-i18n"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα i386"> freebsd-i386"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα IA32"> freebsd-ia32"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα IA64"> freebsd-ia64"> ηλεκτρονική λίστα του FreeBSD για το IPFW"> freebsd-ipfw"> ηλεκτρονική λίστα του FreeBSD για το υποσύστημα ISDN"> freebsd-isdn"> ηλεκτρονική λίστα του FreeBSD για τους παροχείς υπηρεσιών Internet"> freebsd-isp"> ηλεκτρονική λίστα του FreeBSD για τα jails"> freebsd-jail"> ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Java"> freebsd-java"> ηλεκτρονική λίστα του FreeBSD σχετικά με εργασίες-επαγγέλματα"> freebsd-jobs"> ηλεκτρονική λίστα του FreeBSD για το KDE/Qt και τις εφαρμογές του"> freebsd-kde"> ηλεκτρονική λίστα του FreeBSD για το υποσύστημα LFS"> freebsd-lfs"> ηλεκτρονική λίστα του FreeBSD για το σύστημα εγκατάστασης και διαχείρισης πακέτων libh"> freebsd-libh"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα MIPS"> freebsd-mips"> διαχειριστές των mirror sites του FreeBSD"> mirror-announce"> ηλεκτρονική λίστα του FreeBSD για φορητούς υπολογιστές"> freebsd-mobile"> Εφαρμογές Mono και C# στο FreeBSD"> freebsd-mono"> ηλεκτρονική λίστα του FreeBSD για τον φυλλομετρητή Mozilla"> freebsd-mozilla"> ηλεκτρονική λίστα του FreeBSD για τα πολυμέσα"> freebsd-multimedia"> ηλεκτρονική λίστα του FreeBSD για την υποστήριξη δικτύου"> freebsd-net"> ηλεκτρονική λίστα του FreeBSD για τους νέους χρήστες"> freebsd-newbies"> ηλεκτρονική λίστα του FreeBSD για το υποσύστημα new-bus"> freebsd-new-bus"> ηλεκτρονική λίστα του FreeBSD για το OpenOffice"> freebsd-openoffice"> ηλεκτρονική λίστα του FreeBSD για υψηλές αποδόσεις"> freebsd-performance"> ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Perl"> freebsd-perl"> ηλεκτρονική λίστα του FreeBSD για το packet filter firewall"> freebsd-pf"> ηλεκτρονική λίστα του FreeBSD για τις μη-Intel πλατφόρμες"> freebsd-platforms"> ηλεκτρονική λίστα αποφάσεων πολιτικής της FreeBSD core ομάδας"> freebsd-policy"> ηλεκτρονική λίστα των FreeBSD ports"> freebsd-ports"> ηλεκτρονική λίστα αναφορών προβλημάτων των FreeBSD ports"> freebsd-ports-bugs"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα PowerPC"> freebsd-ppc"> ηλεκτρονική λίστα του FreeBSD για τις πλατφόρμες εξυπηρετητών HP ProLiant"> freebsd-proliant"> ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Python"> freebsd-python"> ηλεκτρονική λίστα Ελέγχου και Εξασφάλισης Ποιότητας του FreeBSD"> freebsd-qa"> ηλεκτρονική λίστα γενικών ερωτήσεων του FreeBSD"> freebsd-questions"> ηλεκτρονική λίστα του FreeBSD για το σύστημα των boot script"> freebsd-rc"> ηλεκτρονική λίστα επεκτάσεων πραγματικού χρόνου του FreeBSD"> freebsd-realtime"> ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Ruby"> freebsd-ruby"> ηλεκτρονική λίστα του FreeBSD για το υποσύστημα SCSI"> freebsd-scsi"> ηλεκτρονική λίστα του FreeBSD για θέματα ασφάλειας"> freebsd-security"> ηλεκτρονική λίστα Ανακοινώσεων για Θέματα Ασφάλειας του FreeBSD"> freebsd-security-notifications"> ηλεκτρονική λίστα του FreeBSD για μικρά συστήματα"> freebsd-small"> ηλεκτρονική λίστα του FreeBSD για την συμμετρική πολυεπεξεργασία"> freebsd-smp"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα SPARC"> freebsd-sparc64"> ηλεκτρονική λίστα του &os.stable;"> freebsd-stable"> ηλεκτρονική λίστα του FreeBSD για τη συμβατότητα με τα πρότυπα C99 και POSIX"> freebsd-standards"> ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα sun4v"> freebsd-sun4v"> ηλεκτρονική λίστα μηνυμάτων SVN commit πηγαίου κώδικα του FreeBSD (εξαιρούνται τα δέντρα user και projects)"> svn-src-all"> ηλεκτρονική λίστα μηνυμάτων SVN commit πηγαίου κώδικα για τον κλάδο head/-current"> svn-src-head"> ηλεκτρονική λίστα μηνυμάτων SVN commit για τον πηγαίο κώδικα του δέντρου projects"> svn-src-projects"> ηλεκτρονική λίστα μηνυμάτων SVN commit για εκδόσεις (releases) πηγαίου κώδικα"> svn-src-release"> ηλεκτρονική λίστα μηνυμάτων SVN commit για διορθώσεις ασφάλειας της ομάδας release engineering στο δέντρο πηγαίου κώδικα"> svn-src-releng"> ηλεκτρονική λίστα μηνυμάτων SVN commit για όλους τους κλάδους -stable του δέντρου πηγαίου κώδικα"> svn-src-stable"> ηλεκτρονική λίστα μηνυμάτων SVN commit μόνο για το δέντρο πηγαίου κώδικα 6-stable"> svn-src-stable-6"> ηλεκτρονική λίστα μηνυμάτων SVN commit μόνο για το δέντρο πηγαίου κώδικα 7-stable"> svn-src-stable-7"> ηλεκτρονική λίστα μηνυμάτων SVN commit μόνο για το δέντρο πηγαίου κώδικα 8-stable"> svn-src-stable-8"> ηλεκτρονική λίστα μηνυμάτων SVN commit για τα παλιά stable δέντρα πηγαίου κώδικα"> svn-src-stable-other"> ηλεκτρονική λίστα μηνυμάτων SVN commit για το δέντρο admin / configuration"> svn-src-svnadmin"> ηλεκτρονική λίστα μηνυμάτων SVN commit για το πειραματικό δέντρο πηγαίου κώδικα user"> svn-src-user"> ηλεκτρονική λίστα μηνυμάτων SVN commit για το δέντρο εργασίας vendor"> svn-src-vendor"> + +ηλεκτρονική λίστα για την ανάπτυξη του sysinstall"> +freebsd-sysinstall"> + ηλεκτρονική λίστα του FreeBSD για δοκιμαστικά μηνύματα"> freebsd-test"> ηλεκτρονική λίστα δοκιμών απόδοσης και σταθερότητας του FreeBSD"> freebsd-testing"> ηλεκτρονική λίστα του FreeBSD για την πολυνηματική επεξεργασία"> freebsd-threads"> ηλεκτρονική λίστα του FreeBSD για το υποσύστημα tokenring"> freebsd-tokenring"> ηλεκτρονική λίστα του FreeBSD για τη διασύνδεση με συσκευές USB"> freebsd-usb"> ηλεκτρονική λίστα οργάνωσης των ομάδων χρηστών του FreeBSD"> freebsd-user-groups"> ηλεκτρονική λίστα προσυνεννόησης των προμηθευτών του FreeBSD"> freebsd-vendors"> ηλεκτρονική λίστα του FreeBSD για τεχνικές virtualization"> freebsd-virtualization"> ηλεκτρονική λίστα για την πλατφόρμα VuXML"> freebsd-vuxml"> ηλεκτρονική λίστα για τις Αναφορές Προόδου του FreeBSD"> freebsd-wip-status"> ηλεκτρονική λίστα του Webmaster του FreeBSD"> freebsd-www"> ηλεκτρονική λίστα του FreeBSD για το γραφικό περιβάλλον X11"> freebsd-x11"> ηλεκτρονική λίστα συζητήσεων για τη μεταφορά του FreeBSD στο Xen"> freebsd-xen"> bug-followup@FreeBSD.org"> majordomo@FreeBSD.org"> diff --git a/el_GR.ISO8859-7/share/sgml/trademarks.ent b/el_GR.ISO8859-7/share/sgml/trademarks.ent index 3d3db92f0c..5f77fc334e 100644 --- a/el_GR.ISO8859-7/share/sgml/trademarks.ent +++ b/el_GR.ISO8859-7/share/sgml/trademarks.ent @@ -1,436 +1,447 @@ Οι λέξεις 3Com και HomeConnect είναι κατοχυρωμένα εμπορικά σύμβολα της 3Com Corporation."> 3Com"> Οι λέξεις 3ware και Escalade είναι κατοχυρωμένα εμπορικά σύμβολα της 3ware Inc."> 3ware"> Escalade"> Η λέξη Adaptec είναι κατοχυρωμένο εμπορικό σύμβολο της Adaptec, Inc."> Adaptec"> Οι λέξεις ή φράσεις Adobe, Acrobat, Acrobat Reader, και PostScript είναι είτε κατοχυρωμένα εμπορικά σύμβολα ή εμπορικά σύμβολα της Adobe Systems Incorporated στις Ηνωμένες Πολιτείες ή/και σε άλλες χώρες."> Acrobat"> Acrobat Reader"> Adobe"> PostScript"> Οι λέξεις ή φράσεις AMD, Am486, Am5X86, AMD Athlon, AMD Duron, AMD Opteron, AMD-K6, Élan, και PCnet είναι εμπορικά σύμβολα της Advanced Micro Devices, Inc."> Am486"> Am5x86"> AMD Athlon"> AMD Duron"> AMD-K6"> AMD Opteron"> AMD Sempron"> AMD Turion"> Athlon"> Élan"> Opteron"> Οι λέξεις ή φράσεις Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime, και TrueType είναι εμπορικά σύμβολα της Apple Computer, Inc., κατοχυρωμένα στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> AirPort"> Apple"> FireWire"> iMac"> Mac"> Macintosh"> Mac OS"> Quicktime"> TrueType"> Η λέξη ARM είναι κατοχυρωμένο εμπορικό σύμβολο της ARM Limited."> ARM"> Η λέξη Bluetooth ανήκει στην Bluetooth SIG, Inc."> Bluetooth"> Η λέξη Broadcom είναι ένα κατοχυρωμένο εμπορικό σύμβολο της Broadcom Corporation και των θυγατρικών της."> Broadcom"> Οι λέξεις ή φράσεις Check Point, Firewall-1, και VPN-1 είναι εμπορικά σύμβολα της Check Point Software Technologies Ltd."> Οι λέξεις ή φράσεις Cisco, Catalyst, και IOS είναι κατοχυρωμένα εμπορικά σύμβολα της Cisco Systems, Inc. ή/και των συνεργατών της στις Ηνωμένες Πολιτείες και σε ορισμένες άλλες χώρες."> Cisco"> Catalyst"> EtherChannel"> IOS"> Οι λέξεις Corel και WordPerfect είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Corel Corporation ή/και των θυγατρικών της στον Καναδά, τις Ηνωμένες Πολιτείες ή/και σε άλλες χώρες."> Η λέξη Coverity είναι ένα κατοχυρωμένο εμπορικό σύμβολο. Οι λέξεις ή φράσεις Coverity Extend, Coverity Prevent και Coverity Prevent SQS είναι εμπορικά σύμβολα της Coverity, Inc."> Coverity"> Coverity Prevent"> Η φράση Sound Blaster είναι εμπορικό σύμβολο της Creative Technology Ltd. στις Ηνωμένες Πολιτείες ή/και σε άλλες χώρες."> SoundBlaster"> Η λέξη CVSup είναι κατοχυρωμένο εμπορικό σύμβολο του John D. Polstra."> Οι λέξεις ή φράσεις Dell, Dell Precision, Latitude, Optiplex, και PowerEdge είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Dell Computer Corporation"> Dell"> PowerEdge"> Οι λέξεις ή φράσεις EPSON και EPSON Perfection είναι κατοχυρωμένα εμπορικά σύμβολα της Seiko Epson Corporation."> EPSON"> EPSON Perfection"> Το FreeBSD είναι ένα κατοχυρωμένο εμπορικό σύμβολο του FreeBSD Foundation."> + +Το λογότυπο Fujitsu και οι λέξεις Fujitsu, + LifeBook, Stylistic, PRIMEPOWER, PRIMEQUEST, PRIMECLUSTER, ETERNUS, TRIOLE, + ESPRIMO, BioMedCAChe, CAChe, CELLINJECTOR, isS, Materials Explorer, + SystemWalker και Interstage είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά + σύμβολα της Fujitsu Limited στις Ηνωμένες Πολιτείες και άλλες + χώρες."> +Fujitsu"> +PRIMEPOWER"> + Οι λέξεις ή φράσεις Heidelberg, Helvetica, Palatino, και Times Roman είναι είτε κατοχυρωμένα εμπορικά σύμβολα ή εμπορικά σύμβολα της Heidelberger Druckmaschinen AG στις ΗΠΑ και σε άλλες χώρες."> Οι λέξεις ή φράσεις IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390, και ThinkPad είναι εμπορικά σύμβολα της International Business Machines Corporation στις Ηνωμένες Πολιτείες, άλλες χώρες, ή και στα δύο ταυτόχρονα."> AIX"> EtherJet"> Netfinity"> OS/2"> PowerPC"> PS/2"> S/390"> ThinkPad"> Οι λέξεις IEEE, POSIX, και 802 είναι κατοχυρωμένα εμπορικά σύμβολα του Institute of Electrical and Electronics Engineers, Inc. στις Ηνωμένες Πολιτείες."> IEEE"> POSIX"> Οι λέξεις Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, και Xeon είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Intel Corporation και των θυγατρικών της στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> Celeron"> EtherExpress"> i386"> i486"> Intel"> Itanium"> Pentium"> Core"> Xeon"> Οι λέξεις Intuit και Quicken είναι κατοχυρωμένα εμπορικά σύμβολα ή κατοχυρωμένα σύμβολα υπηρεσιών της Intuit Inc., ή κάποιων από τις θυγατρικές της, στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> Οι λέξεις Iomega, Zip, και Jaz είναι είτε κατοχυρωμένα εμπορικά σύμβολα ή εμπορικά σύμβολα της Iomega Corporation στις Ηνωμένες Πολιτείες ή/και σε άλλες χώρες."> Zip"> Jaz"> Οι λέξεις Lantronix και EasyIO είναι εμπορικά σύμβολα της Lantronix Corporation."> EasyIO"> Το Linux είναι ένα κατοχυρωμένα εμπορικό σύμβολο του Linus Torvalds στις Ηνωμένες Πολιτείες."> Linux"> Οι λέξεις LSI Logic, AcceleRAID, eXtremeRAID, MegaRAID και Mylex είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της LSI Logic Corp."> AcceleRAID"> MegaRAID"> Mylex"> Οι λέξεις Macromedia, Flash, και Shockwave είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Macromedia, Inc. στις Ηνωμένες Πολιτείες και/ή σε άλλες χώρες."> Flash"> Macromedia"> Shockwave"> Οι λέξεις Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media, και Windows NT είναι είτε κατοχυρωμένα εμπορικά σύμβολα ή εμπορικά σύμβολα της Microsoft Corporation στις Ηνωμένες Πολιτείες και/ή σε άλλες χώρες."> IntelliMouse"> Microsoft"> MS-DOS"> Outlook"> Windows"> Windows Media"> Windows NT"> Οι λέξεις MIPS και R4000 είναι κατοχυρωμένα εμπορικά σύμβολα της MIPS Technologies, Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> MIPS"> Η λέξη MySQL είναι κατοχυρωμένο εμπορικό σύμβολο της MySQL AB στις Ηνωμένες Πολιτείες, στην Ευρωπαϊκή Ένωση και σε άλλες χώρες."> MySQL"> Οι λέξεις M-Systems και DiskOnChip είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της M-Systems Flash Disk Pioneers, Ltd."> DiskOnChip"> Η λέξη NetBSD είναι ένα κατοχυρωμένο εμπορικό σύμβολο του NetBSD Foundation."> Οι λέξεις Netscape και Netscape Navigator είναι κατοχυρωμένα εμπορικά σύμβολα της Netscape Communications Corporation στις Η.Π.Α και άλλες χώρες."> Netscape"> Netscape Navigator"> Οι λέξεις GateD και NextHop είναι κατοχυρωμένα εμπορικά σύμβολα και εμπορικά σύμβολα της NextHop στις Η.Π.Α. και άλλες χώρες."> GateD"> Οι λέξεις NetWare, NetWare Loadable Module, και NLM είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά της Novell, Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> Οι λέξεις Motif, OSF/1, και UNIX είναι κατοχυρωμένα εμπορικά σύμβολα και οι λέξεις ή φράσεις IT DialTone και The Open Group είναι εμπορικά σύμβολα του The Open Group στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> Η λέξη UNIX είναι κατοχυρωμένο εμπορικό σύμβολο του Open Group στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> Motif"> UNIX"> Η λέξη Oracle είναι κατοχυρωμένο εμπορικό σύμβολο της Oracle Corporation."> Oracle"> Η λέξη Parallels είναι ένα κατοχυρωμένο εμπορικό σύμβολο της Parallels Software International Inc."> Οι λέξεις PowerQuest και PartitionMagic είναι κατοχυρωμένα εμπορικά σύμβολα της PowerQuest Corporation στις Ηνωμένες Πολιτείες και/ή σε άλλες χώρες."> PartitionMagic"> Οι λέξεις QUALCOMM και Eudora είναι κατοχυρωμένα εμπορικά σύμβολα της QUALCOMM Incorporated."> Eudora"> Οι λέξεις RealNetworks, RealPlayer και RealAudio είναι κατοχυρωμένα εμπορικά σύμβολα της RealNetworks, Inc."> RealPlayer"> Οι λέξεις ή φράσεις Red Hat, και RPM είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Red Hat, Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> Οι λέξεις SAP, R/3, και mySAP είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της SAP AG στη Γερμανία και σε πολλές άλλες χώρες του κόσμου."> R/3"> SAP"> Οι λέξεις οι φράσεις Silicon Graphics, SGI, και OpenGL είναι κατοχυρωμένα εμπορικά σύμβολα της Silicon Graphics, Inc. στις Ηνωμένες Πολιτείες και/ή σε άλλες χώρες στον κόσμο."> OpenGL"> Η λέξη Slackware είναι ένα κατοχυρωμένο εμπορικό σύμβολο του Patrick Volkerding και της Slackware Linux, Inc."> -Οι λέξεις ή φράσεις Sparc, Sparc64, - SPARCEngine, και UltraSPARC είναι εμπορικά σύμβολα της SPARC International, - Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες. Τα προϊόντα που φέρουν τα - εμπορικά σύμβολα SPARC είναι βασισμένα στην αρχιτεκτονική που ανέπτυξε η Sun - Microsystems, Inc."> -Sparc"> -Sparc64"> -SPARCEngine"> +Οι λέξεις ή φράσεις SPARC, SPARC64, + SPARCengine, και UltraSPARC είναι εμπορικά σύμβολα της SPARC International, + Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες. Η SPARC International + Inc. κατέχει όλα τα εμπορικά δικαιώματα των συμβόλων SPARC και επιτρέπει + την ορθή χρήση τους από όλα τα μέλη της, κατόπιν σχετικής άδειας."> +SPARC"> +SPARC64"> +SPARCengine"> UltraSPARC"> Οι λέξεις ή φράσεις Sun, Sun Microsystems, Java, - Java Virtual Machine, JavaServer Pages, JDK, JRE, JSP, JVM, Netra, Solaris, - StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, Ultra και + Java Virtual Machine, JavaServer Pages, JDK, JRE, JSP, JVM, Netra, OpenJDK, + Solaris, StarOffice, Sun Blade, Sun Enterprise, Sun Fire, SunOS, Ultra και VirtualBox είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Sun Microsystems, Inc. στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> Java"> Java Virtual Machine"> JavaServer Pages"> JDK"> JRE"> JSP"> JVM"> Netra"> +OpenJDK"> Solaris"> StarOffice"> Sun"> Sun Blade"> Sun Enterprise"> Sun Fire"> Ultra"> SunOS"> VirtualBox"> Οι λέξεις Symantec και Ghost είναι κατοχυρωμένα εμπορικά σύμβολα της Symantec Corporation στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> Η λέξη MATLAB είναι ένα κατοχυρωμένο εμπορικό σύμβολο της The MathWorks, Inc."> MATLAB"> Η λέξη SpeedTouch είναι ένα εμπορικό σύμβολο της Thomson"> SpeedTouch"> Οι λέξεις Transmeta και Crusoe είναι εμπορικά σύμβολα ή κατοχυρωμένα εμπορικά σύμβολα της Transmeta Corporation στις Ηνωμένες Πολιτείες και σε άλλες χώρες."> Crusoe"> Transmeta"> Οι λέξεις ή φράσεις U.S. Robotics και Sportster είναι κατοχυρωμένα εμπορικά σύμβολα της U.S. Robotics Corporation."> Sportster"> U.S. Robotics"> Οι λέξεις ή φράσεις Waterloo Maple και Maple είναι εμπορικά ή κατοχυρωμένα εμπορικά σύμβολα της Waterloo Maple Inc."> Maple"> Η λέξη Mathematica είναι κατοχυρωμένο εμπορικό σύμβολο της Wolfram Research, Inc."> Mathematica"> Η λέξη VMware είναι εμπορικό σύμβολο της VMware, Inc."> Η λέξη Xen είναι ένα κατοχυρωμένο εμπορικό σύμβολο της XenSource, Inc. sτις ΗΠΑ και άλλες χώρες."> Xen"> Η λέξη XFree86 είναι ένα εμπορικό σύμβολο του The XFree86 Project, Inc."> XFree86"> Οι λέξεις ή φράσεις Ogg Vorbis και Xiph.Org είναι εμπορικά σύμβολα τουXiph.Org."> Πολλές από τις λέξεις ή φράσεις οι οποίες χρησιμοποιούνται από τους κατασκευαστές ή τους πωλητές τους για να διακρίνουν τα προϊόντα τους θεωρούνται εμπορικά σύμβολα. Όπου αυτές εμφανίζονται σε αυτό το κείμενο και για όσες από αυτές γνωρίζει η Ομάδα Ανάπτυξης του FreeBSD ότι είναι πιθανόν να είναι εμπορικά σύμβολα, θα δείτε ένα από τα σύμβολα: ή ®.">