CUPS (Italiano)
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.
Cups Linux Printing workflow
Dalla versione 1.5.3-3 di cups, Arch Linux fa uso del nuovo sistema di stampa completamente pdf-based. Per ulteriori informazioni leggere PDF standard printing job format e Cups filtering chart. Un ottimo punto di partenza per capire meglio come viene gestito l'intero processo di stampa è questo articolo.
Ci sono due modi per configurare una stampante:
- Se nella propria rete è presente un server linux per la stampa che condivide una stampante, sarà necessario installare solo il client.
- Se la stampante è collegata direttamente al proprio sistema, o si ha accesso IPP alla stampante, sarà necessario installare un server cups localmente.
Installare il client
libcups è il solo pacchetto necessario ed è possibile installarlo con pacman.
Aggiungere ora l'IP del server o l'hostname nel file /etc/cups/client.conf
. Finito! Ora ogni applicazione rileverà la stampante condivisa correttamente.
Configurazione avanzata della rete
È possibile lanciare l'istanza cupsd+cups-browserd sul proprio client con l'aiuto di Avahi per rintracciare l'IP della stampante. Tale operazione non ha senso che venga svolta su una rete domestica dove si presuppone si conosca a priori la posizione della stampante. Può invece essere molto utile in caso di grandi reti lan, dove IP e hostname della stampante sono ignoti.
Installare il server
Sono richiesti i seguenti pacchetti che sono tutti installabili dai repositories ufficiali.
- cups - Il software CUPS vero e proprio (demone)
- ghostscript - L'interprete per il linguaggio PostScript
- gsfonts - I font standard GhostScript Type1
Per poter usare le stampanti in rete è necessario installare avahi. Assicurarsi che avahi-demon prima di cupsd.
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.
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 cups-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!".
- foo2zjsAUR[broken link: package not found]- Driver per il protocollo Zjstreame usato dalle stampanti come la HP Laserjet 1018. Per maggiori informazioni visitare questo sito[link interrotto 2021-11-07]. Foo2zsj è installabile da AUR.
- hplip - Driver GNU/Linux per HP inkjet. Fornisce supporto per le serie DeskJet, OfficeJet, Photosmart, Business Inkjet, alcuni modelli LaserJet e alcune Brother.
- splix - Driver Samsung per stampanti SPL (Samsung Printer Language).
- samsung-unified-driverAUR - Pacchetto unico per le nuove stampanti Samsung. Tale pacchetto è disponibile su AUR.
- hpojAUR - Se si utilizza una HP Officejet, si dovrebbe installare anche questo pacchetto e seguire le istruzioni per evitare problemi. Leggere questo thread su launchpad/hplip per maggiori informazioni.
- ufr2AUR[broken link: package not found] or cndrvcups-lbAUR - Driver Canon UFR2 con supporto per le stampanti serie LBP, iR e MF. I pacchetti sono disponibili 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.
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 database OpenPrinting e selezionare il produttore e il modello della stampante
- visitare il sito del produttore per effettuare una ricerca dei driver per GNU/Linux
/usr/share/cups/model/
Un'altra risorsa per i driver
Turboprint è una raccolta di driver proprietari per stampanti che normalmente non avrebbero alcun supporto su GNU/Linux (Canon i*, per esempio). Sfortunatamente CUPS, magari, "marchia" con il logo di Turboprint le stampe ad alta qualità agli utenti che non hanno pagato i driver.
Configurazione e supporto hardware
Si può avere accesso alle stampanti USB in due modi : il modulo del kernel usbpl
e lilusb
. Il primo è il metodo classico ed è il più semplice. I dati vengono inviati alla stampante tramite un semplice stream di dati seriali. Lo stesso file ha un accesso "bidirezionale", in modo da consentire di vedere il livello di inchiostro, lo status della stampante ecc. Questo metodo funziona molto bene per le stampanti semplici, non son però supportate stampanti multifunzione, inoltre, alcuni produttori come ad esempio HP forniscono i loro backend. (Per maggiori informazioni cosultare: questo sito).
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
Dalla versione 1.6.0 di cups, non dovrebbe più essere necessario blacklistare usblp
. Se si dovesse notare che mettere in blacklist tale modulo fosse l'unica soluzione ad un problema, si prega di riportare un bug all'upstream di Cups. Vedere questo bug per maggiori informazioni.
Alcuni utenti, potrebbero comunque ancora voler mettere in blacklist il modulo usblp
:
/etc/modprobe.d/blacklist.conf
blacklist usblp
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
Auto-loading
Per caricare automaticamente al boot i moduli necessari creare il file /etc/modules-load.d/printing.conf
che contenga:
lp parport parport_pc
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 /etc/cups/printers.conf
:
DeviceID = parallel:/dev/usb/lp0
Stampanti HP
Le stampanti HP possono essere settate su Linux tramtite un proprio tool. (Sono necessari python-qt2
pygobject
).
Se si vuole usare il front-end in QT lanciare in un terminale:
# hp-setup -u
Se si vuole usare il front-end CLI lanciare in un terminale:
# hp-setup -i
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ù.
Avviare CUPS al boot
org.cups.cupsd.socket
.
Dopo aver installato cups, basterà abilitare e lanciare il servizio come qualsiasi demone gestito da systemd.
Se passate da una versione precedente, ricordatevi di disabilitare il servizio cups, per non lasciare link morti nell'alberatura di systemd.L'integrazione con Avahi per il discover delle stampanti in lan è ora gestito come servizio separato, e può essere avviato ed abilitato utilizzando il nome del servizio: cups-browsed.service
.
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 /etc/hostname
.
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.
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 /etc/cups/cupsd.conf
alla riga SystemGroup).
Se l'utente root è stato bloccato (per esempio se si usa solo sudo
), non sarà possibile accedere all'interfaccia di amministrazione con il proprio utente e password. In questo caso seguire quanto descritto nelle faq[link interrotto 2021-11-07] di CUPS 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 /etc/cups/cupsd.conf
. 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 /etc/cups/cupsd.conf
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.
Configurazione CLI
CUPS può essere interamente controllato via riga di comando.
Su Arch Linux, le più comuni shell permettono l'autocompletamento. Notare però che gli switches non possono essere raggruppati.
- Lista dei devices
# lpinfo -v
- Lista dei driver
# lpinfo -m
- Aggiungere una nuova stampante
# lpadmin -p <printer> -E -v <device> -P <ppd>
<printer> è il nome e lo sceglie l'utente. <device> lo si trova con il comando 'lpinfo -i'. Esempio:
# lpadmin -p HP_DESKJET_940C -E -v "usb://HP/DESKJET%20940C?serial=CN16E6C364BH" -P /usr/share/ppd/HP/hp-deskjet_940c.ppd.gz
Nell'esempio seguente, <printer> è il nome scelto in precedenza.
- Imposta <printer> come predefinita
$ lpoptions -d <printer>
- Controlla lo status della stampante
$ lpstat -s $ lpstat -p <printer>
- Disatttiva una stampante
# cupsdisable <printer>
- Attiva una stampante
# cupsenable <printer>
- Rimuove una stampante
Rigetta ogni nuova richiesta di lavoro:
# cupsreject <printer>
Disabilita la stampante:
# cupsdisable <printer>
Rimuove la stampante:
# lpadmin -x <printer>
- Stampa un file
$ lpr <file> $ lpr -# 17 <file> # stampa il file 17 volte $ echo "Hello, world!" | lpr -p # stampa l'output del comando. Lo switch -p aggiunge l'header.
- Controlla la coda di stampa
$ lpq $ lpq -a # on all printers
- Cancella la coda di stampa
# lprm # remove last entry only # lprm - # remove all entries
Interfaccia CUPS di GNOME
Se si utilizza GNOME, una possibilità è di gestire e configurare le stampanti installando il pacchetto system-config-printer.
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
/etc/cups/cupsd.conf
SystemGroup sys root <inserire qui>
- 3. Riavviare CUPS, effettuare il logout, quindi nuovamente il login (o, in alternativa, riavviare il computer)
# systemctl restart cupsd
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 è gtklpAUR 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.
Dopo l'installazione settare la stampante dalla web interface di cups: http://localhost:631/ e selezionare:
Administration -> Add Printer Select CUPS-PDF (Virtual PDF), choose for the make and driver: Make: Generic Driver: Generic CUPS-PDF Printer
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}
Stampare su Postscript
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". Questa procedura è utile per fax, stampe da ufficio, ecc...
Risoluzione dei Problemi
Il modo migliore per far funzionare la stampante consiste nell'impostare "LogLevel" in /etc/cups/cupsd.conf
così:
LogLevel debug
E quindi controllare i dati dal file /var/log/cups/error_log
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:
-
/var/log/cups/page_log
- Riproduce un nuovo appunto ogni volta che la stampa avviene correttamente -
/var/log/cups/access_log
- Elenca tutta l'attività del server cupsd http1.1
Naturalmente, è importante conoscere come funziona CUPS per far fronte ad eventuali problemi:
- 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).
- 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.
- GhostScript riceve l'input e capisce quali filtri debba usare, quindi li applica e converte il file .ps nel formato compreso dalla stampante.
- 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 error_log
per avere un'immagine più dettagliate e corretta del processo di stampa.
Impossibile aggiungere la stampante o messaggio "stampa in elaborazione" ma non succede nulla
Nelle impostazioni della stampante di GNOME, per esempio, potreste avere problemi ad aggiungere la vostra stampante, anche se avete installato i driver. Puoi provare a installare system-config-printer ed eseguirlo via terminale, e aggiungere la stampante da lì (per esempio usando la coda LPD/LPR 'PASSTHRU').
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
Potrebbe succedere che a seguito di un aggiornamento ci siano dei cambiamenti nei file di congifurazione. 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) e riavviare CUPS per abilitare le nuove configurazioni.
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)
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. Se ci fossero ancora problemi, avviare il service di avahi-daemons.
Provare ad aggiungere la stampante come Stampante di Rete (Network Printer) usando il protocollo http://. Generare l'URI della stampante con hp-makeuri
.
HPLIP tutti i lavori vengono segnati come ultimati ma non si è riusciti a stampare niente
Questo succede su stampanti HP quando viene selezionato il vecchio driver hpijs
(ad esempio per le stampati della serie Deskjet D1600). Quindi, quando si aggiunge una stampante, selezionare il driver hpcups
.
Alcune stampanti, come le HP Laserjet, richiedono che il proprio firmware venga scaricato ad ogni accensione. Esiste un workaround, lanciare il comando:
# hp-firmware -n
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.
Questo può tornare utile anche per stampanti come la P1102 che fornisce un virtual cd-rom con i driver per MS-Windows. Il device compare e scompare. In questo caso provare i pacchetti da AUR usb-modeswitchAUR[broken link: package not found] and usb-modeswitch-dataAUR[broken link: package not found], che permettono uno "switch off" di "Smart Drive" (la regola di udev inclusa in questi pacchetti).
Questo potrebbe succedere anche se il demone avahi-daemon non è avviato.
CUPS risponde '"foomatic-rip" not available/stopped with status 3' con una stampante HP
Se si riceve qualsiasi dei seguenti messaggi d'errore in /var/log/cups/error_log
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[broken link: invalid section], net-snmp è anche necessario. Si veda questo post nel forum internazionale.
La stampa fallisce segnalando errori di autorizzazione
Se l'utente è stato aggiunto al gruppo lp, e gli è permesso stampare (impostato in cupsd.conf
), allora il probema si trova nel file /etc/cups/printers.conf
. 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 libgnomeprintAUR sia installato.
Modificare il file /etc/cups/cupsd.conf
, aggiungendo
# HostNameLookups Double
Riavviare quindi CUPS:
# systemctl restart cupsd
Formato supportato sconosciuto: application/postscript
Commentare le linee:
application/octet-stream application/vnd.cups-raw 0 -
nel file /etc/cups/mime.convs
, e:
application/octet-stream
in /etc/cups/mime.types
.
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 (/).
Nel caso in cui ci siano dei problemi provare a sostituire gli spazi con %20
.
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
"Unable to get list of printer drivers"
Provare a riumuovere i driver Footmatic.
lp: Error - Scheduler Not Responding
Se si riceve questo errore durante la stampa di un documento, provare con questo comando:
$ lp document-to-print
Provare a settare la variabile d'ambiente CUPS_SERVER:
$ export CUPS_SERVER=localhost
Se quest'ultimo passaggio funziona, è possibile rendere permanente tale modifica aggiungendo la linea export CUPS_SERVER=localhost
nel file ~/.bash_profile
o nel relativo file della propria shell, come ad esempio ~/.zprofile
e si usa Zsh.
CUPS stampa una pagina vuota e una di errore con HP Laserjet
Questo è un bug conosciuto di cups. La prima pagina risulta essere bianca, la seconda riporta:
ERROR: invalidaccess OFFENDING COMMAND: filter STACK: /SubFileDecode endstream ...
Per risolvere dare questo comando da root:
# lpadmin -p <printer> -o pdftops-renderer-default=pdftops
Errore: "Using invalid Host"
Aggiungere ServerAlias*
in cupsd.conf
.
La stampante non lavora e restituisce come errore "Filter Failed" sull'interfaccia web di CUPS
Cambiare permessi sulla porta USB: Cercare bus e device number con lsusb e dare un:
# chmod 0666 /dev/bus/usb/<bus number>/<device number>
La stampante non viene riconosciuta da cups
Se la propria stampante non viene riconosciuta da CUPS (ovvero non è presente nella lista che si ha cliccando sul pulsante "Add Printers" dell'interfaccia web di CUPS), provare questo metodo (suggerito sul forum internazionale):
- Fermare cups
- Creare questa regola di udev:
/etc/udev/rules.d/10-cups_device_link.rules
che contenga:
KERNEL=="lp[0-9]", SYMLINK+="%k", GROUP="lp"}}
- Scollegare e ricollegare la stampante.
- Riavviare cups.