CUPS (Italiano)

From ArchWiki
Revision as of 17:48, 11 December 2011 by Strcat (Talk | contribs) (codeline -> ic)

Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Dal sito di CUPS:

"CUPS è il sistema di stampa, standard e open source, sviluppato da Apple Inc. per Mac OS® X e altri sistemi operativi UNIX®-like."

Anche se ci sono altri sistemi di stampa come LPRNG, il Common Unix Printing System è la scelta più popolare per la sua relativa facilità d'uso.

Contents

Installazione

Sono richiesti i seguenti pacchetti:

# pacman -S cups ghostscript gsfonts

Se il pacchetto standard non funziona si può provare ad installare Template:Package AUR da AUR (Consigliabile per stampanti Samsung).

  • cups - Il software CUPS vero e proprio
  • ghostscript - L'interprete per il linguaggio PostScript
  • gsfonts - I font standard GhostScript Type1
  • hpoj - Se si utilizza una HP Officejet, si dovrebbe installare anche questo pacchetto e seguire le istruzioni per evitare problemi. Leggere questo thread at launchpad/hplip per maggiori informazioni.

Se il sistema è collegato ad una stampante di rete utilizzando il protocollo Samba o se il sistema deve essere un server di stampa per i client Windows, installare anche Samba:

# pacman -S samba

Driver per la stampante

Di seguito alcuni pacchetti per i driver. Scegliere il driver appropriato per la stampante da configurare:

  • gutenprint - Una raccolta di driver di alta qualità per stampanti Canon, Epson, Lexmark, Sony, Olympus, e PCL per l'utilizzo con GhostSscript, CUPS, Foomatic, e GIMP
  • foomatic-db, foomatic-db-engine, foomatic-db-nonfree, e foomatic-filters - Foomatic è un sistema basato su database per l'integrazione di driver liberi di stampanti con spooler comune in ambiente Unix. L'installazione di foomatic-filters dovrebbe risolvere eventuali problemi se gli errori nei log riportano "stopped with status 22!".
  • hplip - Driver GNU/Linux per HP inkjet. Fornisce supporto per le serie DeskJet, OfficeJet, Photosmart, Business Inkjet ed alcuni modelli LaserJet.
  • splix - Driver Samsung per stampanti SPL (Samsung Printer Language). Se ne consiglia l'utilizzo con Template:Package AUR da AUR)
  • ufr2 - Driver Canon UFR2 con supporto per le stampanti serie LBP, iR e MF. Il pacchetto è disponibile su AUR.
  • cups-pdf - Un pacchetto che permette di configurare una stampante PDF virtuale e che genera un file PDF dai dati ricevuti in modo automatico.

Se non si è sicuri di quale driver installare o se l'attuale driver non funziona, può essere più semplice installare tutti i driver, dal momento che alcuni dei nomi dei pacchetti sono fuorvianti, in quanto anche stampanti di altre marche possono essere supportate. Per esempio, la Brother HL-2140 ha bisogno del driver HPLIP installato.

# pacman -S gutenprint foomatic-db foomatic-db-engine \
foomatic-db-nonfree foomatic-filters \
hplip splix ufr2 cups-pdf

Scaricare il PPD della stampante

A seconda della stampante, questo passo è opzionale e potrebbe non essere necessario, dal momento che l'installazione standard di CUPS include già un certo numero di file PPD (Postscript Printer Description). Inoltre, i pacchetti foomatic-filters, gimp-print e hplip includono a loro volta dei file PPD, che verranno rilevati automaticamente da CUPS.

Ecco una spiegazione dal sito di stampa di Linux sul significato dei file PPD:

"Per ogni PostScript di una stampante, i costruttori forniscono un file PPD, che contiene tutte le informazioni specifiche del particolare modello della stampante: caratteristiche di base della stampante, come ad esempio se è una stampante a colori, i caratteri, il livello PostScript, ecc, e soprattutto le opzioni configurabili dall'utente , la dimensione della carta, la risoluzione, ecc."

Se il PPD per la stampante non è già incluso in CUPS:

  • controllare su AUR per verificare se ci sono i pacchetti per la stampante e/o produttore
  • visitare il OpenPrinting database e selezionare il produttore e il modello della stampante
  • visitare il sito del produttore per effettuare una ricerca dei driver per GNU/Linux
