Comandi per operare sulle code di stampa Linux

()

I comandi per operare sulle code di stampa nei sistemi Linux moderni sono forniti dal pacchetto del server di posta CUPS. CUPS fornisce un set di comandi retro compatibili al precedente gestore della posta Linux, LPD: questo significa che il nome degli stessi è stato mantenuto identico in modo da favorire l’integrazione di CUPS con i programmi che fanno riferimento a comandi di sistema come lpstat, lpq e così via.
Sebbene CUPS di default renda disponibile un’interfaccia web alla porta 631, alla quale si può accedere con il proprio browser, molte volte potrebbe essere necessario utilizzare la linea di comando per operare sulle code di stampa. I comandi che consentono tali operazioni si dividono in comandi che richiedono i permessi dell’utente root ed in comandi utilizzabili da utenti non privilegiati.

Informazioni sulle stampanti (utente root)

lpstat

Capire quali sono le code configurate all’interno del sistema è il primo passo per iniziare ad operare all’interno delle stesse.
Il comando lpstat consente di visualizzare diverse informazioni sulle stampanti installate all’interno del sistema, ad esempio attraverso l’opzione “-p” il comando restituisce l’elenco delle stampanti:

# lpstat -p
la stampante Brother-HL-4040CN è in attesa. Abilitata da gio 19 nov 2009 18:23:32 CET
la stampante HPDeskJet9300 è in attesa. Abilitata da sab 21 nov 2009 18:15:58 CET
la stampante PDF è in attesa. Abilitata da gio 19 nov 2009 17:29:14 CET
Un diverso elenco, contenente i riferimenti delle stampanti (socket, path remoti, etc.) è ottenibile attraverso l’opzione “-v”:

# lpstat -v
dispositivo per Brother-HL-4040CN: socket://192.168.1.13
dispositivo per HPDeskJet9300: smb://RASCA/RASCABOX/HPDeskjet9300
dispositivo per PDF: cups-pdf:/
E’ possibile inoltre identificare la coda di default verso cui vengono diretti i lavori in stampa (opzione “-d”):

# lpstat -d
destinazione predefinita di sistema: PDF
Tutte le informazioni illustrate sono ottenibili in un unico contatto attraverso l’opzione “-t”, mentre, lanciato senza argomenti, il comando restituisce l’elenco dei lavori in coda, ottenibile anche con i comandi illustrati di seguito.

Gestire la coda (utente root)

lpq

E’ possibile ottenere l’elenco dei lavori accodati nella stampante di default o di una specifica attraverso il comando lpq:

# lpq

Posiz. Proprietario Stampa Doc. Dim. totali
1st rasca 298 Command-Line Printing and Optio 396288 byte
Nel caso si volessero conoscere i dettagli della coda relativa ad una stampante specifica, questa va specificata con l’opzione “-P”:

# lpq -P HPDeskJet9300
HPDeskJet9300 è pronta
nessuna voce
lprm

Per operare sulle code, rimuovendo lavori di cui si conosce l’identificativo (ottenuto attraverso lpq), è possibile utilizzare il comando lprm, indicando con l’opzione “-P” l’accoppiata coda/identificativo:

# lprm -P PDF/298
Inviare stampe (utente non privilegiato)

lpr

Se un utente comune volesse lanciare delle stampe da linea di comando, cosa molto utile in caso di lavori di sistema notturni, notifiche di problemi (o qualsiasi altro motivo per cui sia sensato utilizzare della carta!), il comando da utilizzare è lpr che stampa il contenuto di un file di testo passato come parametro:

$ lpr testfile
pr e fmt

lpr può essere utilizzato anche per dirigere l’output di un comando alla stampante. Ad esempio, utilizzando i comandi pr o fmt che formattano un file di testo per la stampa è possibile passare attraverso una pipe ad lpr la stampa da effettuare:

$ pr -a testfile | lpr
oppure

$ pr -a testfile | lpr
mpage

Lo stesso discorso si applica al comando mpage che consente di operare con maggior dettaglio sul formato di stampa. Lanciato senza argomenti, mpage produrrà una pagina divisa in quattro contenente il testo all’interno del file passato come parametro. Attraverso l’opzione “-b” è poi possibile specificare il formato della carta che verrà utilizzato dalla stampante (di default A4). Per conoscere i formati supportati è possibile utilizzare il parametro “-b” con l’aggiunta di un punto interrogativo:

$ mpage -b?
Mpage knows about the following paper types:
Type Points Wide Points High
————– ———– ———–
Letter 612 792
LetterSmall 612 792
Tabloid 792 1224
Ledger 1224 792
Legal 612 1008
Statement 396 612
Executive 540 720
A0 2384 3368
A1 1684 2384
A2 1192 1684
A3 842 1192
A4 596 842
A4Small 595 842
A5 420 595
B4 729 1032
B5 516 729
Folio 612 936
Quarto 610 780
10×14 720 1008
Oltre all’utilizzo attraverso una pipe, mpage supporta anche la stampa diretta di file (anche in formato postscript), così come funziona lpr:

$ mpage -PPDF testfile
Numerose sono le opzioni disponibili per il comando mpage e sono tutte documentate nella man page del programma.

Conclusioni

Questa breve carrellata di comandi presenta alcune utili informazioni che potrebbero risultare vitali in situazioni (volute o meno) in cui non sia disponibile altro accesso al sistema che quello della linea di comando.

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?