CUPS sta per Common UNIX Printing System.
lpadmin è uno strumento a riga di comando utilizzato per configurare la stampante e le code di classe fornito da CUPS.
Un sistema che esegue CUPS è un host che può accettare lavori di stampa dai computer client, elaborarli e inviarli alla stampante appropriata. Può essere utilizzato anche per impostare la stampante o la classe predefinita del server.
Questo tutorial spiega come aggiungere una nuova stampante, configurare le opzioni della stampante e gestire le stampanti in ambiente Linux utilizzando esempi di comandi lpadmin.
1. Aggiunta di una nuova stampante
Per aggiungere una nuova stampante di rete con il nome "HPLaserJetP3015" utilizzare il comando lpadmin con l'opzione -p come mostrato di seguito:
# lpadmin -p HPLaserJetP3015 -v socket://19.86.82.172 -P /usr/share/cups/model/HP/LaserJet_P3005-Postscript.ppd # lpstat -v device for HPLaserJetP3015: socket://19.86.82.172
Per verificare se la stampante è attualmente configurata, puoi utilizzare il comando come mostrato nell'esempio seguente:
# lpstat -p HPLaserJetP3015 -l printer HPLaserJetP3015 is idle. enabled since Sun Jan 11 16:11:41 2015
2. PPD e file di registro
Nell'esempio precedente, i file PPD (noti anche come PostScript Printer Description) vengono creati dai fornitori per descrivere l'intero set di funzioni e capacità disponibili per le loro stampanti PostScript e di solito si trovano nella directory /usr/share/cups/model/ .
In caso di problemi con la configurazione della stampante, verificare i registri nella posizione seguente per eventuali messaggi di errore. Questa posizione può cambiare a seconda della diversa distribuzione di Linux.
# ls -l /var/log/cups/* -rw-r--r-- 1 root lp 6851 Jan 11 16:19 /var/log/cups/access_log -rw-r--r-- 1 root lp 13207 Jan 11 16:19 /var/log/cups/error_log
3. Configura stampante su porta parallela
Per configurare la stampante sulla porta parallela (/dev/lp0), utilizzare il comando lpadmin come mostrato in questo esempio:
# lpadmin -p HPDESKJET882 -v parallel:/dev/lp0 -m /usr/share/cups/model/HP/DeskJet_882C-cdj880.ppd
4. Visualizza tutte le porte disponibili per la configurazione della stampante
Inoltre, per elencare tutte le porte disponibili o le interfacce disponibili per configurare la stampante, è possibile visualizzare utilizzando il comando lpinfo,
# lpinfo -v network socket direct hp network http network ipp network lpd direct parallel:/dev/lp0 direct scsi network tpvmgp network tpvmlp network smb
5. Classi di stampanti multiple
CUPS verifica sempre la disponibilità di una stampante nell'ordine in cui le stampanti sono state aggiunte a una classe.
Puoi aggiungere 1 o più stampanti a una classe e quando una delle stampanti non è disponibile, l'altra stampante definita nella classe gestisce le richieste del lavoro di stampa.
Non è obbligatorio aggiungere stampanti nelle classi. Una classe stampante può essere essa stessa membro di altre classi, quindi è possibile definire classi stampante per un'elevata disponibilità per la stampa.
Dopo aver configurato la classe stampante, puoi stampare sulla classe stampante nello stesso modo in cui punti a una singola stampante.
Ad esempio, se si dispone di 2 stampanti Laserjet e 2 stampanti deskjet. puoi creare una classe nota come "Class-Laserjet" composta da 2 stampanti Laserjet e creare un'altra classe nota come stampanti "Class-Deskjet" e quindi creare un'altra classe contenente queste 2 classi.
In questo modo, anche se entrambe le stampanti laserjet o deskjet si disattivano, l'altra classe esegue i lavori di stampa.
6. Aggiungi stampante a una classe
Per aggiungere una stampante alla classe, usa il comando seguente.
# lpadmin -h localhost -p HPLaserJetP3015 -c myclass
Per verificare se le stampanti sono nella classe stampante:
# lpstat -c myclass members of class myclass: HPLaserJetP3015
7. Rimuovere la stampante da una classe
Per rimuovere una stampante dalla classe puoi usare il comando lpadmin come mostrato nell'esempio seguente:
in questo esempio, myclass ha due stampanti:
# lpstat -c myclass members of class myclass: HPLaserJetP3015 HPDESKJET882
Rimuovere la stampante HPDESKJET882 da myclass come mostrato di seguito:
# lpadmin -p HPDESKJET882 -r myclass
Una volta rimossa, vedrai solo la stampante HP Laser Jet:
# lpstat -c myclass members of class myclass: HPLaserJetP3015
8. Rimuovere un'intera classe di stampanti
Usando l'opzione -x, puoi rimuovere la classe. come mostrato di seguito.
# lpstat -c myclass members of class myclass: HPLaserJetP3015 # lpadmin -x myclass # lpstat -c myclass lpstat: Unknown destination "myclass"!
Tieni presente che la configurazione della stampante esiste ancora anche se hai rimosso la classe.
9. Modifica opzione di stampa
Per modificare le opzioni di stampa per la stampante, puoi eseguire i comandi seguenti.
Elenca tutte le opzioni disponibili per la stampante usando il comando lpoptions come mostrato di seguito.
In questo esempio, vedrai che tutte le opzioni attivate sono precedute dal simbolo dell'asterisco. Se non è presente un asterisco, utilizza le impostazioni predefinite.
# lpoptions -p HPLaserJetP3015 -l PageSize/Page Size: *A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 EnvMonarch Executive Legal PageRegion/PageRegion: A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 EnvMonarch Executive Legal Resolution/Resolution: 150x150dpi 300x300dpi *600x600dpi 1200x1200dpi InputSlot/Media Source: *Default Tray1 Tray2 Tray3 Manual Duplex/Double-Sided Printing: DuplexNoTumble DuplexTumble *None
10. Modifica la risoluzione della stampante
Per modificare la risoluzione della stampante a 300x300 dpi, puoi utilizzare il comando lpadmin come mostrato di seguito:
# lpadmin -p HPLaserJetP3015 -o Resolution=300x300dpi # lpoptions -p HPLaserJetP3015 -l
Ecco le altre opzioni che puoi impostare per qualsiasi stampante usando lpadmin con l'opzione –o come descritto nell'esempio precedente,
- job-k-limit=value – Imposta il limite di kilobyte per le quote per utente. Il valore è un numero intero di kilobyte.
- job-page-limit=value – Imposta il limite di pagine per le quote per utente. Il valore è il numero intero di pagine che è possibile stampare; le pagine fronte-retro vengono contate come due pagine.
- job-quota-period=value – Imposta il periodo contabile per le quote per utente. Il valore è un numero intero di secondi.
- job-sheets-default=banner – Imposta le pagine banner predefinite da utilizzare per i lavori di stampa.
- nome=valore – Imposta un'opzione PPD per la stampante. Le opzioni PPD possono essere elencate usando l'opzione -l con il comando lpoptions(1).
- name-default=value – Imposta un'opzione lato server predefinita per la stampante.
- port-monitor=name – Il monitor della porta specificato deve essere elencato nel file PPD della stampante.
- printer-error-policy=name – Imposta il criterio di errore da utilizzare quando il back-end della stampante non è in grado di inviare il lavoro alla stampante.
- printer-is-shared=true/false – Imposta la stampante su condivisa/pubblicata o non condivisa/non pubblicata.
- printer-op-policy=name – Imposta il criterio operativo IPP associato alla stampante. Il nome deve essere definito in cupsd.conf in una sezione Policy. Il criterio operativo predefinito è "predefinito".
11. Rimuovere la stampante dal file di configurazione
Per rimuovere una stampante CUPS dal file di configurazione della stampante, puoi utilizzare l'opzione -x come mostrato di seguito:
# lpstat -v device for HPLaserJetP3015: socket://19.86.82.172 # lpadmin -x HPLaserJetP3015 # lpstat -v lpstat: No destinations added.
12. Consenti/Nega a utenti o gruppi di configurare le opzioni della stampante
È possibile consentire ai singoli utenti o gruppi di configurare le opzioni della stampante utilizzando i comandi lpadmin.
Il comando seguente consentirà all'utente karthik di configurare l'opzione della stampante sulla stampante HPLaserJetP3015:
# lpadmin -p HPLaserJetP3015 -u allow:karthik
Puoi anche impedire all'utente di modificare le impostazioni/opzioni o configurare la stampante utilizzando il comando seguente.
Il comando seguente negherà all'utente karthik di configurare l'opzione della stampante sulla stampante HPLaserJetP3015:
# lpadmin -p HPLaserJetP3015 -u deny:karthik
Se è presente un gruppo a cui è necessario consentire l'accesso, è possibile utilizzare il nome del gruppo che precede il simbolo @. È possibile assegnare più nomi utente o gruppi separati da virgole.
Ad esempio, quanto segue consentirà agli utenti del gruppo sysadmin di configurare le opzioni della stampante.
# lpadmin -p HPLaserJetP3015 -u allow:@sysadmin
Quanto segue negherà agli utenti del gruppo di sviluppatori di configurare le opzioni della stampante.
# lpadmin -p HPLaserJetP3015 -u deny:@developer