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 verrà spiegato come utilizzare CUPS per configurare una
stampante locale o di rete, senza entrare nei dettagli dato che il progetto
dispone di ottima
documentazione per l'uso avanzato.
2.
Configurazione del Kernel
Introduzione
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).
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. Anche se si è utilizzato
genkernel per configurare il kernel, seguire comunque 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, in quanto si
potrà utilizzare un supporto modulare senza problemi, nel qual caso ricordarsi
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.
Per modificare (o controllare) la configurazione del kernel andare nella sezione
appropriata
Stampante Locale (LPT)
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.
Codice 2.1: Configurazione della stampante su porta parallela |
Device Drivers -->
<*> Parallel port support
<*> PC-style hardware
Device Drivers -->
Character Devices -->
<*> Parallel printer support
[*] IEEE 1284 transfer modes)
|
Nota:
In alcuni casi è necessario abilitare altre opzioni nella sezione Parallel
port support. Utilizzare la funzione Help nella configurazione del
kernel per maggiori informazioni.
|
Infine 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.
Codice 2.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
|
Infine 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:
Codice 2.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)
|
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 /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 che possono interessare: per abilitarle o disabilitarle, utilizzare
le relative USE flag.
| USE flag |
Effetto su CUPS |
| dbus |
Aggiunge il supporto al "bus message system" dbus
|
| jpeg |
Aggiunge il supporto per la stampa delle immagini JPEG. |
| nls |
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.
|
| pam |
Se si ha bisogno di autenticare i lavori di stampa attraverso i Pluggable
Authentication Modules, questo attiva il supporto a PAM in CUPS.
|
| php |
Aggiunge il supporto allo scripting php. |
| png |
Aggiunge il supporto per la stampa delle immagini PNG. |
| ppds |
Aggiunge il supporto per la generazione automatica dei file ppd (printing
driver). Vedere Installare il driver
migliore.
|
| 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 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.
|
| ssl |
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.
|
| tiff |
Aggiunge il supporto per la stampa delle immagini TIFF. |
| X |
Permette l'utilizzo del proprio menù desktop per caricare la pagina web per
la configurazione di CUPS nel proprio browser predefinito.
|
Controllare le impostazioni USE correnti. Per modificare le impostazioni USE
correnti soltanto per CUPS, aggiungere le appropriate USE flag a
/etc/portage/package.use.
Codice 3.1: Impostazione delle USE flag per CUPS |
# emerge -pv cups
[ebuild N ] net-print/cups-1.2.6 "X dbus jpeg nls pam png ppds ssl -php -samba -slp -tiff" 0 kB
# nano -w /etc/portage/package.use
net-print/cups samba
|
Se le impostazioni soddisfano i propri requisiti, installare CUPS attraverso
Portage.
Codice 3.2: Installazione di CUPS |
# emerge cups
|
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.
Codice 3.3: Avvio automatico di CUPS |
# /etc/init.d/cupsd start
# rc-update add cupsd default
|
Configurazione
La configurazione predefinita per il server CUPS in
/etc/cups/cupsd.conf è sufficiente per la maggior parte degli
utenti. Tuttavia più di qualcuno potrebbe avere la necessità di apportare
modifiche alla configurazione di CUPS.
Nelle prossime sezioni saranno trattate alcune modifiche che sono spesso
necessarie:
Accesso da remoto alla stampante locale
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 localhost e da parte di tutti i sistemi il cui indirizzo IP
inizia per 192.168.0.
Codice 3.4: Permettere l'accesso da remoto alla stampante |
<Location />
Order allow,deny
Allow localhost
Allow from 192.168.0.*
Deny all
</Location>
BrowseAddress 192.168.0.*:631
|
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.
Codice 3.5: Configurazione della porta in /etc/cups/cupsd.conf |
Listen *:631
#Listen localhost:631
|
Nota:
Se si sta ancora utilizzando CUPS 1.1 (che ora è deprecato), è necessario usare
una sintassi diversa per le richieste remote di stampa:
|
Codice 3.6: Configurazione deprecata di CUPS 1.1 |
Port 631
#Listen 127.0.0.1:631
#Listen localhost:631
|
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:
Codice 3.7: Autorizzare l'accesso remoto in /etc/cups/cupsd.conf |
<Location /admin>
Encryption Required
Order allow,deny
Allow localhost
Allow 192.168.0.3
Deny all
</Location>
|
Non dimenticarsi 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 grezzi (raw) al server di stampa. Per abilitare la
stampa raw è necessario modificare i file /etc/cups/mime.types
e /etc/cups/mime.convs, decommentando (se non lo è già) la voce
application/octet-stream.
Codice 3.8: 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 -
|
Non dimenticarsi di riavviare il server CUPS dopo aver eseguito queste
modifiche eseguendo /etc/init.d/cupsd restart.
Configurare 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:
Codice 3.9: Modifica di client.conf |
# vim /etc/cups/client.conf
ServerName printserver.mydomain
|
Verrà utilizzata la stampante che sul server remoto risulta impostata come
predefinita. Per cambiare la stampante predefinita, utilizzare lpoptions:
Codice 3.10: 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
durante l'avvio del sistema, probabilmente dal kernel si otterranno informazioni
(comunque non indispensabili) indicanti la corretta rilevazione della stampante.
Codice 4.1: 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.
Così facendo si accederà all'interfaccia web di CUPS dalla quale si possono
svolgere tutte le attività amministrative.
Nota:
Se si usa una connessione HTTPS a CUPS, la prima volta che si accede
all'interfaccia web potrebbe 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.
|
Andare su Administration ed inserire la propria password di root nel
riquadro. 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 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 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 |
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.
|
| USB Printer #1 |
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.
|
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:
-
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:
ipp://hostname/printers/printername o
http://hostname:631/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ò subito decidere di
selezionarne uno 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. A questo punto si può 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, è sufficiente 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 corrisponderanno alla
configurazione attuale.
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.
Codice 4.2: 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 fornisce le
prestazioni migliori, basta dare un'occhiata alla lista di LinuxPrinting.org .
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
ljet4.
Scaricare il file PPD dal sito e posizionarlo in
/usr/share/cups/model, quindi eseguire /etc/init.d/cupsd
restart come root. 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 Gutenprint
I driver gutenprint 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 gutenprint. Basta
semplicemente usare emerge per installarli. Notare che l'ebuild richiede
divrse flag USE (come cups e ppds). Queste due devono essere
attivate per permettere ai driver di funzionare.
Codice 5.1: Installare i driver gutenprint |
# emerge gutenprint
|
Al termine del processo di installazione, i driver gutenprint si potranno
utilizzare dall'interfaccia web di CUPS.
Driver HPLIP
Il Progetto HPLIP abbraccia i driver
hpijs e include il supporto scanner e gli strumenti per varie periferiche
multifunzione. Per il supporto alla stampa, è obbligatorio abilitare la
flag USE ppds.
Codice 5.2: Installare i driver HPLIP |
# emerge -vp hplip
These are the packages that would be merged, in order:
Calculating dependencies ...done!
[ebuild N ] net-print/hplip-2.7.10 USE=" -X -doc -fax -minimal -parport -scanner -snmp" 14,104 kB
Total: 1 package (1 new), Size of downloads: 14,104 kB
# emerge hplip
# hp-setup
# /etc/init.d/cupsd restart
|
Al termine del processo di emerge, lo strumento hp-setup tenterà di
rilevare ed installare nel sistema i driver per la propria stampante. Una volta
fatto, quest'ultima sarà disponibile nella configurazione di CUPS.
Driver PNM2PPA
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.
Se LinuxPrinting
riporta che il driver pnm2ppa è il migliore per la
propria stampante, bisogna installare il filtro pnm2ppa nel proprio
sistema:
Codice 5.3: 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
Nota:
È consigliabile leggere la Guida
a Samba/CUPS per ottenere ulteriori informazioni dettagliate su come
configurare CUPS con Samba.
|
Configurare un client Windows per IPP
Microsoft Windows supporta IPP (gli utenti di Windows 9x o ME devono
installarlo a parte). Per installare su Windows una stampante che è
collegata alla macchina Linux, lanciare la procedura guidata Aggiungi
stampante e selezionare Stampante di rete. Quando verrà chiesto
l'URI, usare la sintassi http://hostname:631/printers/codadistampa.
Naturalmente assicurarsi prima che tutti i sistemi possano raggiungere la stampante!
Configurare un client Windows per una stampante condivisa con
Samba
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.
Aprire /etc/samba/smb.conf con il proprio editor preferito e
aggiungere la sezione [printers]:
Codice 6.1: 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
|
Spostarsi all'inizio del file smb.conf fino alla sezione
[global]. Quindi cercare i parametri printcap name e
printing e settarli entrambi su cups:
Codice 6.2: 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 sia 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 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.
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 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.
Per installarlo, emergere gtklp:
Codice 7.1: Installare Gtk-LP |
# emerge gtklp
|
8.
Risoluzione dei problemi
Errore: Unable to convert file 0 to printable format
Se si hanno problemi di stampa e il file /var/log/cups/error_log
mostra questo messaggio:
Codice 8.1: Errore nel log |
Unable to convert file 0 to printable format
|
Significa che bisogna riemergere ghostscript-esp con la flag USE cups
. Si può indifferentemente aggiungere la flag USE cups in
/etc/make.conf, o abilitarla solo per ghostscript-esp come
mostrato:
Codice 8.2: Aggiungere la flag USE cups a ghostscript-esp |
# echo "app-text/ghostscript-esp cups" >> /etc/portage/package.use
|
Quindi emergere ghostscript-esp. Al termine del processo di compilazione,
assicurarsi di riavviare cupsd:
Codice 8.3: Riavviare cupsd |
# /etc/init.d/cupsd restart
|
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|