Come
stampare sotto Solaris9 con una stampante non Postscript
Nel seguito compaiono i comandi da scrivere sulla riga di
comando in caratteri normali a spaziatura costante, mentre in corsivo,
ma sempre con caratteri a spaziatura costante, sono riportati i
messaggi restituiti a video dal sistema in risposta ai comandi mandati
in esecuzione.
Si è proceduto secondo le spiegazioni per la "procedura
alternativa" date su:
http://cfauvcs5.cfa.harvard.edu/SetGSprinter4Solaris.html
Procedura utilizzata per una stampatrice HP DeskJet 500
Si è creato il file /etc/lp/fd/hpdj500.fd
(il nome è arbitrario), contenente:
Input types: postscript
Output types: PCL
Printer types: any
Printers: any
Filter type: slow
Command: /opt/csw/bin/gsc -q
-dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE -sDEVICE=djet500 -r300
-sOutputFile=- -
In questo caso si è usato il Ghostscript della
Easy Software Products, ma si può usare
quello Gnu al suo posto,
o un altro ancora, basta che renda disponibile il dispositivo "djet500", che si può
verificare con il comando gsc -h:
$ gsc -h
GPL
Ghostscript 8.15 (2004-09-22)
Copyright (C)
2004 artofcode LLC,
Benicia, CA. All rights reserved.
Usage: gs
[switches] [file1.ps
file2.ps ...]
Most
frequently used switches:
(you can use # in place of =)
-dNOPAUSE
no pause after page |
-q `quiet', fewer messages
-g<width>x<height>
page size in pixels | -r<res> pixels/inch
resolution
-sDEVICE=<devname>
select device |
-dBATCH exit after last file
-sOutputFile=<file>
select output file: - for stdout, |command for pipe,
embed %d or %ld for page #
Input
formats: PostScript
PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default
output device: display
Available
devices:
bbox bit bitcmyk
bitrgb bj10e bj200 bjc600 bjc800 bmp16 bmp16m bmp256
bmp32b bmpgray
bmpmono bmpsep1 bmpsep8 cdeskjet cdj550 cdjcolor cdjmono
cljet5 cljet5c
deskjet devicen display djet500 epswrite faxg3 faxg32d
faxg4 ijs jpeg
jpeggray laserjet lj5gray lj5mono ljet2p ljet3 ljet3d
ljet4 ljet4d
ljetplus nullpage pbm pbmraw pcx16 pcx24b pcx256 pcxcmyk
pcxgray pcxmono
pdfwrite pgm pgmraw pgnm pgnmraw pj pjxl pjxl300 pkm
pkmraw pksm pksmraw
png16 png16m png256 pngalpha pnggray pngmono pnm
pnmraw ppm ppmraw
psdcmyk psdrgb psgray psmono psrgb pswrite pxlcolor
pxlmono sparc
spotcmyk tiff12nc tiff24nc tiffcrle tiffg3 tiffg32d tiffg4
tifflzw tiffpack
uniprint x11 x11alpha x11cmyk x11gray2 x11gray4 x11mono
xcf
Search path:
. :
/opt/csw/share/ghostscript/lib :
/opt/csw/share/ghostscript/Resource : /opt/csw/share/ghostscript/fonts
For more
information, see
/opt/csw/share/ghostscript/doc/Use.htm.
Report bugs
to
bug-gs@ghostscript.com, using the form in Bug-form.htm.
.
Al file /etc/lp/fd/hpdj500.fd
si sono dati questi valori per quanto riguarda il proprietario, il
gruppo di appartenenza e i diritti di accesso (sono stati dati gli
stessi diritti e valori degli altri file già presenti nella
stessa directory):
# chown root:lp
/etc/lp/fd/hpdj500.fd
# chmod 644 /etc/lp/fd/hpdj500.fd
Fatto questo, si danno i comandi seguenti per configurare
il
gestore della coda di stampa e per abilitare e attivare la coda di
stampa appena definita:
# /usr/sbin/lpfilter -f hpdj500
-F /etc/lp/fd/hpdj500.fd
# /usr/sbin/lpadmin -p hpdj500 -v
/dev/ecpp0 -I PCL
# /usr/bin/enable hpdj500
# /usr/sbin/accept hpdj500
Il parametro "PCL"
che segue l'opzione "-I"
è lo stesso che nel file /etc/lp/fd/hpdj500.fd
compare alla voce "Output types:",
mentre il parametro "/dev/ecpp0"
corrisponde sotto Solaris9, in una Ultra10, alla porta parallela
integrata.
Il parametro "hpdj500"
che segue l'opzione "-f"
è un nome arbitrario ma univoco che viene dato alla coda di
stampa che si sta definendo e deve essere lo stesso che compare
all'opzione "-p".
Se tutto è andato bene e non si sono verificati errori
(come per l'impossibilità al processo "gsc" di accedere al dispositivo
"/dev/ecpp0", della qual
cosa si riceverà comunque un avvertimento esplicito), si
può ora stampare alla stampatrice con il comando:
$ lp -d hpdj500 nome.file
e si può interrogare lo stato della coda di stampa con il
comando:
$ lpq -P hpdj500
Per disfare i comandi elencati in alto, ossia per disattivare,
disabilitare e deconfigurare la stampatrice hpdj500 dal gestore della
coda di stampa, si danno i comandi che seguono:
# /usr/sbin/reject hpdj500
# /usr/bin/disable hpdj500
# /usr/sbin/lpadmin -x hpdj500
# /usr/sbin/lpfilter -x -f hpdj500
Una nota utile:
Di suo,
il gestore della
stampa di Solaris stampa sempre una pagina informativa prima del
documento di cui si è richiesta una copia: è il
cosiddetto "banner", o manifesto. Un esempio è il testo
che segue:
£££££
£££££
£££££
£££££
£££££
£££££
User:
tecnico@sole
£££££
£££££
Title: sosinel.ps
£££££
£££££
Printed: Wed
10:51 Apr 13, 2005
£££££
£££££ Job number:
hpdj500-1
£££££
£££££
£££££
£££££
£££££
Per impedirne la stampa, si possono fare due cose:
1) si esegue il comando:
# lpadmin -p nome_stampatrice
-o nobanner
(nell'esempio riportato in alto, nome_stampatrice è hpdj500)
Questo permetterà agli utenti di impedire la
stampa automatica del "banner" aggiungendo l'opzione "-o nobanner"
al comando "lp" sulla linea di comando;
2) si modifica il file "/etc/lp/interfaces/nome_stampatrice" (creato dal
comando "lpadmin" in fase della configurazione della coda di
stampa). C'è una linea che figura cosí:
nobanner="no"
la si cambia in...
nobanner="yes"
Si riavvia il demone di stampa ed
è fatto:
# /etc/init.d/lp stop
# /etc/init.d/lp start
Prima redazione: 02
febbraio 2005.
Ultimo
ritocco: 16 dicembre 2005.