Note: I file PPD sono ubicati in Template:Filename

Configurazione

Ora che CUPS è installato, ci sono una varietà di opzioni su come configurare le soluzioni di stampa. Come sempre, il collaudato metodo da riga di comando è a disposizione. Allo stesso modo, diversi ambienti desktop come GNOME e KDE dispongono di utilità che possono aiutare a gestire le stampanti. Tuttavia, al fine di rendere questo processo più facile per un più vasto numero di utenti, questo articolo si focalizzerà sul metodo dell'interfaccia web di CUPS.

Se si pianifica un collegamento ad una stampante di rete, piuttosto che un collegamento diretto al computer, si potrebbe leggere per prima la pagina CUPS printer sharing. La condivisione della stampante tra sistemi GNU/Linux è abbastanza semplice e prevede poche configurazioni, mentre la condivisione tra sistemi Windows e GNU/Linux richiede qualche sforzo in più.

Moduli del kernel

Prima di utilizzare l'interfaccia web di CUPS, si devono installare i moduli del kernel. Le seguenti operazioni sono tratte dalla documentazione di Gentoo.

Questa sezione può non essere necessaria a seconda del kernel utilizzato. Il modulo del kernel può essere caricato automaticamente dopo aver collegato la stampante. Utilizzare il comando tail (descritto più sotto) per vedere se la stampante è già stata rilevata. Anche l'utilità lsmod può essere utilizzata per vedere quali moduli sono stati caricati.

Stampanti USB

