Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 922

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Linux Printing Usage HOWTO: La stampa sotto Linux</TITLE>
 <LINK HREF="Printing-Usage-HOWTO-3.html" REL=next>
 <LINK HREF="Printing-Usage-HOWTO-1.html" REL=previous>
 <LINK HREF="Printing-Usage-HOWTO.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="Printing-Usage-HOWTO-3.html">Avanti</A>
<A HREF="Printing-Usage-HOWTO-1.html">Indietro</A>
<A HREF="Printing-Usage-HOWTO.html#toc2">Indice</A>
<HR>
<H2><A NAME="s2">2. La stampa sotto Linux</A></H2>

<P>Questa sezione del documento illustra come stampare file, esaminare la coda di stampa, rimuovere
file dalla coda di stampa, formattare file prima di stamparli e configurare l'ambiente di stampa.
<P>
<H2><A NAME="ss2.1">2.1 Storia della stampa sotto Linux</A>
</H2>

<P>
<!--
printing!history of
-->

Il sistema di stampa di Linux ---il sistema <EM>lp</EM>--- &egrave; un porting del codice sorgente 
scritto dai Regents of the University of California per la distribuzione di UNIX nota come BSD 
(Berkeley Software Distribution). 
<P>
<H2><A NAME="ss2.2">2.2 Stampa di un file usando <EM>lpr</EM></A>
</H2>

<P>
<!--
printing!using lpr command
-->

<!--
lpr command!usage example
-->

