<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/it/printing-howto.xml,v 1.28 2012/11/05 18:05:13 ago Exp $ -->

<guide lang="it">
<title>Guida alla Stampa in Gentoo</title>

<author title="Autore">
  <mail link="swift"/>
</author>
<author title="Redazione">
  <mail link="nightmorph"/>
</author>
<author title="Traduzione">
  <mail link="lucamarturana@gmail.com">Luca Marturana</mail>
</author>
<author title="Traduzione">
  <mail link="scen"/>
</author>

<abstract>
Questo documento tratta l'installazione e la gestione delle stampanti usando
CUPS e Samba. Viene trattata l'installazione locale e di rete oltre all'utilizzo
di stampanti condivise da altri sistemi operativi.
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>

<version>6</version>
<date>2012-07-24</date>

<chapter>
<title>Stampa e Gentoo Linux</title>
<section>
<title>Usare gli Strumenti Corretti</title>
<body>

<p>
Linux ha un eccellente supporto per le stampanti; lo strumento giusto da usare
è CUPS (<uri link="http://www.cups.org">Common Unix Printing System</uri>).
Dall'inizio del progetto, nel 1999, l'installazione e la gestione di CUPS è
migliorata notevolmente.
</p>

<p>
In questo documento verrà spiegato come utilizzare CUPS per configurare una
stampante locale o di rete, senza entrare nei dettagli dato che il progetto
dispone <uri link="http://www.cups.org/documentation.php">di ottima
documentazione</uri> per l'uso avanzato.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Configurazione del Kernel</title>
<section>
<title>Introduzione</title>
<body>

<p>
Per installare una stampante sul proprio sistema è necessario sapere in che modo
essa sarà collegata al sistema. Potrebbe essere collegata tramite una porta
locale come la LPT o la USB, oppure via rete. Se è collegata via rete potrebbe
usare il protocollo di stampa IPP (Internet Printing Protocol) oppure il
protocollo Microsoft Windows SMB-CIFS (Condivisione di Microsoft Windows).
</p>

<p>
Le prossime sezioni spiegano qual'è la minima configurazione del kernel
necessaria. Certamente questa dipende dal modo in cui la stampante verrà
collegata al sistema, quindi per chiarezza le istruzioni sono state separate:
</p>

<ul>
  <li><uri link="#lpt">Stampante Locale (LPT)</uri></li>
  <li><uri link="#usb">Stampante Locale (USB)</uri></li>
  <li><uri link="#ipp">Stampante Remota (IPP)</uri></li>
  <li><uri link="#smb-cifs">Stampante Remota (SMB-CIFS)</uri></li>
</ul>

<p>
Spostarsi in <path>/usr/src/linux</path> ed eseguire <c>make menuconfig</c> per
accedere alla configurazione del kernel. Anche se si è utilizzato
<c>genkernel</c> per configurare il kernel, seguire comunque questi passi per
assicurarsi che non manchi nulla.
</p>

<p>
Nei prossimi esempi di configurazione, verrà aggiunto il supporto necessario
<e>nel</e> kernel, non come moduli. Questo non è obbligatorio, in quanto si
potrà utilizzare un supporto modulare senza problemi, nel qual caso ricordarsi
successivamente di caricare i moduli necessari.
</p>

<p>
Per modificare (o controllare) la configurazione del kernel andare nella sezione
appropriata
</p>

</body>
</section>
<section id="lpt">
<title>Stampante Locale (LPT)</title>
<body>

<p>
La porta LPT è generalmente usata per identificare la porta parallela per la
stampante. Bisogna prima abilitare il supporto per la porta parallela, poi
quello per la porta parallela in stile PC (a meno che il proprio sistema non sia
SPARC) dopodiché abilitare il supporto alla stampante su porta parallela.
</p>

<pre caption="Configurazione della stampante su porta parallela">
Device Drivers --&gt;
  &lt;*&gt; Parallel port support
  &lt;*&gt;   PC-style hardware

Device Drivers --&gt;
  Character Devices --&gt;
    &lt;*&gt; Parallel printer support
       [*]      IEEE 1284 transfer modes)
</pre>

<note>
In alcuni casi è necessario abilitare altre opzioni nella sezione <c>Parallel
port support</c>. Utilizzare la funzione <c>Help</c> nella configurazione del
kernel per maggiori informazioni.
</note>

<p>
Infine uscire dalla configurazione del kernel e ricompilarlo. Al termine non va
dimenticato di copiare la nuova immagine del kernel in <path>/boot</path> (prima
montare <path>/boot</path> se necessario) e aggiornare la configurazione del
bootloader prima di riavviare il sistema.
</p>

<p>
Proseguire ora con <uri link="#cups">Installazione e Configurazione di
CUPS</uri>.
</p>

</body>
</section>
<section id="usb">
<title>Stampante Locale (USB)</title>
<body>

<p>
Per abilitare la stampa via USB, è necessario solamente attivare il supporto USB
nel proprio kernel.
</p>

