[successivo] [precedente] [inizio] [fine] [indice generale] [hall of fame] [indice analitico] [parte]
6.1.1)
Com'è strutturato il file /etc/printcap
?
Il file in oggetto viene letto dal demone lpd e contiene le informazioni relative ai dispositivi di stampa. Risulta essere suddiviso in varie sezioni che possono definire stampanti diverse o proprietà diverse della stessa stampante.
Ogni sezione è composta da più righe ognuna delle quali inizia con : e termina con :\ tranne la prima che non ha i : iniziali e l'ultima che termina solo con :.
Se non sono presenti linee di commento (#), la prima riga definisce il nome della stampante cui si farà riferimento. Più nomi per lo stesso dispositivo, sono separati dal carattere |:
lp|hpgettoinc:\
In questo caso si usano due nomi per indicare la stessa stampante. Poi viene indicata la directory della coda di stampa:
:sd=/var/spool/lpd/lp:\
Viene poi indicato il limite della dimensione del file che vogliamo stampare e viene lasciato generalmente a 0:
: mx#0:\
Il comando sh evita la stampa della pagina di separazione tra 2 processi di stampa:
:sh:\
Viene indicato poi il dispositivo da utilizzare per stampare (/dev/lp0
in questo caso):
:lp=/dev/lp0:\
Infine si trova la dichiarazione di un filtro (if sta per input filter) cioè di un comando utilizzato per invocare quel programma che è in grado di gestire la stampa di formati particolari (es.: ps, JPG, ecc.):
:if=/var/spool/lpd/lp/filter:
Questo in genere conclude una sezione del file.
6.1.2)
Perché non vengono trovati i dispositivi /dev/lp?
?
Qualora vengano visualizzati messaggi reclamanti la mancanza dei dispositivi /dev/lpx
(1) durante l'installazione di una distribuzione oppure all'atto della stampa si dovrà verificare la presenza delle righe:
alias parport_lowlevel parport_pc options parport_pc io=0x378,0x278 irq=7,auto
all'interno del file /etc/conf.modules
.
6.1.3) Come si configura la stampante in una distribuzione GNU/Linux Red Hat?
Nella distribuzione Red Hat può capitare che vengano omesse delle componenti fondamentali per stampare. Occorre infatti verificare le impostazioni.
In particolare, si dovranno caricare i giusti moduli per la porta parallela. Nel file /etc/conf.modules
dovranno essere presenti le seguenti righe:
alias parport_lowlovel parport_pc options parport_pc io=0x3bc,0x378,0x278 irq=none,7,auto
Occorrerà poi caricare i moduli appositi mediante i seguenti comandi:
#
insmod parport
[Invio]
#
insmod parport_pc
[Invio]
#
insmod parport_probe
[Invio]
#
insmod lp parport=0,2
[Invio]
Occorrerà lanciare poi il demone lpd o mediante il comando:
#
lpd
[Invio]
oppure mediante:
#
killall -HUP lpd
[Invio]
6.1.4) Come si visualizza la coda di stampa?
Per visualizzare la coda di stampa si deve utilizzare il comando lpq:
#
lpq -l
[Invio]
6.1.5) Come si eliminano i processi di stampa in coda?
Dopo aver visualizzato con lpq la coda di stampa, si potranno eliminare i processi desiderati mediante il comando lprm.
Se ad esempio si desiderasse interrompere e rimuovere dalla coda di stampa il processo 12, occorrerà impartire il comando:
#
lprm 12
[Invio]
6.1.6) Come si elimina tutta la coda di stampa?
Per eliminare per intero la coda di stampa si dovrà utilizzare il comando lprm nel seguente modo:
#
lprm -
[Invio]
6.1.7) Come si evita l'effetto scalettato nella stampa di testi?
In un testo creato con un sistema UNIX alla fine della riga c'è solo l'avanzamento alla riga successiva e non il ritorno carrello. Le stampanti nella maggior parte di casi si aspettano il codice di ritorno carrello. Per ovviare si può creare un filtro in Perl:
#!perl while (<STDIN>) {chop $_; print "$_\r\n";};
e farlo invocare da lpr. Il file /etc/printcap
andrà modificato inserendo una nuova sezione per la stessa stampante da invocare nel caso di stampa di file di testo.
Occorrerà inoltre ricordarsi di assegnare i permessi di esecuzione allo script sopra descritto.
6.1.8) Come si evita la stampa dei separatori con il nome dell'utente?
Si dovrà inserire nel file /etc/printcap
la riga:
:sh:\
nell'ambito della sezione che definisce la stampante. Questa opzione elimina il separatore di pagina che serve nell'ambito di grosse reti, per capire chi è l'autore della stampa.
6.2.1) Come si stampa un file da riga di comando?
Per stampare un file si deve utilizzare il comando lpr:
$
lpr file
[Invio]
Questo comando stampa il file file o meglio lo mette nella coda di stampa ed il demone lpd si occuperà di stamparlo.
6.2.2) Come si stampa il contenuto della directory corrente?
Il seguente comando permetterà la stampa di tutti i file presenti nella directory corrente:
$
ls -la |lpr
[Invio]
6.2.3) Come si stampa un file PostScript da riga di comando?
Per stampare un file PostScript da riga di comando si utilizzerà il seguente comando:
$
gs -dNOPAUSE -sDEVICE= tipo -sOutputFile=|lpr file.ps
[Invio](2)
1) dove x assume valori quali 0,1,2,3,ecc.
2) dove tipo assumerà valori quali deskjet, laserjet, ecc.
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome stampa.html
[successivo] [precedente] [inizio] [fine] [indice generale] [hall of fame] [indice analitico]