💾 Archived View for magaz.hellug.gr › 04 › 02_zone › index.gmi captured on 2024-08-31 at 12:00:33. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-02-05)
-=-=-=-=-=-=-
Παναγιώτης Βρυώνης Απρ 1998
Το Linux Zone είναι μία στήλη που σκοπό της έχει να παρουσιάζει μερικές από τις εμπειρίες μου στον χώρο του Linux.
Πριν από λίγο καιρό αποφάσισα να αντικαταστήσω τον παλιό μου εκτυπωτή, έναν Epson Stylus 800. Οι λόγοι ήταν δύο: πρώτον ο Epson έδειχνε να "έχει φάει τα ψωμιά του" μετά από τις ατελείωτες δοκιμασίες που είχε περάσει μαζί μου τα τελευταία τρία χρόνια και δεύτερον η αδελφή μου που χρησιμοποιεί τον υπολογιστή για computer graphics ήθελε έναν έγχρωμο εκτυπωτή. Λόγω του ότι με κάλεσαν να παρουσιαστώ στο ναυτικό δεν είχα πολύ χρόνο για να ψάξω το θέμα και έτσι γρήγορα, γρήγορα κατέληξα να αγοράζω τον Hewlett-Packard Deskjet 720C.
Ο HP συνδέθηκε, οι σχετικοί drivers για τα Windows95 εγκαταστάθηκαν και πραγματικά το αποτέλεσμα μου έρεσε: οι μαυρόασπρες εκτυπώσεις ήταν ταχύτατες και οι έγχρωμες εντυπωσιακές.
Αφού λοιπόν η αδελφή μου μπορούσε να δουλεύει στα Windows ήταν ώρα να δω τί ρυθμίσεις θα χρειαζόντουσαν να γίνουν για να μπορώ να εκτυπώνω από το RedHat Linux που χρησιμοποιώ σχεδόν αποκλειστικά. Το RedHat παρέχει ένα πολύ βολικό εργαλείο, το printtool, που απολοποιεί την διαδικασία "εγκατάστασης" νέων εκτυπωτών στο σύστημα. Επιλογή για "HP Deskjet 720C" δεν υπήρχε και αποφάσισα να δοκιμάσω κάποιες άλλες που έμοιαζαν κοντινές. Δοκίμασα "cdj550", "cdeskjet", "deskjet" και γενικά ό,τι έμοιαζε να έχει κάποια πιθανότητα να δουλέψει άλλά μάταια. Το αποτέλεσμα σε όλες τις περιπτώσεις ήταν το ίδιο: ο HP δεν αντιδρούσε, λες και δεν δέχονταν δεδομένα.
Ευτυχώς ο Epson υπήρχε ακόμη. Το συνέδεσα και πάλι για να βεβαιωθώ ότι ο lpd δουλεύει κανονικά και όντως δεν υπήρχε κανένα πρόβλημα. Άρα, αυτό που θα έπρεπε να φταίει είναι ότι τα δεδομένα που έστελνα στον HP δεν είχαν την μορφή που θα έπρεπε...
Εκείνη την περίοδο φτάνει ένα e-mail στο magaz από τον Νίκο Παπαγρηγορίου που αντιμετώπιζε το ίδιο πρόβλημα. Μόνο που έχει παρατηρήσει κάτι που εμένα μου έχει διαφύγει: το κουτί του εκτυπωτή λέει "Windows Printer"!!! Καλά είναι δυνατόν να υπάρχει κάτι τέτοιο; Οι επισκέψεις στο www site της HP καθώς και τα e-mail στην RedHat, ενισχύουν την άποψη αυτή. Οι αναζητήσεις συνεχίζονται σε news groups και διάφορα sites, αλλά μάταια...
Την λύση θα μου δώσει και πάλι ο Νίκος http://www.rpi.edu/~normat/technical/ppa/index.html[1]. Πράγματι, εκεί βρήκα πολλές πληροφορίες. Κατ' αρχήν, ο HP Deskjet 720C χρησιμοποιεί ένα "πρωτόκολλο" επικοινωνίας που η HP ονομάζει PPA αλλά τις λεπτομέρειες τις κρατάει μυστικές. Κατά συνέπεια, μόνο αυτή μπορεί να φτιάξει drivers (και δεν έχει από ό,τι φαίνεται κανένα ενδιαφέρον να τους μεταφέρει στο Linux...).
1: http://www.rpi.edu/~normat/technical/ppa/index.html
Αν και τα πράγματα έδειχναν μαύρα, δεν ήταν και τόσο. Ο συγγραφέας των παραπάνω σελίδων, ονόματι Tim Norman, είχε καθήσει με υπομονή και προσπάθησε να αποκωδικοποιήσει τις εκτυπώσεις που έπαιρνε από τα Windows. Σιγά, σιγά άρχισε να καταλαβαίνει το PPA και αυτό του επέτρεψε να γράψει ένα προγραμματάκι που να μετατρέπει pbm αρχεία (αυτό είναι ένα format που μπορεί να παράγει και το ghostscript) σε μορφή κατανοητή από τον 720C!
Download λοιπόν τα σχετικά αρχεία, διάβασμα των README και INSTALL, compilation και η πρώτη εκτύπωση από το Linux μου είναι γεγονός!!! Βέβαια, υπάρχουν κάποια "προβληματάκια" (πολύ μικρή ταχύτητα, μόνο μαύρο-άσπρο) αλλά ο Tim υποστηρίζει ότι δεν θα αργήσουν να λυθούν.
Ενημέρωσα και τον Νίκο, ο οποίος μου απάντησε ότι δεν έχει καταφέρει να καταλάβει πώς θα χρησιμοποιήσει τα executables που παράγονται από το compilation. Δεν έχει και άδικο - αν δεν ξέρεις πώς δουλεύει ο lpd θα χρειαστεί πρώτα λίγο διάβασμα (βλ. Printing-HOWTO κ.λ.). Γιατί να μην απλοποιήσω λίγο την διαδικασία;
Το πρώτο βήμα ήταν να δώ πώς θα προσθέσω τον 720C στους εκτυπωτές που υποστηρίζει το printtool. Ε, αν και το συγκεκριμένο εργαλείο είναι δουλειά της RedHat, ο κώδικας είναι σε Perl, τα στοιχεία διαβάζονται από ASCII files και διανέμεται σύμφωνα με το CPL. Λίγο ψάξιμο λοιπόν στο source code, μερικοί πειραματισμοί και το printtool υποστήριζε και Deskjet 720C.
Το επόμενο βήμα ήταν να φτιάξω ένα RPM που να αυτοματοποιεί την εγκατάσταση. Αν και έχω μία καλή εμπειρία με τα διάφορα εργαλεία που χρησιμοποιούνται για την αυτοματοποιήση της διαδικασίας του compile και της εγκατάστασης όπως make, autoconf και automake ποτέ μου δεν είχα κάτσει να ασχοληθώ με τον τρόπο που κατασκευάζονται τα RPMs, αν και πάντα με ενδιέφερε.
Αυτή ήταν μία καλή ευκαιρία. Επισκεύθηκα το http://www.rpm.org[2], διάβασα ό,τι μου φαινότανε απαραίτητο και μετά από ένα απόγευμα ευχάριστης ταλαιπωρίας εγκατέστησα για πρώτη φορά το ppa-0.8.2-1.rpm στο συστημά μου. (Μέχρι να γραψω το άρθρο έχουμε φτάσει στο 8.4 που είναι και σαφώς ταχύτερο...) Έστειλα την δουλειά μου στον Tim Norman για να την αξιοποιήσει όπως νομίζει καλύτερα.
Τώρα; Ε, τώρα περιμένω νέα versions του ppa με περισσότερες δυνατότητες. Ίσως να μπορούσε να γραφτεί και ένα προγραμματάκι για X-Windows (KDE?) αντίστοιχο με το πρόγραμμα της HP για τα Windows95 που να επιτρέπει την επιλογή της ποιότητας εκτύπωσης κ.λ. Πάντως τώρα που έμαθα πως δουλεύει το rpm σκοπεύω να φτιάξω ένα για το grISOXkb (νομίζω ότι θα βοηθήσει πολύ κόσμο).
Περισσότερα από το Linux Zone στο επόμενο τεύχος του magaz!