<pre caption="Configurazione della stampante su porta USB">
Device Drivers --&gt;
  USB Support --&gt;
    &lt;*&gt; Support for Host-side USB
    <comment>(...)</comment>
    --- USB Host Controller Drivers
    <comment>(Selezionare l'HCD utilizzato dal proprio sistema. Se
    non si sa quale selezionare, eseguire "lspci -v | grep HCI" da un
    altro terminale)</comment>
    &lt;*&gt; EHCI HCD (USB 2.0) support <comment>( oppure )</comment>
    &lt;*&gt; OHCI HCD support           <comment>( oppure )</comment>
    &lt;*&gt; UHCI HCD (most Intel and VIA) support
</pre>

<p>
Infine uscire dalla configurazione del kernel e ricompilarlo. Al termine non va
dimenticato di copiare la nuova immagine del kernel in <path>/boot</path> (prima
montare <path>/boot</path> se necessario) e aggiornare la configurazione del
bootloader prima di riavviare il sistema.
</p>

<p>
Proseguire ora con <uri link="#cups">Installazione e Configurazione di
CUPS</uri>.
</p>

</body>
</section>
<section id="ipp">
<title>Stampante Remota (IPP)</title>
<body>

<p>
Per potersi collegare ad una stampante remota tramite il protocollo Internet
Printing Protocol è sufficiente che il kernel abbia il supporto alla rete.
Assumendo che il proprio kernel abbia già il supporto alla rete, proseguire
con <uri link="#cups">Installazione e Configurazione di CUPS</uri>
</p>

</body>
</section>
<section id="smb-cifs">
<title>Stampante Remota (SMB-CIFS)</title>
<body>

<p>
Il kernel deve supportare SMB CIFS:
</p>

<pre caption="Configurazione della stampante SMB-CIFS">
File systems --&gt;
  Network File Systems --&gt;
    &lt;*&gt; SMB file system support (to mount Windows shares etc.)
    &lt;*&gt; CIFS support (advanced network file system for Samba, Windows and other CIFS compliant servers)
</pre>

<p>
Dopo aver abilitato queste opzioni, uscire dalla configurazione del kernel e
ricompilarlo. Al termine non va dimenticato di copiare la nuova immagine del
kernel in <path>/boot</path> (prima montare <path>/boot</path> se necessario) e
aggiornare la configurazione del bootloader prima di riavviare il sistema.
</p>

<p>
Proseguire ora con <uri link="#cups">Installazione e Configurazione di
CUPS</uri>.
</p>
</body>
</section>
</chapter>

<chapter id="cups">
<title>Installazione e Configurazione di CUPS</title>
<section>
<title>Installazione</title>
<body>

<p>
Installare CUPS con Gentoo è semplice. CUPS ha alcune caratteristiche
opzionali che possono interessare: per abilitarle o disabilitarle, utilizzare
le relative USE flag.
</p>

<table>
<tr>
  <th>USE flag</th>
  <th>Effetto su CUPS</th>
</tr>
<tr>
  <ti>dbus</ti>
  <ti>Aggiunge il supporto al "bus message system" <c>dbus</c></ti>
</tr>
<tr>
  <ti>jpeg</ti>
  <ti>Aggiunge il supporto per la stampa delle immagini JPEG.</ti>
</tr>
<tr>
  <ti>nls</ti>
  <ti>
     Abilita il supporto al linguaggio nativo (ndt: Native Language Support).
     Con nls CUPS è in grado di fornire un'interfaccia localizzata in modo da
     poterlo utilizzare nella propria lingua.
  </ti>
</tr>
<tr>
  <ti>pam</ti>
  <ti>
    Se si ha bisogno di autenticare i lavori di stampa attraverso i Pluggable
    Authentication Modules, questo attiva il supporto a PAM in CUPS.
  </ti>
</tr>
<tr>
  <ti>php</ti>
  <ti>Aggiunge il supporto allo scripting php.</ti>
</tr>
<tr>
  <ti>png</ti>
  <ti>Aggiunge il supporto per la stampa delle immagini PNG.</ti>
</tr>
<tr>
  <ti>ppds</ti>
  <ti>
  Aggiunge il supporto per la generazione automatica dei file ppd (printing
  driver). Vedere <uri link="#installing_best">Installare il driver
  migliore</uri>.
  </ti>
</tr>
<tr>
  <ti>samba</ti>
  <ti>
    Se si vogliono poter condividere le stampanti locali con sistemi Windows
    presenti in rete utilizzando il protocollo SMB-CIFS, o se si vogliono
    utilizzare stampanti condivise da sistemi Windows, si ha bisogno del
    supporto per SAMBA.
  </ti>