La via di gran lunga pi&ugrave; semplice di stampare un file sotto Linux &egrave; quella di inviare il file 
che si intende stampare direttamente alla stampante.   Uno dei modi in cui questo pu&ograve; esser 
fatto &egrave; tramite l'uso del comando <EM>cat</EM>.  Per l'utente <CODE>root</CODE> &egrave; possibile eseguire
un comando come il seguente
<P>
<BLOCKQUOTE><CODE>
<PRE>
# cat tesi.txt > /dev/lp
</PRE>
</CODE></BLOCKQUOTE>
<P>Nel caso in esame <CODE>/dev/lp</CODE> &egrave; un link simbolico all'effettivo dispositivo di stampa 
- indipendentemente dal suo essere una stampante a matrice di punti, una laser o un plotter 
(si veda <EM>ln</EM>(1) per ulteriori informazioni sui link simbolici).
<P>Per ragioni di sicurezza, solo l'utente <CODE>root</CODE> ed utenti facenti parte dello 
stesso gruppo del demone di stampa possono accedere direttamente al dispositivo di stampa.
Per accedere alle stampanti devono quindi essere usati comandi come
<EM>lpr</EM>, <EM>lprm</EM> e <EM>lpq</EM>.
<P>Per questi motivi gli utenti devono usare il comando <EM>lpr</EM> per stampare un file. 
Il comando <EM>lpr</EM> si occupa di tutti i compiti inizialmente necessari nella stampa 
di un file prima di cedere il controllo al programma <EM>lpd</EM>, il line printing daemon, 
che si occuper&agrave; di indicare alla stampante come procedere alla effettiva stampa del file.  
<P>Quando il comando <EM>lpr</EM> viene eseguito, procede a copiare il file specificato 
dall'utente in una directory speciale (directory di spool), ove il file rimarr&agrave; sino a quando 
<EM>lpd</EM> non abbia completato la sua stampa.  Non appena <EM>lpd</EM> riceve comunicazione 
dell'esistenza di un file nella coda di stampa, provvede a creare una copia di se stesso 
(tramite una procedura detta dai programmatori "di forking"). Questa copia del programma 
provveder&agrave; alla stampa del file mentre il processo originario si pone in attesa della prossima
richiesta di stampa. 
Tramite questo sistema &egrave; possibile porre pi&ugrave; file nella coda di stampa simultaneamente.
<P>La sintassi del comando <EM>lpr</EM>(1) &egrave; una di quelle molto familiari agli utenti:
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ lpr [ opzioni ] [ nomefile ... ]
</PRE>
</CODE></BLOCKQUOTE>
<P>Se <CODE>nomefile</CODE> non viene specificato <EM>lpr</EM> assume che l'imput provenga dal file
di standard input stdin (solitamente la tastiera o l'output di un altro programma). 
Questo permette agli utenti di reindirizzare l'output di un altro processo direttamente al 
programma di stampa, come nell'esempio seguente:
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ cat tesi.txt | lpr
</PRE>
</CODE></BLOCKQUOTE>
<P>oppure
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ pr -l60 tesi.txt | lpr
</PRE>
</CODE></BLOCKQUOTE>
<P>Il comando <EM>lpr</EM> accetta diversi argomenti che permettono all'utente di 
controllare il suo funzionamento.  Tra quelli pi&ugrave; spesso usati ricordiamo:
-<B>P</B>stampante indica quale stampante usare, -<B>h</B> sopprime la stampa della
burst page, -<B>s</B> crea un link simbolico nella directory di spool invece di 
procedere a copiarvi il file (particolarmente utile nel caso di file di notevoli 
dimensioni) e -<B>#</B>num specifica quante copie del file stampare.  A titolo 
di esempio:
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ lpr -#2 -sP dj tesi.txt
</PRE>
</CODE></BLOCKQUOTE>
<P>Questo comando creer&agrave; un link simbolico al file <CODE>tesi.txt</CODE> nella
directory di spool della stampante chiamata <EM>dj</EM>, dove sar&agrave; 
processato da <EM>lpd</EM>, che ne stamper&agrave; due copie.
<P>Per una lista esaustiva di tutte le opzioni del comando <EM>lpr</EM> si rinvia alla manpage
<EM>lpr</EM>(1).
<P>
<H2><A NAME="ss2.3">2.3 Analisi della coda di stampa tramite <EM>lpq</EM></A>
</H2>

<P>
<!--
printing!using lpq command
-->

<!--
lpq command!usage example
-->

Il comando <EM>lpq</EM> viene impiegato per visualizzare i contenuti della coda di stampa.
Lanciato senza argomenti <EM>lpq</EM> ritorna i contenuti della coda di stampa della stampante predefinita.
<P>L'output di <EM>lpq</EM> pu&ograve; tornare utile in molti contesti:
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ lpq
lp is ready and printing
Rank   Owner   Job  Files        Total Size
active mwf     31   tesi.txt     682048 bytes
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss2.4">2.4 Uso di <EM>lprm</EM> per cancellare un ordine di stampa</A>
</H2>

<P>
<!--
printing!using lprm command
-->

<!--
lprm command!usage example
-->

Un'altra utile funzione di un qualsiasi rispettabile sistema di stampa &egrave; quella di poter 
rimuovere file che siano stati precedentemente posti nella coda di stampa.
A questo scopo si utilizza il comando <EM>lprm</EM>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ lprm -
</PRE>
</CODE></BLOCKQUOTE>
<P>Questo comando cancella tutti gli ordini di stampa pendenti appartenenti all'utente che lo 
ha lanciato.  Un singolo file pu&ograve; essere rimosso dalla coda di stampa in due fasi: inizialmente 
sar&agrave; necessario scoprire il suo job number tramite <EM>lpq</EM> e a quel punto sar&agrave; possibile 
invocare <EM>lprm</EM> con tale parametro.  L'esempio seguente:
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ lprm 31
</PRE>
</CODE></BLOCKQUOTE>
<P>cancellerebbe il file con job number 31 (<CODE>tesi.txt</CODE>) dalla coda di stampa della stampante predefinita.
<P>
<H2><A NAME="ss2.5">2.5 Controllo del line printing daemon (lpd) tramite <EM>lpc</EM></A>
</H2>

<P>
<!--
printing!using lpc command
-->

<!--
lpc command!usage example
-->

Il comando <EM>lpc</EM>(8) serve a controllare le stampanti gestite da lpd. 
&Egrave; possibile abilitare o disabilitare l'uso di una stampante o della sua code di stampa,
modificare l'ordine con cui i file sono disposti al loro interno e ottenere un rapporto
sullo stato delle stampanti e relative code di stampa.  Lpc risulta particolarmente 
utile in configurazioni in cui una singola macchina disponga di pi&ugrave; di una stampante.
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ lpc
</PRE>
</CODE></BLOCKQUOTE>
<P>Questo comando introduce l'utente in un ambiente interattivo nel quale &egrave; possibile
inserire comandi. Un'altra possibilit&agrave; &egrave; quella di passare un comando a <EM>lpc</EM>
tramite la linea di comando:
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ lpc status all
</PRE>
</CODE></BLOCKQUOTE>
<P>Una lista completa dei comandi disponibili pu&ograve; essere ottenuta tramite la manpage di 
<EM>lpd</EM>, ma il lettore trover&agrave; di seguito una lista di quelli di maggior rilevanza.  
Ogni comando seguito dalla parola <EM>opzioni</EM> pu&ograve; ricevere sia il nome di una specifica 
stampante (ad esempio lp o print) sia la parola chiave <CODE>all</CODE>, usata per indicare il riferirsi
del comando a tutte le stampanti disponibili.
<P>
<UL>
<LI> disable <EM>opzioni</EM> -  disabilita l'inserimento di nuovi file nella coda di stampa</LI>
<LI> down <EM>opzioni</EM> - disabilita la stampante, interrompendo qualunque ordine di stampa pendente</LI>
<LI> enable <EM>opzioni</EM> - abilita l'inserimento di nuovi file nella coda di stampa </LI>
<LI> quit (o exit) - esce da lpc</LI>
<LI> restart <EM>opzioni</EM> - reinizializza il lpd per quella stampante</LI>
<LI> status <EM>opzioni</EM> - visualizza lo stato della stampante</LI>
<LI> up <EM>opzioni</EM> - abilita tutto e lancia una nuova istanza di lpd</LI>
</UL>
<P>
<H2><A NAME="ss2.6">2.6 Il printtool di RedHat</A>
</H2>

<P>
<!--
printing!using Red Hat printool
-->

<!--
Red Hat Linux!printool
-->

<!--
printool utility
-->

Una breve nota sul sorprendente programma printtool della RedHat: esso sembra possedere tutte le
capacit&agrave; di un magic filter. La distribuzione della RedHat provvede automaticamente ad installare 
molti dei programmi che eseguono il filtraggio. Seguono i passi seguiti dal sottoscritto per
configurare la propria stampante (una HP LJ 4L connessa alla porta parallela) sotto RH 4.0 (tale 
procedura dovrebbe risultare effettiva anche sotto altre versioni della distribuzione RH).
<P>
<UL>
<LI>Lanciare printtool avendo cura di essere root (se avete usato il comando <EM>su</EM>, avete ricordato di impostare SETENV DISPLAY :0.0 e lanciare xhost +, vero ?).</LI>
<LI>Fare click su "Add" e confermate con "OK" per una stampante locale.</LI>
<LI>Inserire il nome del dispositivo di stampa (/dev/lp1 per l'autore).</LI>
<LI>Inserire il filtro di input - selezionate un tipo di stampante, la sua risoluzione e
la dimensione dei fogli (tra i possibili ljet4, 300x300 e letter).</LI>
<LI>Confermare con "OK" fino a giungere alla finestra principale e quindi reinizializzare lpd.</LI>
</UL>
<P>Esattamente come se gestiste il file /etc/printcap file manualmente, &egrave; possibile mantenere pi&ugrave; 
definizioni per ciascuna stampante con differenti dimensioni della carta, risoluzioni o altro.
<P>
<HR>
<A HREF="Printing-Usage-HOWTO-3.html">Avanti</A>
<A HREF="Printing-Usage-HOWTO-1.html">Indietro</A>
<A HREF="Printing-Usage-HOWTO.html#toc2">Indice</A>
</BODY>
</HTML>