Per le stampanti USB potrebbe essere necessario mettere in blacklist il modulo usblp. Tenere presente che ci sembrano essere parecchi dubbi riguardo al mettere in blacklist usblp, come ad esempio per certe stampanti USB, incluse alcune serie Epson e Canon, che non vengono riconosciute senza il modulo. Diversi utenti hanno segnalato problemi con le stampanti Samsung utilizzando cups con il modulo usblp in blacklist: la soluzione è stata riattivare usblp ed installare cups-usblp da AUR invece del pacchetto cups normale (https://bbs.archlinux.org/viewtopic.php?pid=778104)

Per disabilitare il modulo:

Template:File

Per i kernel personalizzati, potrebbe essere necessario caricare manualmente il modulo usbcore prima di procedere:

# modprobe usbcore

Una volta che i moduli sono installati, collegare la stampante e controllare se il kernel li ha rilevati eseguendo il seguente:

# tail /var/log/messages.log

o

# dmesg

Se si sta utilizzando usblp, l'uscita dovrebbe indicare che la stampante è stata rilevata in questo modo:

Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver

Se si ha inserito usblp in blacklist, dovrebbe venir restituito un output simile a:

usb 3-2: new full speed USB device using uhci_hcd and address 3
usb 3-2: configuration #1 chosen from 1 choice

Stampanti con porta parallela

Per l'utilizzo delle stampanti con parallela porta, si noti che la configurazione è praticamente la stessa, fatta eccezione per i moduli:

# modprobe lp
# modprobe parport
# modprobe parport_pc

Ancora una volta, controllare l'installazione eseguendo:

# tail /var/log/messages.log

Si dovrebbe vedere qualcosa del genere:

lp0: using parport0 (polling).

Se si utilizza un adattatore USB per porta parallela, CUPS non sarà in grado di rilevare la stampante. Per risolvere il problema, aggiungere la stampante tramite un altro tipo di connessione e quindi modificare il DeviceID in Template:Filename:

DeviceID = parallel:/dev/usb/lp0

Avvio automatico

È conveniente che il sistema carichi automaticamente il modulo del kernel ogni volta che si avvia. Per fare ciò, utilizzare un editor di testo per aprire il file Template:Filename e aggiungere il modulo appropiato alla riga MODULES=() line. Ecco un esempio:

MODULES=(!usbserial scsi_mod sd_mod snd-ymfpci snd-pcm-oss lp parport parport_pc ide-scsi)

Demone CUPS

Con il modulo del kernel installato, il sistema è ora pronto per avviare il start the cupsd daemon. aggiungerlo al DAEMONS array per avviarlo automaticamente di CUPS ogni volta che viene acceso il sistema.

Interfaccia web e strumenti

Una volta avviato il demone, aprire un brower ed inserire nella barra dell'indirizzo: http://localhost:631 (Al posto di localhost può essere necessario inserire il nome host presente in Template:Filename.

A questo punto. seguire le varie procedure guidate per aggiungere la stampante. Una procedura consueta è quella di iniziare facendo click sul pulsante Aggiungere stampanti e classi e poi su Aggiungi Stampante. Quando vengono richieste le credenziali inserire quelle di root. Il nome assegnato alla stampante non è rilevante, come i campi "ubicazione"' e "descrizione". Successivamente si presenterà un elenco di stampanti tra cui scegliere. L'attuale nome della stampante sarà presente vicino all'etichetta (ad esempio USB Printer #1 per le stampanti USB). Infine selezionare il driver appropriato per completare la configurazione.

Ora, testare la configurazione premendo il menù a discesa Amministrazione e scegliere Stampa pagina di prova. Se non stampa e le configurazioni sono corrette, probabilmente il driver selezionato non è quello appropriato.

Tip: Vedere #Interfacce alternative per CUPS per altri tipi di interfaccia.
Note: Quando si configura una stampante USB, essa dovrebbe essere elncata nella pagina Aggiungi Stampante. Se è invece elencata solo una "Stampante SCSI", probabilmente CUPS ha fallito nel riconoscere la stampante.

Amministrazione di CUPS

Per poter amministrare le stampanti tramite l'interfaccia web è necessario fornire un nome utente e la password, ad esempio: per aggiungere o rimuovere stampanti, per interrompere i processi di stampa eccetera. L'utente di default è quello appartenente al gruppo sys oppure root (per cambiare il gruppo modificare Template:Filename alla riga SystemGroup).

Se l'utente root è stato bloccato, non sarà possibile accedere all'interfaccia di amministrazione con il proprio utente e password. In questo caso sarà necessario cambiare il valore di SystemGroup nel file Template:Filename e leggere questo post sul forum internazionale.

Accesso remoto all'interfaccia web

Di default, l'interfaccia web di configurazione di CUPS è accessibile solo da localhost; cioè dal computer su cui è installato. Per consentire l'accesso da remoto, sarà necessario effettuare le seguenti modifiche al file Template:Filename. Sostituire la seguente riga:

Listen localhost:631

con

port 631

così che CUPS stia in ascolto anche per le richieste esterne.

Ci sono tre livelli di accesso che possono essere garantiti:

<Location />            #accesso al server
<Location /admin>	#accesso alla pagina di amministrazione
<Location /admin/conf>	#accesso alla pagina di configurazione

Per concedere ad un host remoto di accedere ad uno di questi tre livelli si dovrà aggiungere una regola di Allow (concessione dell'accesso) per il relativo livello. Una regola di Allow può essere formulata in diversi modi, ad esempio:

Allow all
Allow host.domain.com
Allow *.domain.com
Allow ip-address
Allow ip-address/netmask

Possono essere usate le regole di accesso negato (Deny), se si intende dare agli host della rete 192.168.1.0/255.255.255.0 il pieno accesso, il file Template:Filename includerà le seguenti linee:

# Limita l'accesso al server....
# Il default permette solo a locahost di accedre
<Location />
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

# Limita l'accesso alla pagina di amministrazione...
<Location /admin>
   # La cifratura è disbilitata di default
   #Encryption Required
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

# Limita l'accesso alla pagina di configurazione...
<Location /admin/conf>
   AuthType Basic
   Require user @SYSTEM
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

Potrebbe anche essere necessario aggiungere:

DefaultEncryption Never

Questo dovrebbe evitare l'errore: 426 - L'aggiornamento è obbligatorio quando si utilizza l'interfaccia web di CUPS da una macchina remota.

Risoluzione dei Problemi

Il modo migliore per far funzionare la stampante consiste nell'impostare "LogLevel" in Template:Filename così:

LogLevel debug

E quindi controllare i dati dal file Template:Filename in questo modo:

# tail -n 100 -f /var/log/cups/error_log

I caratteri alla sinistra del risultato stanno per:

  • D=Debug
  • E=Errore
  • I=Informazioni
  • E così via

Questi file potrebbero anche dimostrarsi utili:

Naturalmente, è importante conoscere come funziona CUPS per far fronte ad eventuali problemi:

  1. Un'applicazione manda un file .ps (PostScript, un linguaggio script che indica come deve apparire la pagina) a CUPS quando l'opzione "stampa" viene selezionata (ciò avviene con la maggior parte dei programmi).
  2. CUPS quindi analizza il file PPD della stampante (file di descrizione della stampante) e trova i filtri necessari per convertire il file .ps nel linguaggio comprensibile alla stampante (come PJL, PCL), solitamente GhostScript.
  3. GhostScript riceve l'input e capisce quali filtri debba usare, quindi li applica e converte il file .ps nel formato compreso dalla stampante.
  4. Quindi manda un back-end. Ad esempio, se la stampante è connessa tramite porta USB, utilizza il back-end USB.

Si stampi un documento e si analizzi Template:Filename per avere un'immagine più dettagliate e corretta del processo di stampa.

Problemi legati all'aggiornamento

Problemi che appaiono dopo che i pacchetti CUPS e i relativi programmi vengono aggiornati ad una versione più recente

CUPS smette di funzionare

Il rischio è che un nuovo file di configurazione è necessario alla nuova versione in modo tale da farla funzionare correttamente. Messaggi come "404 - page not found" potrebbero apparire provando ad amministrare CUPS via localhost:631, ad esempio.

Per usare la nuova configurazione, copiare /etc/cups/cupsd.conf.default in /etc/cups/cupsd.conf (salvare la vecchia configurazione se necessario):

# cp /etc/cups/cupsd.conf.default /etc/cups/cupsd.conf

e si riavvii CUPS per abilitare le nuove configurazioni.

Errore con gnutls

Se si ricevono errori come:

/usr/sbin/cupsd: error while loading shared libraries: libgnutls.so.13: cannot open shared object file: No such file or directory

gnutls potrebbe aver bisogno di un aggiornamento:

# pacman -S gnutls

Dopo aver aggiornato, ci dovrebbe essere un file chiamato Template:Filename in Template:Filename. Questo è il file di configurazione originale non modificato creato dall'aggiornamento. Lo si confronti con quello attualmente installato e si modifichino le preferenze.

Tutti i lavori sono "fermati"

Se tutti i lavori inviati alla stampante risultano "stopped", si elimini la stampante e quindi la si riaggiunga. Si usi l'interfaccia web di CUPS, si vada in Stampante > Elimina Stampante.

Per controllare la configurazione della stampante di vada in Stampanti, quindi Modificare Stampante. Trascrivere le informazioni mostrate, selezionare 'Modificare Stampante' per procedere alle pagine successive, e così via.

Tutti i lavori convergono in un "The printer is not responding"

Sulle stampanti di rete si dovrebbe verificare che il nome che CUPS utilizza come URI di connessione si risolva in IP della stampante tramite DNS. Ad esempio, se la connessione della stampante si presenta così:

lpd://BRN_020554/BINARY_P1

l'hostname "BRN_020554" deve risolvere l'IP della stampante dal server che esegue CUPS

La versione PPD non è compatibile con gutenprint

Lanciare:

# /usr/sbin/cups-genppdupdate

e riavviare CUPS (come evidenziato dal messaggio post-installazione di guternprint)

Stampanti USB con CUPS 1.4.x

Il nuovo CUPS 1.4.x introduce molti cambiamenti:

File di configurazione

La sintassi del file di configurazione cupsd.conf è cambiate. Si parta da un nuovo file cupsd.conf basato su /etc/cups/cupsd.conf.default.

Mettere in blacklist usblp

CUPS ora usa libusb e i devices per le stampanti USB in /dev/bus/usb invece di quelli generati da usblp ( /dev/usb/lpX). Per far funzionare le stampanti USB, è necessario disabilitare il modulo usblp. Alcuni utenti hanno riferito la necessità di reinstallare la stampante.

Template:File

Permessi del device node

Oltre a non caricare usblp, CUPS necessita anche che la proprietà dei file della stampante USB siano root:lp, e i permessi siano settati a 660. Per esempio:

$ ls -l /dev/bus/usb/003/002
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002

Ciò si suppone venga fornito da due regole udev in /lib/udev/rules.d/50-udev-default.rules:

# hplip and cups 1.4+ use raw USB devices, so permissions should be similar to
# the ones from the old usblp kernel module
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}==":0701*:", GROUP="lp", MODE="660"

Comunque, per alcuni dispositivi, in particolare quelli che combinano stampante/scanner, queste regole o non vengono attivate, o sono sovrascritte dalle regole del pacchetto "sane". In questo caso deve essere aggiunta una regola particolare a udev. Si veda sotto.

Problemi con i permessi del device node

Si ottenga il file della stampante e i suoi permessi con:

$ lsusb
...
Bus 003 Device 002: ID 04b8:0841 Seiko Epson Corp.
$ ls -l /dev/bus/usb/003/002
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002

Se i permessi non sono già impostati a root:lp 660, si forzino creando una regola appropriata in udev, ad esempio:

cat /etc/udev/rules.d/10-usbprinter.rules
ATTR{idVendor}=="04b8", ATTR{idProduct}=="0841", MODE:="0660", GROUP:="lp"

Per i dispositivi multifunzione (stampante + scanner) sarà necessario renderli rilevabili anche a "sane"

cat /etc/udev/rules.d/10-usbprinter.rules
ATTR{idVendor}=="04b8", ATTR{idProduct}=="0841", MODE:="0660", GROUP:="lp", ENV{libsane_matched}:="yes"

Da notare che idVendor e idProduct sono ottenuti dal comando lsusb di prima. Da notare che alcune stampanti avranno bisogno di permessi 666.

Caricare il firmware

Alcuni dispositivi e driver hanno la necessità di caricare il firmware per la stampante (come ad esempio per le stampanti HP LaserJet 10xx usando foo2zjs) e di farlo scrivendo direttamente al dispositivo lp, una funzionalità fornita da usblp. Un modo per aggirare questo problema, aspettando venga corretto, è quello di installare il modulo usblp finché il firmware non venga caricato, e quindi rimuovere il modulo per permettere il corretto funzionamento di CUPS. Lo si può fare lanciando manualmente "$ modprobe usblp", quindi aspettare che il firmware venga caricato, e poi lanciare "$ rmmod usblp". Si può anche non mettere in blacklist usblp, aggiungendo "rmmod usblp" a /etc/rc.local, permettendo così al firmware di caricarsi durante il boot prima che rc.local venga avviato, rimuovere quindi usblp.

In caso la stampante sia già collegata e/o accesa quando il sistema è in esecuzione, /etc/rc.local non la può eseguire ed il modulo usblp rimane caricato. Una soluzione è modificare /etc/udev/rules.d/11-hpj10xx.rules fornito da foo2zjs in modo che dopo l'evento di aggiunta vengano attesi, ad esempio 15 secondi, per il firmware da caricare e per la rimozione automatica di usblp. L'esempio seguente è per il modello HP LaserJet 1018. Per qualsiasi altro, il valore ATTRS{idProduct} dovrebbe essere modificato di conseguenza.

Individuare la riga corrispondente alla stampante in /etc/udev/rules.d/11-hpj10xx.rules:

ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",     \
       ATTRS{idProduct}=="4117", RUN+="/sbin/foo2zjs-loadfw 1018 $tempnode"

Aggiungere le seguenti righe al di sotto, assicurandosi che corrispondano agli ID del prodotto e fornitore:

ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",     \
       ATTRS{idProduct}=="4117", RUN+="/usr/bin/sleep 15"
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",     \
       ATTRS{idProduct}=="4117", RUN+="/sbin/rmmod usblp"

Altro

Errori di permessi CUPS
  • Alcuni utenti risolvono errori del tipo 'NT_STATUS_ACCESS_DENIED' (client Windows) usando una sintassi leggermente diversa:
smb://workgroup/username:password@hostname/printer_name
  • Qualche volta, l'intero dispositivo ha permessi sbagliati:
# ls /dev/usb/
lp0
# chgrp lp /dev/usb/lp0

La stampante HPLIP invia come errore "/usr/lib/cups/backend/hp failed"

Assicurarsi d'aver installato dbus e di averlo avviato, ad esempio controllando la voce DAEMONS in Template:Filename o lanciando ls /var/run/daemons.

L'avahi-daemon potrebbe essere necessario se l'errore persiste e dbus è già in esecuzione.

hp-toolbox invia come errore, "Unable to communicate with device"

Se lanciando hp-toolbox come utente normale si ottiene:

# hp-toolbox
# error: Unable to communicate with device (code=12): hp:/usb/<printer id>

o, "Unable to communicate with device"", allora potrebbe essere necessario aggiungere l'utente al gruppo lp lanciando il seguente comando:

# gpasswd -a <username> lp

CUPS risponde '"foomatic-rip" not available/stopped with status 3' con una stampante HP

Se si riceve qualsiasi dei seguenti messaggi d'errore in Template:Filename durante l'utilizzo di una stampante HP, con i lavori che sembrano essere avviati mentre invece non vengo terminati e il loro stato è impostato a 'stopped':

Filter "foomatic-rip" for printer "<printer_name>" not available: No such file or director

o:

PID 5771 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!

assicurarsi che hplip sia stato installato, in aggiunta al pacchetto menzionato sopra, net-snmp è anche necessario. Si veda questo post nel forum internazionale.

# pacman -S hplip

La stampa fallisce segnalando errori di autorizzazione

Se l'utente è stato aggiunto al gruppo lp, e gli è permesso stampare (impostato in Template:Filename), allora il probema si trova nel file Template:Filename. Questa potrebbe essere la linea colpevole:

AuthInfoRequired negotiate

La si commenti e si riavvii CUPS.

Pulsante Stampa bloccato nelle applicazioni GNOME

Fonte (in inglese): Non posso stampare nelle applicazioni GNOME. - Arch Forums

Assicurarsi che il pacchetto libgnomeprint sia installato.

Modificare il file Template:Filename, aggiungendo

# HostNameLookups Double

Riavviare quindi CUPS:

# /etc/rc.d/cupsd restart

Formato supportato sconosciuto: application/postscript

Commentare le linee:

application/octet-stream        application/vnd.cups-raw        0      -

nel file Template:Filename, e:

application/octet-stream

in Template:Filename.

Trovare gli URI per i server di stampa Windows

Spesso Windows è poco intuitivo nella definizione esatta degli URI (la posizione dei dispositivi).Se si riscontrano problemi nello specificare la corretta posizione di un dispositivo in CUPS, eseguire il seguente comando per mostrare una lista di tutte le condivisioni disponibili per un dato utente di Windows:

$ smbtree -U utentewindows

Questo comando mostrerà ogni risorsa condivisa disponibile per il dato utente di Windows sulla rete LAN, dato come prerequisito che Samba sia installato e correttamente funzionante. L'output dovrebbe essere simile al qui proposto:

 WORKGROUP
	\\REGULATOR-PC   		
		\\REGULATOR-PC\Z              	
		\\REGULATOR-PC\Public         	
		\\REGULATOR-PC\print$         	Printer Drivers
		\\REGULATOR-PC\G              	
		\\REGULATOR-PC\EPSON Stylus CX8400 Series	EPSON Stylus CX8400 Series

Ciò di cui si ha bisogno nell'esempio è la prima parte dell'ultima riga, la risorsa che coincide con la descrizione della stampante. In questo caso, per mandare in stampa la EPSON Stylus, bisogna inserire come URI:

smb://username.password@REGULATOR-PC/EPSON Stylus CX8400 Series

in CUPS. Si noti che negli URI gli spazi bianchi sono permessi, mentre gli back-slash (\) vanno sostituiti con gli slash classici (/).

Errore di stampa client-error-document-format-not-supported

Provare a installare i pacchetti foomatic e utilizzare un driver foomatic.

Errore /usr/lib/cups/backend/hp

Modificare

 SystemGroup sys root

con

 SystemGroup lp root

in /etc/cups/cupsd.conf

Appendice

Interfacce alternative per CUPS

Se si utilizza GNOME, una possibilità è di gestire e configurare le stmapanti usando system-config-printer-gnome. Questo pacchetto è disponibile per l'installazione tramite pacman:

# pacman -S system-config-printer-gnome

Per rendere system-config-printer realmente funzionante, può rendersi necessario eseguirlo come root (sfruttando sudo o gksu), o in alternativa impostare i permessi per lasciar controllare CUPS ad un normale utente. Se si vuol affontare questa seconda scelta, seguire i passaggi 1-3:

  • 1. Creare il gruppo, quindi aggiungere l'utente desiderato:
# groupadd lpadmin
# usermod -aG lpadmin <username>
  • 2. Aggiungere "lpadmin" (senza le virgolette) a questa linea nel file Template:Filename
SystemGroup sys root <inserire qui>
  • 3. Riavviare CUPS, effettuare il logout, quindi nuovamente il login (o, in alternativa, riavviare il computer)

Template:Cli

Gli utenti KDE possono gestire le stampanti nel Centro di Controllo. Entrambi gli utenti (GNOME o KDE), dovrebbero riferirsi alla documentazione dei rispettivi Desktop Environment per maggiori informazioni su come gestire l'interfaccia.

Un'altra interfaccia utile è gtklp disponibile su AUR

Stampante virtuale PDF

CUPS-PDF è un pacchetto interessante, che permette all'utente di impostare una stampante virtuale, la quale genera PDF da qualsiasi dato le venga inviato. Ovviamente questo pacchetto non è strettamente necessario, ma può rivelarsi discretamente utile.

I documenti PDF generati si vanno ad allocare in una sottocartella di /var/spool/cups-pdf. Generalmente, la sottocartella porta il nome dell'utente che ha richiesto la creazione dei documenti contenuti. Un piccolo trucco per trovare i documenti stampati in formato PDF con più facilità: Modificare /etc/cups/cups-pdf.conf cambiando la riga

#Out /var/spool/cups-pdf/${USER}

a

Out /home/${USER}

Questo pacchetto può facilmente essere installato tramite pacman:

# pacman -S cups-pdf

Dopo aver installato il pacchetto, impostare il generatore di PDF come si imposterebbe qualsiasi altra stampante, tramite l'interfaccia web di CUPS. Come dispositivo, selezionare CUPS-PDF (Virtual PDF Printer); Produttore, selezionare Generic; Modello/Driver, selezionare Generic postscript color printer o Generic Cups-PDF Printer. In alternativa, recuperare il file PPD da qui.

Stampare su Postscript: un trucco per CUPS-PDF

Generare documenti PDF in applicazioni come OpenOffice è un'operazione molto semplice; spesso basta premere un pulsante. Diversamente, generare file Postscript da un documento può richiedere qualche attenzione in più. Per applicazioni come OpenOffice, nelle quali stampare con kprinter è un vero problema, esiste una valida via di fuga. CUPS-PDF (stampante virtuale di PDF) crea, nel suo processo di elaborazione, un file Postscript che viene poi convertito nel PDF richiesto alla stampa. Per generare un file Postscript attraverso CUPS-PDF, ciò di cui si ha bisogno è di catturare il file Postscript intermedio creato da CUPS-PDF. Questo risultato può essere facilmente raggiunto selezionando l'opzione "Stampa su file" nella finestra di stampa. Dopo aver selezionato "Stampa su file", scegliere il nome del file, la sua estensione, quindi cliccare su Stampa.

Configurare la stampante virtuale CUPS-PDF
  1. Configurare il demone cups seguendo le istruzioni presenti in questa pagina.
  2. Installare Template:Package Official da [extra].
  3. Accedere al manager delle stampanti CUPS: http://localhost:631 e selezionare:
Amministrazione -> Aggiungi Stampante

Selezionare CUPS-PDF (Virtual PDF), scegliere qui il produttore e il driver:

Produttore:    Generic
Driver:        Generic CUPS-PDF Printer

Ora, per stampare su un file Postscript, basta seguire la procedura classica, scegliendo nella finestra di stampa "CUPS-PDF" come stampante, quindi selezionare "Stampa su file", premere Stampa, inserire il nome del file da generare (con estensione .ps) e fare clic su Salva. Questa procedura è utile per fax, stampe da ufficio, ecc...

Un'altra risorsa per driver di stampanti

Turboprint (in inglese) è un driver proprietario per molte stampanti non ancora supportate in GNU/Linux (le Canon i*, per esempio). A differenza di CUPS, comunque, le stampe ad alta qualità vengono spesso segnate da un marchio o sono solo a pagamento.

Risorse