prof. Nunzio Brugaletta

atapSO

EnneBi – Computer Science
AvantiIndietroInizio




CUPS: le code di stampa in ambiente Linux

Le stampe in un sistema Linux sono gestite dal sistema CUPS (Common Unix Printing System). Si tratta di un sistema che funziona in accordo col modello client/server: si configura la stampante e si associa una coda di stampa, il server di stampa gestirà le richieste dei client.

Si può interagire con CUPS per mezzo di una interfaccia web o direttamente utilizzando il prompt dei comandi.

aggiungi stampante

CUPS mette a disposizione una comoda interfaccia web (collegandosi all'URL http://localhost:631) per l'amministrazione del server. Esistono anche browser testuali (per esempio links2) che non necessitano di un server grafico installato e che possono essere utilizzati per navigare fra le pagine di gestione di CUPS.

Per mezzo dell'interfaccia web si possono definire le code di stampa, gestire i job di stampa, modificare le caratteristiche delle stampanti installate. Da Administration, per esempio, si possono gestire le stampe o installare una nuova stampante.

Utilizzando l'interfaccia web di CUPS si può configurare facilmente il server in modo da risolvere un problema comune in un ambiente in cui esiste una rete: la condivisione di una stampante. L'ipotesi che si sta facendo riguarda una stampante collegata ad un computer della rete perché se la stampante fosse una stampante di rete il problema sarebbe già risolto: sarebbe dotata di un indirizzo IP che la identificherebbe all'interno della rete e quindi sarebbe accessibile quanto qualsiasi altro dispositivo presente nella rete stessa.

La stampante collegata ad un computer offre il vantaggio di un minore prezzo rispetto a una stampante di rete. Lo svantaggio è costituito dal fatto che è gestita dal server che gira nel computer a cui è collegata e quindi, per esempio, non è disponibile se il computer è spento.

condividere stampante


Per condividere la stampante, dopo aver installata la stampante stessa nel computer cui è collegata, basta: dall'interfaccia di gestione scegliere il link Administration, selezionare Condividi stampanti connesse al sistema da Impostazione server. Negli altri computer della rete selezionare invece Mostra stampanti condivise da altri sistemi.

Dalla riga di comando sono disponibili una serie di comandi per la gestione delle code di stampa:

$ lpstat -p -d
la stampante DESKJET_840C è in attesa.  Abilitata da gio 25 set 2008 17:51:12 CEST 
la stampante Generic-CUPS-PDF-Printer è in attesa.  Abilitata da ven 06 mag 2011 22:15:32 CEST 
la stampante ML-2510_Series è in attesa.  Abilitata da sab 15 ott 2011 08:27:05 CEST 
destinazione predefinita di sistema: Generic-CUPS-PDF-Printer

Innanzi tutto il comando lpstat (Line Printer STATus) con i parametri -p (printers) e -d (default) restituisce un elenco delle code di stampa definite e mostra la coda di destinazione di default.

$ cupsdisable Generic-CUPS-PDF-Printer
$ lpstat -p -d 
la stampante DESKJET_840C è in attesa. Abilitata da gio 25 set 2008 17:51:12 CEST
la stampante Generic-CUPS-PDF-Printer è disabilitata da gio 26 gen 2012 17:48:54 CET -
Paused
la stampante ML-2510_Series è in attesa. Abilitata da sab 15 ott 2011 08:27:05 CEST
destinazione predefinita di sistema: Generic-CUPS-PDF-Printer

Si disabilita la coda di stampa per evitare che la stampa dei file venga avviata immediatamente. Tutto ciò per avere la possibilità di osservare come cambia la coda di stampa e gestirla.

$ lpr prova1
$ lpr prova2
$ lpq
Generic-CUPS-PDF-Printer non è pronta 
Posiz.  Proprietario   Stampa   Doc.             Dim. totali 
1st     tux  862     prova1                          1024 byte 
2nd     tux  863     prova2                          1024 byte 

Si inviano alla coda di stampa di default due file (utilizzando il comando lpr) e, successivamente, si effettua una interrogazione della coda di stampa (lpq – Line Printer Queue). In questo caso i due job di stampa hanno codice identificativo 862 e 863.

Se si voleva utilizzare una destinazione non di default, era necessario specificarla nella riga di comando (lpr -P nomecoda ....).

$ lprm 862
$ lprm 863
$ lpq
Generic-CUPS-PDF-Printer non è pronta 
nessuna voce

lprm (Line Printer ReMove) seguito dal numero del job di stampa, elimina il job dalla coda. Una successiva interrogazione alla coda di stampa evidenzia che la coda stessa risulta vuota.

$ cupsenable Generic-CUPS-PDF-Printer
$ lpstat -p -d 
la stampante DESKJET_840C è in attesa.  Abilitata da gio 25 set 2008 17:51:12 CEST 
la stampante Generic-CUPS-PDF-Printer è in attesa.  Abilitata da gio 26 gen 2012 17:58:56 CET 
la stampante ML-2510_Series è in attesa.  Abilitata da sab 15 ott 2011 08:27:05 CEST 
destinazione predefinita di sistema: Generic-CUPS-PDF-Printer

La riabilitazione della coda di stampa (da questo momento riprende la stampa fisica dei job della coda) viene ordinata con cupsenable.




AvantiIndietro - Inizio

http://ennebi.solira.org

ennebi@solira.org