Il sottostistema CUPS supporta la condisivisione di tutte le stampanti connesse al server, sia localmente sia tramite protocolli di rete quali IPPS, LPD/LPR o Samba, per tutti i sistemi client che hanno accesso alla rete, e consente di configurare nel dettaglio le modalità di tale condivisione, ed i privilegi di ogni utente.
L'interfaccia web di amministrazione del sottosistema CUPS consente di abilitare la condivisione delle stampanti attivando l'opzione Share printers connected to this system, che si trova nella sezione Server della pagina Administration, come mostrato nella figura seguente.
Per rendere effettiva la nuova impostazione è necessario premere il pulsante Change settings ed attendere che il server di stampa completi il riavvio automatico.
In questo modo, la condivisione sarà attiva per tutti i sistemi connessi alla rete del server di stampa indistintamente.
Nella medesima pagina di configurazione è anche possibile gestire impostazioni avanzate quali il limite massimo di client del server, o la possibilità per gli utenti di annullare anche le operazioni di stampa altrui in corso.
Tuttavia, per una gestione più dettagliata degli accessi e dei privilegi è necessario modificare manualmente il file di configurazione /etc/cups/cupsd.conf. Ad esempio, per abilitare la condivisione solo per le richieste provenienti da alcuni indirizzi IP e non da altri, è sufficiente modificare la voce Location come mostrato nel seguito, dove la condivisione è attiva per soli due client che hanno l'indirizzo IP 192.168.0.50 e 192.168.0.100 rispettivamente, oltre che per il server stesso.
...
<Location />
Order allow,deny
Allow localhost
Allow 192.168.0.50
Allow 192.168.0.100
</Location>
...
Configurazione di Samba per la condivisione con client Windows
Per la condivisione di stampanti con sistemi client Windows mediante il protocollo Samba, è necessario agire sul file di configurazione /etc/samba/smb.conf e modificare o aggiundere la sezione dedicata alla condivisione delle stampanti come segue:
[global]
workgroup=WORKGROUP
server string=Ubuntu Print Server
security=user
[printers]
comment=All Printers
path=/var/spool/samba
browseable=yes
guest ok=no # cambiare questa opzione per rendere la stampante accessibile a qualunque utente
writable=no
printable=yes
create mode=0700
write list=@adm root # inserire la lista di nomi utente per i client Windows
Poichè il protocollo Samba include una parte di autenticazione, è necessario aggiungere sul server un account per ogni utente Windows di modo che esso sia correttamente riconosciuto, ed impostare una password per l'accesso mediante Samba. Ciò è possibile digitando comandi seguenti:
# useradd <nome_utente>
# smbpasswd -a <nome_utente>
Al termine di tale procedura è sufficiente riavviare il servizio Samba sul server per rendere effettive le modifiche.
Configurazione dei client
Affinché i client sulla rete possano stampare usando la stampante condivisa dal server, è necessario configurarli opportunamente. La scelta del protocollo di stampa da utilizzare varia in base al sistema operativo installato sul client. Inoltre, potrebbe essere necessario scaricare ed installare i driver della stampante dal sito del produttore. In questo caso, le istruzioni variano in base al particolare modello.
Ubuntu Linux
In ambiente GNU/Linux, l'installazione di una stampante condivisa può essere effettuata usando l'interfaccia web di CUPS, come spiegato nella lezione precedente. La maggior parte dei desktop environment moderni (gli ambienti grafici su cui si basano le interfacce delle moderne distribuzioni GNU/Linux) dispongono di strumenti di configurazione che permettono, tra le altre cose, di gestire le stampanti ed i driver di stampa.
In ambiente Ubuntu, ormai basato sul desktop environment GNOME, è disponibile una comoda interfaccia che semplifica il processo di installazione. Per avviarla, basta cercare la parola "impostazioni" nel menù attività, oppure cliccare sull'icona in alto a destra e poi cliccare sulla chiave Inglese.
Cliccando su Dispositivi si accede al pannello di configurazione dei dispositivi connessi al PC.
Per avviare la ricerca della stampante di rete, clicchiamo su Aggiungi stampante. Il sistema dovrebbe riconoscere automaticamente la stampante condivisa dal server:
Selezioniamola, quindi clicchiamo su Aggiungi per completare l'installazione.
Windows
L'installazione di una stampante condivisa in ambiente Windows avviene sfruttando il protocollo SMB (Samba). La procedura è simile a quella richiesta per accedere ad una cartella condivisa.
Per prima cosa, accedere al server usando il gestore file di Windows (o Esplora risorse), specificando nella barra degli indirizzi il nome (o l'indirizzo IP) del server preceduto da un doppio backslash (es. \\ubuntuserver).
Il sistema mostrerà le risorse condivise dal server, stampanti incluse. Per installare la stampante, facciamo doppio click sull'icona corrispondente ed installare i driver scegliendo dalla lista dei driver già disponibili o usando quelli forniti dal produttore.
Mac OS
Il sistema operativo Mac OS utilizza il sottosistema CUPS per la gestione delle stampanti. Tuttavia, analogamente a quanto avviene in ambiente Linux, Mac OS dispone di una comoda di interfaccia di configurazione richiamabile dall'icona Preferenze di Sistema sul Dock, oppure dal menu Apple -> Preferenze di Sistema.
Cliccando sull'icona Stampanti e Scanner si accede alla gestione stampanti. Clicchiamo quindi sul pulsante con il simbolo + per aggiungere la stampante condivisa.
Inseriamo quindi i parametri di connessione nella pagina IP. Digitando il nome (o l'indirizzo IP) del server, Mac OS si collegherà automaticamente al server alla ricerca di stampanti condivise. Nel campo Usa, selezioniamo il driver adatto per la stampante.
MacOS è compatibile anche con server di stampa Windows, per cui è possibile usare anche SMB per collegarsi ad una stampante condivisa via CUPS + Samba.
Al termine dell'installazione, la stampante sarà disponibile nell'elenco delle stampanti di sistema.