Home    Решения    Услуги    Download    Публикации    Работа    Продукти    Документи
 

 

 
Print this page/Отпечатай тази страница  

 

Как си инсталирах моят HP DeskJet 400

от Йовко Ламбрев ([email protected])




       Ами всъщност няма нищо сложно. Това е класически принтер. Той принадлежи към серията 400/500 на Hewlett Packard и като модел не притежава никакви екзотики. Всъщност това е и проблем. Такъв нямаше да има ако това бе postscript принтер, но той не е.
       Някои дистрибуции на Linux имат претенциите да могат да го инсталират сами. Такава например е Red Hat 5.2. И дори успява наполовина :-) ASCII ще печатате без проблем, но ще трябва да пипнете тук-там за да печатате графика.
       Но да оставим частните случаи - въпреки, че моят Linux бе точно Red Hat 5.2 (кърнъл 2.0.36) подходих към проблема от нула, без да ползвам вграденият инсталатор. Какво направих:
       1. Написах си /etc/printcap файл, който е разделен на два поддяла - единият с настройките за печат на графика, а другият за печат на ASCII текст. Ето как изглежда той:


# HP DeskJet 400 (Postscript)
#Set Default Printer
lp|inkjet:\
        :lp=/dev/lp1:\
        :sd=/var/spool/lpd/psjet: \
        :if=/usr/local/bin/psfilter: \
        :mx#0: \
        :sh

# HP DeskJet 400 (Text)
txt:\
        :lp=/dev/lp1:\
        :sd=/var/spool/lpd/lp: \
        :if=/usr/local/bin/lpfilter: \
        :mx#0: \
        :sh


       Както се вижда от файла, принтера по подразбиране ще печата графика, а не ASCII. Това е така, защото предимно печатам под X със StarOffice или други приложения, а и така е по-лесно да ги "заблудя", че печатат върху postscript принтер. Когато ми се случва да печатам ASCII текст го правя от конзолата с опциите -P и txt за да използвам втората секция на /etc/printcap дефинициите.
       Т.е. за да отпечатам например файла ASCIItext.test трябва да напиша нещо такова в командния ред:
lpr -Ptxt ./ASCIItext.test
       За какво служи опцията -P вижте в документацията. Командата е
man lpr
       2. Остава да се направят двата филтъра - за ASCII и за графика. Можете да си ги напишете, можете да си ги download-нете отнякъде, а всъщност такива имате и в документацията. Например моят ASCII филтър е от Printing-HOWTO. А и той не върши и не представлява нищо особено. Ето как изглежда:
#!/bin/sh
echo -ne \\033\&k2G
cat
echo -ne \\f
       По-интересен е другият филтър psfilter. Не, че е сложен, но трябва правилно да зададете опциите, с които викате ghostscript-а. Въпреки, че това е класика. Ето как работи при мен:
#!/bin/sh
/usr/bin/gs -q -dSAFER -dNOPAUSE -sDEVICE=deskjet -sOutputFile=- -
       И двата файла трябва да се намират в /usr/local/bin - не, че не можете да ги сложите и другаде (трябва само да смените пътищата в /etc/printcap), но това е конвенционалното им място.
       3. Следва да се направят spool директориите и да се оправят групата и правата им (permissions). Ето как:
mkdir /var/spool/lpd/lp
chgrp lp /var/spool/lpd/lp
chmod 775 /var/spool/lpd/lp

mkdir /var/spool/lpd/psjet
chgrp lp /var/spool/lpd/psjet
chmod 775 /var/spool/lpd/psjet

chmod 755 /usr/local/bin/lpfilter
chmod 755 /usr/local/bin/psfilter
       И това е всичко.
Ако не ви се пише на ръка можете да си вземете всички тези файлове заедно с инсталационен шел-скрипт от тук.
       Разархивирайте го с командата
tar xvfz dj400.tar.gz
       Ще се създаде поддиректорията dj400. Влезте в нея с
cd dj400
       и след това стартирайте инсталационния скрипт
./install