Guida alla Stampa in Gentoo
1.Stampa e Gentoo Linux
Usare gli Strumenti Corretti
Linux ha un eccellente supporto per le stampanti; lo strumento giusto da usare
è CUPS (Common Unix Printing System).
Dall'inizio del progetto, nel 1999, l'installazione e la gestione di CUPS è
migliorata notevolmente.
In questo documento ci occuperemo di come usare CUPS per configurare una
stampante locale o di rete. Non scenderemo nei dettagli dato che il progetto
dispone di ottima
documentazione per l'uso avanzato.
2.Configurazione del Kernel
Introduzione
Quando si vuole installare una stampante sul proprio sistema è necessario
sapere in che modo la stampante sarà collegata al sistema. Potrebbe essere
collegata tramite una porta locale come la LPT o la USB, oppure potrebbe essere
collegata 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).
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:
Spostarsi in /usr/src/linux ed eseguire make menuconfig per
accedere alla configurazione del kernel. Se si è utilizzato
genkernel per configurare il kernel, si dovrebbero comunque seguire
questi passi per assicurarsi che non manchi nulla.
Nei prossimi esempi di configurazione, verrà aggiunto il supporto necessario
nel kernel, non come moduli. Questo non è obbligatorio; Se si vuole si
può facilmente utilizzare un supporto modulare, in tal caso non bisogna
dimenticare successivamente di caricare i moduli necessari. L'esempio di
configurazione è riferito al kernel 2.6; Per il 2.4 le direttive di
configurazione potrebbero essere altrove.
Ora si vada nella sezione appropriata per modificare (o controllare) la
configurazione del kernel.
Stampante Locale (LPT)
La porta LPT è generalemente usata per identificare la porta per la stampante
parallela. Bisogna prima abilitare il supporto per la porta parallela, poi il
supporto alla porta parallela in stile PC (a meno che il proprio sistema non
sia SPARC) dopodiché si abiliterà il supporto alla stampante su porta
parallela.
Esempio 1: Configurazione della stampante su porta parallela |
Device Drivers -->
<*> Parallel port support
<*> PC-style hardware
Device Drivers -->
Character Devices -->
<*> Parallel printer support
|
In alcuni casi è necessario abilitare altre opzioni nella sezione Parallel
port support. Si utilizzi la funzione Help
nella configurazione del kernel per maggiori informazioni.
Questo è quanto; uscire dalla configurazione del kernel e ricompilarlo.
Al termine non va dimenticato di copiare la
nuova immagine del kernel in /boot (prima montare
/boot se necessario) e aggiornare la configurazione del bootloader
prima di riavviare il sistema.
Proseguire ora con Installazione e Configurazione di
CUPS.
Stampante Locale (USB)
Per abilitare la stampa via USB, è necessario il supporto USB ed il supporto
alla stampante USB.
Esempio 2: Configurazione della stampante su porta USB |
Device Drivers -->
USB Support -->
<*> Support for Host-side USB
--- USB Host Controller Drivers
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD support
<*> UHCI HCD (most Intel and VIA) support
<*> USB Printer support
|
Questo è quanto; uscire dalla configurazione del kernel e ricompilarlo.
Al termine non va dimenticato di copiare la
nuova immagine del kernel in /boot (prima montare
/boot se necessario) e aggiornare la configurazione del bootloader
prima di riavviare il sistema.
Proseguire ora con Installazione e Configurazione di
CUPS.
Stampante Remota (IPP)
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 Installazione e Configurazione di CUPS
Stampante Remota (SMB-CIFS)
Il kernel deve supportare SMB CIFS:
Esempio 3: Configurazione della stampante SMB-CIFS |
File systems -->
Network File Systems -->
<*> SMB file system support (to mount Windows shares etc.)
<*> CIFS support (advanced network file system for Samba, Windows and other CIFS compliant servers)
|
Questo è quanto; uscire dalla configurazione del kernel e ricompilarlo. Al
termine non va dimenticato di copiare la nuova immagine del kernel in
/boot (prima montare /boot se necessario) e
aggiornare la configurazione del bootloader prima di riavviare il sistema.
Proseguire ora con Installazione e Configurazione di
CUPS.
3.Installazione e Configurazione di CUPS
Installazione
Installare CUPS con Gentoo è semplice. CUPS ha alcune caratteristiche
opzionali alle quali si può essere interessati. Per abilitare o disabilitare
queste caratteristiche, utilizzare le relative USE flag.
| USE flag |
Effetto su CUPS |
| nls |
Abilita il supporto al linguaggio nativo (ndt: Native Language Support).
Con nls CUPS è in grado di fornire un feedback localizzato in modo da
poter usare CUPS nella propria lingua.
|
| pam |
Se si ha bisogno di autenticare i lavori di stampa attraverso i Pluggable
Authentication Modules, questo attiva il supporto a PAM in CUPS.
|
| samba |
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.
|
| slp |
In un ambiente gestito la stampante potrebbe essere resa disponibile come
servizio ad altri. Con il Service Locator Protocol (ndt: Protocollo per
l'individuazione del servizio) si può facilmente 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.
|
| ssl |
Se si vuole autenticazione remota e/o privacy, si ha bisogno del supporto
per 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.
|
Controllare le impostazioni USE correnti. Se si vogliono modificare le
impostazioni USE correnti soltanto per CUPS, aggiungere le appropriate USE flag
a /etc/portage/package.use.
Esempio 4: Impostazione delle USE flag per CUPS |
# emerge -pv cups
[ebuild N ] net-print/cups-1.1.23-r1 +nls +pam -samba -slp +ssl 0 kB
# vim /etc/portage/package.use
net-print/cups samba
|
Se si è soddisfatti delle impostazioni, installare CUPS attraverso Portage.
Esempio 5: Installazione di CUPS |
# emerge cups
|
Il processo di installazione potrebbe consigliare di eseguire rc-update
add coldplug default se si sta utilizzando una stampante USB ed il
supporto necessario è costituito da moduli del kernel. Questo permette di
caricare tutti i moduli del kernel necesari al boot.
Se la stampante è collegata al sistema localmente è necessario caricare CUPS
automaticamente all'avvio. Assicurarsi che la propria stampante sia colegata ed
accesa prima di avviare CUPS
Esempio 6: Avvio automatico di CUPS |
# /etc/init.d/cupsd start
# rc-update add cupsd default
|
Configurazione
La configurazione di default per il server CUPS in
/etc/cups/cupsd.conf è sufficiente per la maggior parte degli
utenti. Comunque, diversi utenti potrebbero avere la necessità di apportare
modifiche alla configurazione di CUPS.
Nelle prossime sezioni saranno trattate alcune modifiche che sono spesso
necessarie:
-
In Accesso a stampanti remote si permette
ad altri sistemi di utilizzare la stampante collegata a questo sistema
Linux.
-
In Amministrazione remota di CUPS si
autorizza l'amministrazione di CUPS da sistemi remoti.
-
In Abilitare il supporto ai driver Windows
PCL è 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.
-
In Impostare una stampante remota è
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).
Accesso a Stampanti Remote
Se si vuole che altri sistemi usino la propria stampante tramite IPP è
necessario autorizzare l'accesso alla stampante in
/etc/cups/cupsd.conf. Se si vuole condividere la propria
stampante tramite SAMBA, questa modifica non è necessaria.
Aprire /etc/cups/cupsd.conf in un editor di testo e aggiungere
una riga Allow per i sistemi che devono essere in grado di
accedere alla propria stampante. Nel prossimo esempio permetteremo l'accesso
alla stampante da parte di tutti i sistemi il cui indirizzo IP inizia per
192.168.0.
Esempio 7: Permettere l'accesso da remoto alla stampante |
<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.0.*
</Location>
|
Amministrazione Remota di CUPS
Se si è interessati all'amministrazione remota, si deve autorizzare l'accesso
da parte di altri sistemi all'amministrazione di CUPS. Modificare
/etc/cups/cupsd.conf e permettere esplicitamente l'accesso ai
sistemi desiderati. Ad esempio, per autorizzare l'accesso al sistema con
indirizzo IP 192.168.0.3:
Esempio 8: Autorizzare l'accesso remoto in /etc/cups/cupsd.conf |
<Location /admin>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.0.3
</Location>
|
Non bisogna dimenticare di riavviare CUPS dopo aver modificato il file
/etc/cups/cupsd.conf eseguendo /etc/init.d/cupsd restart.
Abilitare il Supporto ai Driver PCL per Windows
I driver PCL inviano dati non preparati (raw) al server di stampa. Per
abilitare la stampa raw è necesario modificare
/etc/cups/mime.types e decommentare
application/octet-stream. Dopo ciò, è necessario modificare
/etc/cups/mime.convs decommentando la linea contenente
application/octet-stream.
Esempio 9: Abilitare il supporto alla stampa raw |
# vim /etc/cups/mime.types
application/octet-stream
# vim /etc/cups/mime.convs
application/octet-stream application/vnd.cups-raw 0 -
|
Dopo aver modificato /etc/cups/cupsd.conf riavviare il server CUPS
eseguendo /etc/init.d/cupsd restart.
Configurazione di una stampante remota
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 /etc/cups/client.conf.
Assumendo che la stampante sia collegata ad un server chiamato
printserver.mydomain, aprire /etc/cups/client.conf con il
proprio editor preferito ed impostare la direttiva ServerName:
Esempio 10: Modifica di client.conf |
# vim /etc/cups/client.conf
ServerName printserver.mydomain
|
Verrà utilizzata la stampante che sul server remoto risulta impostata come
predefinita.
Se si vuole cambiare la stampante predefinita, utilizzare lpoptions:
Esempio 11: Cambiare la stampante predefinita |
# lpstat -a
hpljet5p accepting requests since Jan 01 00:00
hpdjet510 accepting requests since Jan 01 00:00
# lpoptions -d hpljet5p
|
4.Configurare una Stampante
Introduzione
Se la stampante che si vuole configurare è disponibile attraverso un server
remoto (che utilizza CUPS) non c'è bisogno di seguire queste istruzioni.
Leggere invece Configurare una stampante
remota.
Rilevare la Stampante
Se si possiede una stampante USB o la stampante su porta parallela era accesa
quando si è avviato il sistema, è probabile si possano ottenere dal kernel
informazioni che indicano che la stampante è stata rilevata con successo.
Comunque questa informazione è solo indicativa e non è indispensabile.
Esempio 12: Recuperare informazioni dal kernel |
$ dmesg | grep -i print
parport0: Printer, Hewlett-Packard HP LaserJet 2100 Series
$ lsusb
Bus 001 Device 007: ID 03f0:1004 Hewlett-Packard DeskJet 970c/970cse
|
Installare la Stampante
Per installare la stampante sul proprio sistema, avviare il proprio browser e
puntare a http://localhost:631.
Si accederà in questo modo l'interfaccia web di CUPS dalla quale si possono
svolgere tutte le attività amministrative.
Andare su Administration ed inserire la propria password di root nel
box. Quindi, dopo aver raggiunto l'interfaccia di amministrazione, cliccare su
Add Print. Si entrerà in una nuova schermata che permetterà
l'inserimento delle seguenti informazioni:
-
Lo spooler name, ovvero un breve ma descrittivo indicativo usato dal
sistema per identificare la stampante. Questo nome non deve contenere spazi
o altri caratteri speciali. Per esempio, la stampante HP LaserJet 5P
potrebbe diventare hpljet5p.
-
La location, 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.
-
Infine la description, dove si può indicare una completa
descrizione della stampante. Per esempio il nome completo "HP LaserJet
5P".
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.
| Dispositivo |
Descrizione |
| AppSocket/HP JetDirect |
Questo dispositivo speciale permette alle stampanti di rete di essere
accessibili tramite il socket HP JetDirect. Solo alcune stampanti
specifiche lo supportano.
|
| Internet Printing Protocol (IPP or HTTP) |
Usare questo per poter utilizzare stampanti remote attraverso il protocollo
IPP, sia direttamente (IPP) o attraverso l'HTTP.
|
| LPD/LPR Host or Printer |
Selezionare questo se la stampante remota è attaccata d un server LPD/LPR.
|
| Parallel Port #1 |
Scegliere questo se la stampante è attaccata localmente alla porta
parallela (LPT). Quando la stampante viene automaticamente riconosciuta il
suo nome viene apposto a quello del dispositivo.
|
| USB Printer #1 |
Infine, selezionare questo se la stampante è attaccata in locale in una
porta USB. Il nome della stampante dovrebbe essere automaticamente apposto
al nome del dispositivo.
|
Se si sta installando una stampante remota, verrà chiesto l'URI della
stampante:
-
Un server LPD richiede un sintassi del tipo: lpd://hostname/queue
-
Una stampante HP JetDirect richiede: socket://hostname
-
Una stampante IPP invece richiede una sintassi del tipo:
http://hostname:631/ipp/queue o
ipp://hostname/ipp/queue
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ò decidere di selezionarne
uno adesso o cercare sulla lista di
LinuxPrinting.org per un driver migliore. È comunque possibile cambiare
il driver utilizzato in seguito.
Dopo aver selezionato il driver, CUPS informerà che la stampante è stata
correttamente aggiunta al sistema. Adesso quindi è possibile entrare nella
pagina di amministrazione delle stampanti e selezionare Configure
Printer per cambiare le impostazioni (risoluzione, formato pagina, etc).
Testare e riconfigurare una stampante
Per verificare se la stampante funziona correttamente, basta andare nella
pagina di amministrazione delle stampanti, selezionare la stampante e cliccare
su Print Test Page.
Se la stampante non funziona correttamente, cliccare su Modify Printer
per riconfigurarla. Si tratta delle stesse schermate usate durante la prima
installazione ma le impostazioni predefinite stavolta corrispondono alla
corrente configurazione.
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
/var/log/cups/error_log. Nell'esempio seguente scopriremo un
errore di permessi, probabilmente dovuto ad una errata configurazione di
Allow in /etc/cups/cupsd.conf.
Esempio 13: Cercare errori di CUPS |
# tail /var/log/cups/error_log
E [11/Jun/2005:10:23:28 +0200] [Job 102] Unable to get printer status (client-error-forbidden)!
|
Installare il driver migliore
Esistono molti driver per le stampanti; per scoprire quello che ha le migliori
prestazioni, basta dare un'occhiata alla lista di LinuxPrinting.org.
Selezionare la propria marca e il tipo per trovare quale driver il sito
consiglia. Per esempio, per la HP LaserJet 5P, il sito raccomanda il driver
ljet4.
Scaricare il file PPD dal sito e posizionarlo in
/usr/share/cups/model.Ciò renderà il driver visibile
dall'interfaccia web di CUPS. Quindi si può riconfigurare la stampante come
descritto sopra.
5.Usare driver per le stampanti particolari
Introduzione
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".
Saranno trattate le seguenti stampanti e/o driver:
Driver Gimp-Print
I driver gimp-print 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.
Il portage tree di Gentoo contiene un ebuild per i driver gimp-print. Basta
semplicemente usare emerge per installarli. Notare che l'ebuild richiede
un bel po di flag USE (come cups e ppds). Queste due devono
essere attivate per permettere ai driver di funzionare.
Esempio 14: Installare i driver gimp-print |
# emerge gimp-print
|
Quando finisce il processo di installazione, i driver Gimp-print si potranno
utilizzare dall'interfaccia web di CUPS.
Driver HPLIP
Il Progetto HPLIP abbraccia i driver
hpijs e include il supporto scanner e i tools per varie periferiche
multi-purpose. Per il supporto alla stampa, è obbligatorio abilitare la
flag USE ppds.
Esempio 15: Installare i driver HPLIP |
# emerge -vp hplip
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] net-print/hplip-0.9.5 +X +cups +foomaticdb -qt -scanner -snmp +usb 9,255 kB
Total size of downloads: 9,255 kB
# emerge hplip
|
Dopo la fine del processo di installazione, i driver della stampante saranno
disponibili nell'interfaccia web di CUPS.
Driver PNM2PPA
PPA è una tecnologia HP che si incetra 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.
Se LinuxPrinting
riporta che il driver pnm2ppa è il migliore per la
propria stampante, bisogna installare il filtro pnm2ppa nel proprio
sistema:
Esempio 16: Installare il filtro pnm2ppa |
# emerge pnm2ppa
|
Una volta installato, scaricare il file PPD per la propria stampante da LinuxPrinting e
posizionarlo su /usr/share/cups/model. Quindi, configurare la
stampante usando i passi spiegati sopra.
6.Stampare da e su Microsoft Windows
Configurare un client Windows per IPP
Microsoft Windows supporta IPP (gli utenti di Windows 9x o ME devono
installarlo a parte). Per installare una stampante che è collegata alla
Linux box su Windows, lanciare il wizard Add Printer e selezionare
Network Printer. Quando verrà chiesto l'URI, usare la sintassi
http://hostname:631/printers/queue.
Naturalmente assicurarsi prima che tutti i sistemipossono raggiungere la stampante!
Configurare un client Windows per una stampante condivisa con
Samba
Per condividere una stampante in una rete SMB-CIFS, occore avere SAMBA
installato e correttamente configurato. Ciò va un po' oltre lo scopo di questo
documento, ma faremo lo stesso un veloce resoconto di come configurare SAMBA
per condividere le stampanti.
Aprire /etc/samba/smb.conf con il proprio editor preferito e
aggiungere la sezione [printers]:
Esempio 17: 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
|
Adesso andare verso la cima del file smb.conf fino alla sezione
[global]. Quindi cercare i parametri printcap name e
printing e settarli entrambi su cups:
Esempio 18: Modificare la sezione [global] |
[global]
printcap name = cups
printing = cups
|
Assicurarsi di aver abilitato il supporto ai driver Windows PCL in CUPS. Quindi, riavviare il servizio
smb per applicare le modifiche.
Configurare un client Linux per un server di stampa Windows
Prima di tutto, assicurarsi che la stampanta è condivisa sul sistema Windows.
Quindi, nella interfaccia web CUPS, configurare la stampante come è stato
descritto precedentemente. Adesso si noterà che CUPS ha aggiunto un altro
driver chiamato Windows Printer via SAMBA. Selezionarlo e usare una
sintassi smb://username:password@workgroup/server/printername or
smb://server/printername come URI.
7.Applicazioni relative alla stampa
Introduzione
Esistono molti tool per la configurazione delle stampanti, per usare
ulteriori filtri di stampa, aggiungere altre funzionalità di stampa, etc.
Questo capitolo ne elenca un po'. La lista non è esaustiva e non descrive
ogni tool in dettaglio.
Gtk-LP - Un tool di configurazione delle stampanti scritto in GTK
Con Gtk-LP è
possibile installare, modificare e configurare le proprie stampanti da una
applicazione Gtk stand-alone. Esso utilizza CUPS e comprende tutte le
funzionalità standard di esso. In definitiva è l'ideale per chi non ama
l'interfaccia web di CUPS oppure vuole una applicazione stand-alone per le
operazioni giornaliere di stampa.
Per installarlo, emergere gtklp:
Esempio 19: Installare Gtk-LP |
# emerge gtklp
|
|