</tr>
<tr>
  <ti>slp</ti>
  <ti>
    In un ambiente gestito la stampante potrebbe essere resa disponibile ad
    altri come servizio. Con il Service Locator Protocol (ndt: Protocollo per
    l'individuazione del servizio) è molto facile trovare e configurare un
    servizio sul proprio sistema. Abilitare questa USE flag se la propria
    stampante è disponibile come servizio o potrebbe essere resa disponibile
    come tale.
  </ti>
</tr>
<tr>
  <ti>ssl</ti>
  <ti>
    Se si vogliono autenticazione remota e/o privacy, è necessario il supporto
    a Secure Socket Layer, il quale permette sessioni di stampa criptate.
    Il supporto per SSL deve essere disponibile su tutti i sistemi coinvolti
    presenti in rete.
  </ti>
</tr>
<tr>
  <ti>tiff</ti>
  <ti>Aggiunge il supporto per la stampa delle immagini TIFF.</ti>
</tr>
<tr>
  <ti>X</ti>
  <ti>
    Permette l'utilizzo del proprio menù desktop per caricare la pagina web per
    la configurazione di CUPS nel proprio browser predefinito.
  </ti>
</tr>
</table>

<p>
Controllare le impostazioni USE correnti. Per modificare le impostazioni USE
correnti soltanto per CUPS, aggiungere le appropriate USE flag a
<path>/etc/portage/package.use</path>.
</p>

<pre caption="Impostazione delle USE flag per CUPS">
# <i>emerge -pv cups</i>
[ebuild N     ] net-print/cups-1.2.6  "X dbus jpeg nls pam png ppds ssl -php -samba -slp -tiff" 0 kB

<comment>(Ad esempio, per abilitare il supporto a SAMBA in CUPS)</comment>
# <i>nano -w /etc/portage/package.use</i>
net-print/cups samba
</pre>

<p>
Se le impostazioni soddisfano i propri requisiti, installare CUPS attraverso
Portage.
</p>

<pre caption="Installazione di CUPS">
# <i>emerge cups</i>
</pre>

<impo>
Qualunque utente che ha necessità di stampare deve essere aggiungo al gruppo
<c>lp</c>. Aggiungerli eseguendo (come utente root) <c>gpasswd -a nomeutente
lp</c>.
</impo>

<p>
Se la stampante è collegata al sistema localmente è necessario caricare CUPS
automaticamente all'avvio. Assicurarsi che la propria stampante sia collegata ed
accesa prima di avviare CUPS.
</p>

<pre caption="Avvio automatico di CUPS">
# <i>/etc/init.d/cupsd start</i>
# <i>rc-update add cupsd default</i>
</pre>

</body>
</section>
<section>
<title>Configurazione</title>
<body>

<p>
La configurazione predefinita per il server CUPS in
<path>/etc/cups/cupsd.conf</path> è sufficiente per la maggior parte degli
utenti. Tuttavia più di qualcuno potrebbe avere la necessità di apportare
modifiche alla configurazione di CUPS.
</p>

<p>
Nelle prossime sezioni saranno trattate alcune modifiche che sono spesso
necessarie:
</p>

<ul>
  <li>
    In <uri link="#remote_usage">Accesso da remoto alla stampante locale</uri>
    si permette ad altri sistemi di utilizzare la stampante collegata al proprio
    sistema Linux.
  </li>
  <li>
    In <uri link="#remote_admin">Amministrazione remota di CUPS</uri> si
    autorizza l'amministrazione di CUPS da sistemi remoti.
  </li>
  <li>
    In <uri link="#windows_pcl">Abilitare il supporto ai driver Windows
    PCL</uri> è possibile configurare CUPS per il supporto ai driver PCL di
    Windows. Questo è consigliabile se si desidera che i sistemi Windows siano
    in grado di utilizzare una stampante condivisa via SAMBA, visto che molti
    driver per Windows sono driver PCL.
  </li>
  <li>
    In <uri link="#setup_remote">Configurare una stampante remota</uri> è
    possibile configurare il sistema di modo che sia in grado di utilizzare una
    stampante collegata ad un altro sistema (che non sia una condivisione
    Windows).
  </li>
</ul>

</body>
</section>
<section id="remote_usage">
<title>Accesso da remoto alla stampante locale</title>
<body>

<p>
Se si vuole che altri sistemi usino la propria stampante tramite IPP è
necessario autorizzare l'accesso alla stampante in
<path>/etc/cups/cupsd.conf</path>.  Se si vuole condividere la propria
stampante tramite SAMBA, questa modifica non è necessaria.
</p>

<p>
Aprire <path>/etc/cups/cupsd.conf</path> in un editor di testo e aggiungere
una riga <c>Allow</c> per i sistemi che devono essere in grado di
accedere alla propria stampante. Nel prossimo esempio permetteremo l'accesso
alla stampante da localhost e da parte di tutti i sistemi il cui indirizzo IP
inizia per <c>192.168.0</c>.
</p>

<pre caption="Permettere l'accesso da remoto alla stampante">
&lt;Location /&gt;
Order allow,deny
<i>Allow localhost</i>
<i>Allow from 192.168.0.*</i>
&lt;/Location&gt;

<comment>(Questa opzione fa sì che venga inviata tramite broadcast
l'informazione di browsing ai client della rete, in modo da far loro
sapere che la stampante è disponibile)</comment>
BrowseAddress 192.168.0.*:631
</pre>

<p>
Inoltre si deve specificare su quale porta CUPS dovrà mettersi in ascolto, così
da poter rispondere alle richieste di stampa da parte di altre macchine nella
propria rete.
</p>

<pre caption="Configurazione della porta in /etc/cups/cupsd.conf">
Listen *:631
<comment>(Assicurarsi che la voce relativa a localhost sia commentata)</comment>
#Listen localhost:631
</pre>

<note>
Se si sta ancora utilizzando CUPS 1.1 (che ora è deprecato), è necessario usare
una sintassi diversa per le richieste remote di stampa:
</note>

<pre caption="Configurazione deprecata di CUPS 1.1">
Port 631
<comment>(Assicurarsi che le seguenti due linee siano commentate)</comment>
#Listen 127.0.0.1:631
#Listen localhost:631
</pre>

</body>
</section>
<section id="remote_admin">
<title>Amministrazione Remota di CUPS</title>
<body>

<p>
Se si è interessati all'amministrazione remota, si deve autorizzare l'accesso
da parte di altri sistemi all'amministrazione di CUPS.  Modificare
<path>/etc/cups/cupsd.conf</path> e permettere esplicitamente l'accesso ai
sistemi desiderati. Ad esempio, per autorizzare l'accesso al sistema con
indirizzo IP 192.168.0.3:
</p>

<pre caption="Autorizzare l'accesso remoto in /etc/cups/cupsd.conf">
&lt;Location /admin&gt;
<comment>(...)</comment>
Encryption Required
Order allow,deny
<i>Allow localhost</i>
<i>Allow 192.168.0.3</i>
&lt;/Location&gt;
</pre>

<p>
Non dimenticarsi di riavviare CUPS dopo aver modificato il file
<path>/etc/cups/cupsd.conf</path> eseguendo <c>/etc/init.d/cupsd restart</c>.
</p>

</body>
</section>
<section id="windows_pcl">
<title>Abilitare il Supporto ai Driver PCL per Windows</title>
<body>

<p>
I driver PCL inviano dati grezzi (raw) al server di stampa. Per abilitare la
stampa raw è necessario modificare i file <path>/etc/cups/mime.types</path>
e <path>/etc/cups/mime.convs</path>, decommentando (se non lo è già) la voce
<c>application/octet-stream</c>.
</p>

<pre caption="Abilitare il supporto alla stampa raw">
# <i>vim /etc/cups/mime.types</i>
<comment>(Decommentare la linea in modo che il file contenga:)</comment>
application/octet-stream

# <i>vim /etc/cups/mime.convs</i>
<comment>(Decommentare la linea in modo che il file contenga:)</comment>
application/octet-stream     application/vnd.cups-raw    0    -
</pre>

<p>
Non dimenticarsi di riavviare il server CUPS dopo aver eseguito queste
modifiche eseguendo <c>/etc/init.d/cupsd restart</c>.
</p>

</body>
</section>
<section id="setup_remote">
<title>Configurare una stampante remota</title>
<body>

<p>
Se le stampanti sono collegate ad un server CUPS remoto si può facilmente
configurare il proprio sistema per utilizzare la stampante remota modificando
il file <path>/etc/cups/client.conf</path>.
</p>

<p>
Assumendo che la stampante sia collegata ad un server chiamato
<c>printserver.mydomain</c>, aprire <path>/etc/cups/client.conf</path> con il
proprio editor preferito ed impostare la direttiva <c>ServerName</c>:
</p>

<pre caption="Modifica di client.conf">
# <i>vim /etc/cups/client.conf</i>

<comment>(Sostituire printserver.mydomain con il nome del proprio server di stampa)</comment>
ServerName <i>printserver.mydomain</i>
</pre>

<p>
Verrà utilizzata la stampante che sul server remoto risulta impostata come
predefinita. Per cambiare la stampante predefinita, utilizzare <c>lpoptions</c>:
</p>

<pre caption="Cambiare la stampante predefinita">
<comment>(Elencare le stampanti disponibili)</comment>
# <i>lpstat -a</i>
hpljet5p accepting requests since Jan 01 00:00
hpdjet510 accepting requests since Jan 01 00:00

<comment>(Impostare la HP LaserJet 5P come stampante predefinita)</comment>
# <i>lpoptions -d hpljet5p</i>
</pre>

</body>
</section>
</chapter>

<chapter id="configure_printer">
<title>Configurare una Stampante</title>
<section>
<title>Introduzione</title>
<body>

<p>
Se la stampante che si vuole configurare è disponibile attraverso un server
remoto (che utilizza CUPS) non c'è bisogno di seguire queste istruzioni.
Leggere invece <uri link="#setup_remote">Configurare una stampante
remota</uri>.
</p>

</body>
</section>
<section>
<title>Rilevare la Stampante</title>
<body>

<p>
Se si possiede una stampante USB o la stampante su porta parallela era accesa
durante l'avvio del sistema, probabilmente dal kernel si otterranno informazioni
(comunque non indispensabili) indicanti la corretta rilevazione della stampante.
</p>

<pre caption="Recuperare informazioni dal kernel">
<comment>(Per una stampante su porta parallela)</comment>
$ <i>dmesg | grep -i print</i>
parport0: Printer, Hewlett-Packard HP LaserJet 2100 Series

<comment>(Per una stampante USB)</comment>
$ <i>lsusb</i>
<comment>(...)</comment>
Bus 001 Device 007: ID 03f0:1004 Hewlett-Packard DeskJet 970c/970cse
</pre>

</body>
</section>
<section>
<title>Installare la Stampante</title>
<body>

<p>
Per installare la stampante sul proprio sistema, avviare il proprio browser e
puntare a <uri link="http://localhost:631">http://localhost:631</uri>.
Così facendo si accederà all'interfaccia web di CUPS dalla quale si possono
svolgere tutte le attività amministrative.
</p>

<note>
Se si usa una connessione HTTPS a CUPS, la prima volta che si accede
all'interfaccia web <e>potrebbe</e> volerci molto tempo prima che la pagina
venga visualizzata. Questo succede perchè la prima richiesta innesca la
generazione dei certificati SSL di CUPS, operazione che richiede solitamente
molto tempo.
</note>

<p>
Andare su <e>Administration</e> ed inserire la propria password di root nel
riquadro. Quindi, dopo aver raggiunto l'interfaccia di amministrazione, cliccare
su <e>Add Print</e>. Si entrerà in una nuova schermata che permetterà
l'inserimento delle seguenti informazioni:
</p>

<ul>
  <li>
    Lo <e>spooler name</e>, ovvero un nome breve ma descrittivo usato dal
    sistema per identificare la stampante. Esso non deve contenere spazi o altri
    caratteri speciali. Per esempio, la stampante HP LaserJet 5P potrebbe
    diventare <c>hpljet5p</c>.
  </li>
  <li>
    La <e>location</e>, ovvero il luogo dove la stampante è fisicamente
    collocata (per esempio nella propria stanza, o nella cucina vicino alla
    lavastoviglie). Ciò può essere utile per poter gestire molte stampanti
    contemporaneamente.
  </li>
  <li>
    Infine la <e>description</e>, dove si può indicare una completa
    descrizione della stampante. Per esempio il nome completo "HP LaserJet 5P".
  </li>
</ul>

<p>
La schermata successiva chiede il dispositivo dove la stampante è in ascolto.
C'è una vasta gamma di scelta. La tabella successiva copre alcuni casi
possibili, ma la lista non è del tutto esaustiva.
</p>

<table>
<tr>
  <th>Dispositivo</th>
  <th>Descrizione</th>
</tr>
<tr>
  <ti>AppSocket/HP JetDirect</ti>
  <ti>
    Questo dispositivo speciale permette alle stampanti di rete di essere
    accessibili tramite il socket HP JetDirect. Solo alcune stampanti
    specifiche lo supportano.
  </ti>
</tr>
<tr>
  <ti>Internet Printing Protocol (IPP or HTTP)</ti>
  <ti>
    Usare questo per poter utilizzare stampanti remote attraverso il protocollo
    IPP, sia direttamente (IPP) o attraverso l'HTTP.
  </ti>
</tr>
<tr>
  <ti>LPD/LPR Host or Printer</ti>
  <ti>
    Selezionare questo se la stampante remota è attaccata d un server LPD/LPR.
  </ti>
</tr>
<tr>
  <ti>Parallel Port #1</ti>
  <ti>
    Selezionare questo se la stampante è attaccata localmente alla porta
    parallela (LPT). Quando la stampante viene automaticamente riconosciuta il
    suo nome viene accodato a quello del dispositivo.
  </ti>
</tr>
<tr>
  <ti>USB Printer #1</ti>
  <ti>
    Infine, selezionare questo se la stampante è attaccata in locale in una
    porta USB. Il nome della stampante dovrebbe essere automaticamente accodato
    a quello del dispositivo.
  </ti>
</tr>
</table>

<p>
Se si sta installando una stampante remota, verrà chiesto l'indirizzo URI
(Uniform Resource Identifier, ovvero una stringa che identifica univocamente una
risorsa generica) della stampante:
</p>

<ul>
  <li>
    Un server LPD richiede un sintassi del tipo: <c>lpd://hostname/queue</c>
  </li>
  <li>
    Una stampante HP JetDirect richiede: <c>socket://hostname</c>
  </li>
  <li>
    Una stampante IPP invece richiede una sintassi del tipo:
    <c>ipp://hostname/printers/printername</c> o
    <c>http://hostname:631/printers/printername</c>.
    <!-- Se per qualche motivo un utente vuole usare la sintassi interna di HP,
    egli deve usare ipp://hostname/ipp/<name>, la quale fino ad adesso era stata
    menzionata qui. Tuttavia, questo documento descrive l'utilizzo della
    sintassi ipp di CUPS, quindi questa è stata tolta in favore della sintassi
    corretta, ovvero il primo esempio -->
  </li>
</ul>

<p>
Quindi, selezionare il produttore della stampante nella schermata contigua
mentre nella consecutiva a questa il nome e il numero del modello. Per molte
stampanti si possono trovare diversi driver. Si può subito decidere di
selezionarne uno o cercare sulla <uri
link="http://www.linuxprinting.org/printer_list.cgi">lista di
LinuxPrinting.org</uri> per un driver migliore. È comunque possibile cambiare
il driver utilizzato in seguito.
</p>

<p>
Dopo aver selezionato il driver, CUPS informerà che la stampante è stata
correttamente aggiunta al sistema. A questo punto si può entrare nella pagina di
amministrazione delle stampanti e selezionare <c>Configure Printer</c> per
cambiare le impostazioni (risoluzione, formato pagina, etc).
</p>

</body>
</section>
<section>
<title>Testare e riconfigurare una stampante</title>
<body>

<p>
Per verificare se la stampante funziona correttamente, è sufficiente andare
nella pagina di amministrazione delle stampanti, selezionare la stampante e
cliccare su <c>Print Test Page</c>.
</p>

<p>
Se la stampante non funziona correttamente, cliccare su <c>Modify Printer</c>
per riconfigurarla. Si tratta delle stesse schermate usate durante la prima
installazione ma le impostazioni predefinite stavolta corrisponderanno alla
configurazione attuale.
</p>

<p>
Se non si riesce a capire il motivo per cui la stampante non vuole funzionare,
può essere molto utile dare un'occhiata al log in
<path>/var/log/cups/error_log</path>. Nell'esempio seguente scopriremo un
errore di permessi, probabilmente dovuto ad una errata configurazione di
<c>Allow</c> in <path>/etc/cups/cupsd.conf</path>.
</p>

<pre caption="Cercare errori di CUPS">
# <i>tail /var/log/cups/error_log</i>
<comment>(...)</comment>
E [11/Jun/2005:10:23:28 +0200] [Job 102] Unable to get printer status (client-error-forbidden)!
</pre>

</body>
</section>
<section id="installing_best">
<title>Installare il driver migliore</title>
<body>

<p>
Esistono molti driver per le stampanti; per scoprire quello che fornisce le
prestazioni migliori, basta dare un'occhiata alla lista di <uri
link="http://www.linuxprinting.org/printer_list.cgi">LinuxPrinting.org</uri> .
Selezionare la propria marca e il tipo per individuare il driver consigliato dal
sito. Per esempio, per la HP LaserJet 5P, il sito raccomanda il driver
<c>ljet4</c>.
</p>

<p>
Scaricare il file PPD dal sito e posizionarlo in
<path>/usr/share/cups/model</path>, quindi eseguire <c>/etc/init.d/cupsd
restart</c> come root. Ciò renderà il driver visibile dall'interfaccia web di
CUPS. Quindi si può riconfigurare la stampante come descritto sopra.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Usare driver per le stampanti particolari</title>
<section>
<title>Introduzione</title>
<body>

<p>
Alcune stampanti richiedono driver specifici o forniscono caratteristiche che
non vengono attivate tramite il processo di configurazione descritto sopra.
Questo capitolo riguarderà la configurazione su Gentoo Linux delle suddette
stampanti "particolari".
</p>

<p>
Saranno trattate le seguenti stampanti e/o driver:
</p>

<ul>
  <li><uri link="#gutenprint">Driver Gutenprint</uri></li>
  <li>
    <uri link="#hplip">Driver HPLIP</uri>
  </li>
  <li><uri link="#pnm2ppa">Driver PNM2PPA</uri></li>
</ul>

</body>
</section>
<section id="gutenprint">
<title>Driver Gutenprint</title>
<body>

<p>
I driver <uri link="http://gutenprint.sourceforge.net">gutenprint</uri> sono
driver opensource di alta qualità per varie stampanti Canon, Epson, HP, Lexmark,
Sony, Olympus e PCL i quali supportano CUPS, ghostscript, The Gimp e altre
applicazioni.
</p>

<p>
Il portage tree di Gentoo contiene un ebuild per i driver gutenprint. Basta
semplicemente usare <c>emerge</c> per installarli. Notare che l'ebuild richiede
divrse flag USE (come <c>cups</c> e <c>ppds</c>). Queste due devono essere
attivate per permettere ai driver di funzionare.
</p>

<pre caption="Installare i driver gutenprint">
# <i>emerge gutenprint</i>
</pre>

<p>
Al termine del processo di installazione, i driver gutenprint si potranno
utilizzare dall'interfaccia web di CUPS.
</p>

</body>
</section>
<section id="hplip">
<title>Driver HPLIP</title>
<body>

<p>
Il <uri link="http://hplipopensource.com/hplip-web/index.html">Progetto
HPLIP</uri> usa il driver di stampa hpcups. Include anche il supporto scanner e
fax e strumenti di servizio per diverse periferiche multifunzione. Per il
supporto alla stampa si raccomanda l'uso del nuovo driver hpcups, che può essere
abilitato tramite la flag USE <c>hpcups</c>. Il vecchio driver hpijs è ancora
incluso e disponibile quando si compila <c>net-print/hplip</c> con la flag USE
<c>hpijs</c>.
</p>

<p>
L'installazione predefinita abilita la generazione dinamica dei file ppd in
fase di esecuzione. Alcune vecchie stampanti potrebbero richiedere ancora i
file pdd statici. Se si riscontrano problemi nell'utilizzo di <c>hp-setup</c>
provare ad abilitare la flag USE <c>static-ppds</c> e ricompilare <c>net-print/hplip</c>.
</p>

<p>
Per le stampanti USB <c>net-print/cups</c> deve essere compilato con la USE
flag <c>usb</c>. In questo modo utilizza lo strumento lato utente (user space
tool, ndt) <c>dev-libs/libusb</c> che sostituisce il supporto alle stampanti
usb del kernel (CONFIG_USB_PRINTER). In caso di problemi si può disabilitare 
la USE flag <c>usb</c> per <c>net-print/cups</c> e attivare nuovamente il supporto
nel kernel. Tutti gli utenti che devono accedere alla stampante devono essere
membri del gruppo <c>lp</c>.
</p>

<p>
Per essere in grado di installare una stampante di rete <c>net-print/cups</c>
deve essere compilato con la USE <c>slp</c>. Con le versioni recenti di
<c>net-print/hplip</c> il metodo predefinito di ricerca delle stampanti di rete 
è mDN, il quale richiede che <c>net-print/cups</c> sia compilato con la USE
<c>zeroconf</c>. (Nota: questo metodo non funziona con la versione 
<c>net-print/cups-1.4</c>). Per essere in grado di stampare con una stampante 
di rete <c>net-print/hplip</c> deve essere compilato con la USE <c>snmp</c>.
</p>

<pre caption="Installare i driver HPLIP">
# <i>emerge -vp hplip</i>
These are the packages that would be merged, in order:

Calculating dependencies ... done!
[ebuild N ] net-print/hplip-3.10.9 USE="X hpcups hpijs libnotify qt4 udev-acl
-doc -fax -kde -minimal -parport -policykit -scanner -snmp -static-ppds" 21,307 kB

Total: 1 package (1 new), Size of downloads: 21,307 kB

# <i>emerge hplip</i>
<comment>(Assicurarsi che la propria stampante USB sia collegata al computer o
che la propria stampante di rete sia connessa.)</comment>
# <i>hp-setup</i>
# <i>/etc/init.d/cupsd restart</i>
</pre>

<p>
Al termine del processo di emerge, lo strumento <c>hp-setup</c> tenterà di
rilevare ed installare nel sistema i driver per la propria stampante. Una volta
fatto, quest'ultima sarà disponibile nella configurazione di CUPS. Quando si
aggiorna <c>net-print/hplip</c> si dovrebbe eseguire <c>hp-setup -r</c>
per rimuovere tutte le stampanti e configurarle nuovamente.
</p>

</body>
</section>
<section id="pnm2ppa">
<title>Driver PNM2PPA</title>
<body>

<p>
PPA è una tecnologia HP che si incentra sull'invio di processi di basso livello
al sistema invece che alla stampante in modo da rendere la stampante più
economica, anche se al costo di un più elevato utilizzo di risorse.
</p>

<p>
Se <uri link="http://www.linuxprinting.org/printer_list.cgi">LinuxPrinting
</uri> riporta che il driver <uri
link="http://pnm2ppa.sourceforge.net/">pnm2ppa</uri> è il migliore per la
propria stampante, bisogna installare il filtro <c>pnm2ppa</c> nel proprio
sistema:
</p>

<pre caption="Installare il filtro pnm2ppa">
# <i>emerge pnm2ppa</i>
</pre>

<p>
Una volta installato, scaricare il file PPD per la propria stampante da <uri
link="http://www.linuxprinting.org/printer_list.cgi">LinuxPrinting</uri> e
posizionarlo su <path>/usr/share/cups/model</path>. Quindi, configurare la
stampante usando i passi spiegati sopra.
</p>

</body>
</section>
</chapter>

<chapter id="windows">
<title>Stampare da e su Microsoft Windows</title>
<section>
<body>

<note>
È consigliabile leggere la <uri link="/doc/it/quick-samba-howto.xml">Guida
a Samba/CUPS</uri> per ottenere ulteriori informazioni dettagliate su come
configurare CUPS con Samba.
</note>

</body>
</section>
<section>
<title>Configurare un client Windows per IPP</title>
<body>

<p>
Microsoft Windows supporta IPP (gli utenti di Windows 9x o ME devono
<uri
link="http://support.microsoft.com/default.aspx?scid=kb;en-us;294439">
installarlo</uri> a parte). Per installare su Windows una stampante che è
collegata alla macchina Linux, lanciare la procedura guidata <c>Aggiungi
stampante</c> e selezionare <c>Stampante di rete</c>. Quando verrà chiesto
l'URI, usare la sintassi <c>http://hostname:631/printers/codadistampa</c>.
</p>

<p>
Naturalmente assicurarsi prima che tutti i sistemi <uri
link="#remote_usage">possano raggiungere</uri> la stampante!
</p>

</body>
</section>
<section>
<title>Configurare un client Windows per una stampante condivisa con
Samba</title>
<body>

<p>
Per condividere una stampante in una rete SMB-CIFS, occorre avere SAMBA
installato e correttamente configurato. Ciò va un po' oltre lo scopo di questo
documento, ma verrà fatto lo stesso un veloce riepilogo su come configurare
SAMBA per condividere le stampanti.
</p>

<p>
Aprire <path>/etc/samba/smb.conf</path> con il proprio editor preferito e
aggiungere la sezione <c>[printers]</c>:
</p>

<pre caption="Aggiungere una sezione [printers]">
[printers]
  comment      = All printers
  path         = /var/spool/samba
  browseable   = no
  guest ok     = no
  writable     = no
  printable    = yes
  public       = yes
  printer name = hpljet5p
</pre>

<p>
Spostarsi all'inizio del file <path>smb.conf</path> fino alla sezione
<c>[global]</c>. Quindi cercare i parametri <c>printcap name</c> e
<c>printing</c> e settarli entrambi su <c>cups</c>:
</p>

<pre caption="Modificare la sezione [global]">
[global]
  <comment>(...)</comment>
  printcap name = <i>cups</i>
  printing      = <i>cups</i>
</pre>

<p>
Assicurarsi di aver abilitato il supporto ai driver <uri
link="#windows_pcl">Windows PCL</uri> in CUPS. Quindi, riavviare il servizio
<c>smb</c> per applicare le modifiche.
</p>

</body>
</section>
<section>
<title>Configurare un client Linux per un server di stampa Windows</title>
<body>

<p>
Prima di tutto, assicurarsi che la stampanta sia condivisa sul sistema Windows.
</p>

<p>
Quindi, nella interfaccia web CUPS, configurare la stampante come è stato
descritto precedentemente. Adesso si noterà che CUPS ha aggiunto un altro
driver chiamato <c>Windows Printer via SAMBA</c>. Selezionarlo e usare una
sintassi <c>smb://username:password@workgroup/server/printername</c> or
<c>smb://server/printername</c> come URI.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Applicazioni relative alla stampa</title>
<section>
<title>Introduzione</title>
<body>

<p>
Esistono molti strumenti per la configurazione delle stampanti, per usare
ulteriori filtri di stampa, aggiungere altre funzionalità di stampa, ecc.
Questo capitolo ne elenca alcuni. La lista non è esaustiva e non fornisce i
dettagli per ogni strumento.
</p>

</body>
</section>
<section>
<title>Gtk-LP - Un tool di configurazione delle stampanti scritto in GTK</title>
<body>

<p>
Con <uri link="http://gtklp.sourceforge.net/index.shtml">Gtk-LP</uri> è
possibile installare, modificare e configurare le proprie stampanti da una
applicazione indipendente basata sulle librerie Gtk. Essa utilizza CUPS e
ne comprende tutte le funzionalità standard. In definitiva è l'ideale per chi
non ama l'interfaccia web di CUPS oppure vuole una applicazione a parte per
le operazioni giornaliere di stampa.
</p>

<p>
Per installarlo, emergere <c>gtklp</c>:
</p>

<pre caption="Installare Gtk-LP">
# <i>emerge gtklp</i>
</pre>

</body>
</section>
</chapter>

<chapter>
<title>Risoluzione dei problemi</title>
<section>
<title>Errore: Unable to convert file 0 to printable format</title>
<body>

<p>
Se si hanno problemi di stampa e il file <path>/var/log/cups/error_log</path>
mostra questo messaggio:
</p>

<pre caption="Errore nel log">
Unable to convert file 0 to printable format
</pre>

<p>
Significa che bisogna reinstallare tramite emerge il pacchetto
<c>ghostscript-gpl</c> con la flag USE <c>cups</c> attivata. Si può
indifferentemente aggiungere la flag USE <c>cups</c> in
<path>/etc/portage/make.conf</path>, o abilitarla solo per <c>ghostscript-gpl</c> come
mostrato:
</p>

<pre caption="Aggiungere la flag USE cups a ghostscript-gpl">
# <i>echo "app-text/ghostscript-gpl cups" &gt;&gt; /etc/portage/package.use</i>
</pre>

<p>
Quindi effettuare l'emerge di <c>ghostscript-gpl</c>. Al termine del processo di
compilazione, assicurarsi di riavviare <c>cupsd</c>:
</p>

<pre caption="Riavviare cupsd">
# <i>/etc/init.d/cupsd restart</i>
</pre>

</body>
</section>
</chapter>

</guide>
