View file File name : test_ppa Content :#!/bin/sh # test_ppa v 1.03 # designed for Red Hat Linux systems BINDIR=/usr/bin CONFIG_DIR=/etc echo "*** Test/Calibration page printing utility for HP DeskJet PPA printers" echo " Give PPA printer model ( 710 | 712 | 720 | 722 | 820 | 1000 ):" read response printer="" if $(echo $response | grep -e "710" > /dev/null ) ; then printer=710 elif $(echo $response | grep -e "712" > /dev/null ) ; then printer=710 elif $(echo $response | grep -e "720" > /dev/null ) ; then printer=720 elif $(echo $response | grep -e "722" > /dev/null ) ; then printer=720 elif $(echo $response | grep -e "820" > /dev/null ) ; then printer=820 elif $(echo $response | grep -e "1000" > /dev/null ) ; then printer=1000 fi if [ "$printer" = "" ] ; then echo "*** Error: printer model $response is not a valid PPA printer" exit 0 fi echo " Give desired paper size ( letter | legal | a4 ):" read response paper="" case $response in letter | Letter | us | US ) paper="letter" page="/usr/lib/rhs/rhs-printfilters/testpage.ps" ;; esac case $response in legal | Legal ) paper="legal" page="/usr/lib/rhs/rhs-printfilters/testpage.ps" ;; esac case $response in a4 | A4 ) paper="a4" page="/usr/lib/rhs/rhs-printfilters/testpage-a4.ps" ;; esac if [ "$paper" = "" ] ; then echo "*** Error: $response is not a valid paper size" exit 0 fi echo " Give desired printer port /dev/lpn, n = (0 | 1 | 2):" read response port="INVALID PORT" case $response in 0 | 1 | 2 ) port="/dev/lp$response" ;; esac case $response in "/dev/lp0" | "/dev/lp1" | "/dev/lp2" ) port=$response ;; esac if ! [ -e "$port" ] ; then echo "*** Error: printer port $port does not exist" exit 0 fi GSDEVICE=ppmraw DRIVER=pnm2ppa CALIB=calibrate_ppa CFG=$pnm2ppa_conf OPTS="--verbose" color="" if [ "$DRIVER" = "pnm2ppa" ] ; then echo " *** pnm2ppa can print in color or black-and-white" echo " test in color (1) or black-and-white (2)? [1 | 2] (1):" read response if [ "$response" = "2" ] ; then color="--bw" fi fi if ! [ -f $BINDIR/$DRIVER ] ; then echo "*** Error: $BINDIR/$DRIVER was not found" echo " is it correctly installed?" exit 0 fi if ! $(eval "which $DRIVER | grep -e $BINDIR/$DRIVER >/dev/null 2>&1 " ) ; then echo "*** WARNING: the PPA driver $DRIVER found in your path " echo " is not $BINDIR/$DRIVER; \"which $DRIVER\" reports:" which $DRIVER echo " move or delete this other copy of $DRIVER (exit) " exit 0 fi CFG=$CONFIG_DIR/${DRIVER}.conf if [ -f $CFG ] ; then echo " *** Configuration file $CFG will be used " cfg="-f $CFG" else echo " *** No configuration file $CFG found" cfg="" fi if [ -f $page ] ; then echo " *** Do you wish to print a test page ? [Y | N] (N):" read response case $response in y | Y | yes | Yes ) eval "cat $page | gs -q \ -sDEVICE=$GSDEVICE -dNOPAUSE -r600 -sPAPERSIZE=$paper \ -sOutputFile=- -| $BINDIR/$DRIVER $OPTS -v $printer $cfg $color -s $paper \ - - > $port" ;; esac fi echo " *** Do you wish to print the offset calibration page ? [Y | N] (N):" read response case $response in y | Y | yes | Yes ) if ! [ -f $BINDIR/$CALIB ] ; then echo "*** Error: $BINDIR/$CALIB was not found" echo " is it correctly installed?" exit 0 fi if ! $(eval "which $CALIB | grep -e $BINDIR/$CALIB >/dev/null" ) ; then echo "*** WARNING: the calibration program $CALIB found in your path " echo " is not $BINDIR/$CALIB; \"which $CALIB\" reports:" which $CALIB echo " move or delete this other copy of $CALIB (exit) " exit 0 fi echo " see the file CALIBRATION.txt for details of its use" echo " " eval "$CALIB -s $paper --center | $BINDIR/$DRIVER $OPTS -v $printer $cfg --bw \ - - > $port" ;; esac echo " *** Do you wish to print the alignment calibration page ? [Y | N] (N):" read response case $response in y | Y | yes | Yes ) if ! [ -f $BINDIR/$CALIB ] ; then echo "*** Error: $BINDIR/$CALIB was not found" echo " is it correctly installed?" exit 0 fi if ! $(eval "which $CALIB | grep -e $BINDIR/$CALIB >/dev/null" ) ; then echo "*** WARNING: the calibration program $CALIB found in your path " echo " is not $BINDIR/$CALIB; \"which $CALIB\" reports:" which $CALIB echo " move or delete this other copy of $CALIB (exit) " exit 0 fi echo " see the file CALIBRATION.txt for details of its use" eval "$CALIB -s $paper --align | $BINDIR/$DRIVER $OPTS -v $printer $cfg --fd \ - - > $port" ;; esac echo " *** Do you wish to print the alignment test page ? [Y | N] (N):" read response case $response in y | Y | yes | Yes ) if ! [ -f $BINDIR/$CALIB ] ; then echo "*** Error: $BINDIR/$CALIB was not found" echo " is it correctly installed?" exit 0 fi if ! $(eval "which $CALIB | grep -e $BINDIR/$CALIB >/dev/null" ) ; then echo "*** WARNING: the calibration program $CALIB found in your path " echo " is not $BINDIR/$CALIB; \"which $CALIB\" reports:" which $CALIB echo " move or delete this other copy of $CALIB (exit) " exit 0 fi echo " see the file CALIBRATION.txt for details of its use" eval "$CALIB -s $paper --test | $BINDIR/$DRIVER $OPTS -v $printer $cfg --fd \ - - > $port" ;; esac echo " *** Do you wish to print a color-ink head-cleaning page ? [Y | N] (N):" read response case $response in y | Y | yes | Yes ) if ! [ -f $BINDIR/$CALIB ] ; then echo "*** Error: $BINDIR/$CALIB was not found" echo " is it correctly installed?" exit 0 fi if ! $(eval "which $CALIB | grep -e $BINDIR/$CALIB >/dev/null" ) ; then echo "*** WARNING: the calibration program $CALIB found in your path " echo " is not $BINDIR/$CALIB; \"which $CALIB\" reports:" which $CALIB echo " move or delete this other copy of $CALIB (exit) " exit 0 fi echo " see the file CALIBRATION.txt for details of its use" eval "$CALIB -s $paper --clean | $BINDIR/$DRIVER $OPTS -v $printer $cfg -p \ - - > $port" ;; esac echo " *** Do you wish to print a black-ink head-cleaning page ? [Y | N] (N):" read response case $response in y | Y | yes | Yes ) if ! [ -f $BINDIR/$CALIB ] ; then echo "*** Error: $BINDIR/$CALIB was not found" echo " is it correctly installed?" exit 0 fi if ! $(eval "which $CALIB | grep -e $BINDIR/$CALIB >/dev/null" ) ; then echo "*** WARNING: the calibration program $CALIB found in your path " echo " is not $BINDIR/$CALIB; \"which $CALIB\" reports:" which $CALIB echo " move or delete this other copy of $CALIB (exit) " exit 0 fi echo " see the file CALIBRATION.txt for details of its use" eval "$CALIB -s $paper --clean | $BINDIR/$DRIVER $OPTS -v $printer $cfg --bw \ - - > $port" ;; esac