Aggiungere una stampante remota, condivisa da un sistema GNU/Linux, con un solo comando


Eccoci di nuovo, dopo oltre un anno e mezzo di assenza dall’ultimo articolo (non preoccupatevi, non ci hanno rapito gli alieni nel frattempo 🙂 ). Oggi parliamo di stampanti. Chi di voi ha provato a condividere, attraverso CUPS, una stampante che ha solo l’interfaccia col cavo USB? Avrete notato che la cosa non è immediata come sembra.

Qualche anno fa, dopo un aggiornamento di CUPS, ogni volta che provavo a stampare veniva fuori un errore del tipo: Filter failed. Dopo molte indagini e prove, alla fine ho capito che si poteva accedere alla condivisione con il seguente comando da terminale (tutti i seguenti comandi sono lanciati come utente root):

# lpadmin -p nomeLocaleDellaStampante -v \
ipps://indirizzoOHostnameDelServerCupsRemoto:631/printers/nomeRemotoDellaStampante \
-D "Stampante remota" -L "Collegata al server" -E

Dove: nomeLocaleDellaStampante è un nome a piacere e sarà il nome locale della stampante remota, indirizzoOHostnameDelServerCupsRemoto è l’indirizzo o l’host name del server ed infine nomeRemotoDellaStampante è il nome effettivo della stampante sul server. Il resto serve ad impostare dei commenti e a forzare la cifratura (consultate $ man lpadmin). Questo sistema ha un vantaggio rispetto al modo tradizionale di aggiungere la stessa stampante attraverso l’interfaccia web: viene risparmiato il passaggio di elaborazione e memorizzazione sullo spooler locale dato che ora viene fatto fare solo al server, evidando confilitti ed aumentando la velocità.

Controlliamo ora che la condivisione sia andata a buon fine accedendo all’interfaccia web di CUPS (del client) con un browser http:// 127.0.0.1:631. Dovreste vedere la nuova stampante, e se cliccate sul suo link vi dovrebbe dire che non è valido (dato che è un link di tipo ipps).

A questo punto possiamo già fare una prova di stampa.

Volendo possiamo settare la nuova stampante come default con il seguente:

# lpoptions -E -d nomeLocaleDellaStampante

Infine se vogliamo eliminare la stampante:

# lpadmin -r nomeLocaleDellaStampante

Tutti i comandi sopra possono essere lanciati solo se CUPS sul client e sul server sono stati configurati corretamente, e (sul server) è stata lanciata la condivisione delle stampanti (e ovviamente la stampante è già in grado di stampare dal server).

In questo momento ho testato la cosa solo su Arch Linux e derivate. Fateci sapere se funziona anche con altre distribuzioni.

UPDATE: Un’altra conseguenza di tutto questo è che si può evitare di installare hplip, se non si usano stampanti locali.

Enjoy.

Annunci

Un pensiero su “Aggiungere una stampante remota, condivisa da un sistema GNU/Linux, con un solo comando

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...