3. Stampa verso PC Windows

3.1. Connettersi a Windows

Figura 2. Stampa in rete

SMB e CIFS sono i protocolli di condivisione di file e stampa di Windows. Si usa Samba per comunicare con i PC Windows utilizzando questi protocolli. Prima di configurare CUPS ci si deve assicurare che sia possibile connettersi al PC Windows con smbclient, il client Samba SMB/CIFS Figura 2.

Questo è un esempio di creazione di una connessione a un PC Windows:

/usr/bin/smbclient -L rice -U fred

added interface ip=10.6.7.234 bcast=10.6.7.255 nmask=255.255.255.0
Got a positive name query response from 10.6.7.8 ( 10.6.7.8 )
Password: (not shown)

Sharename  Type  Comment
PRINTER$   Disk
INKJET     Printer
STUFF      Disk
IPC$       IPC    Remote Inter Process Communication

Il comando mostrato richiede un elenco delle condivisioni su un PC Windows chiamato "rice", con l'identificativo utente "fred". Come risultato viene mostrata una stampante chiamata "INKJET".

Se non è disponibile un name server in Windows è necessario specificare l'indirizzo IP del PC Windows con l'opzione -I in questo modo:

/usr/bin/smbclient -I 10.6.7.8 -L rice -N

Si veda la documentazione di Samba per ulteriori informazioni sull'uso di smbclient.

3.2. Configurazione di CUPS

Una volta che si sia trovata una stampante Windows si può configurare CUPS. Si verifichi per prima cosa con il comando seguente che la propria installazione di CUPS abbia il backend smb:

ls -l /usr/lib/cups/backend/smb

Se tale file non esiste lo si crei eseguendo ciò che segue:

ln -s `which smbspool` /usr/lib/cups/backend/smb

Questo che segue è un esempio di impostazione della stampante mostrata in precedenza. Per eseguire questi comandi è necessario diventare superutente o usare sudo:

/usr/sbin/lpadmin -p RicePrinter -v smb://fred:mypass@rice/INKJET -P /root/inkjet.ppd
/usr/bin/enable RicePrinter
/usr/sbin/accept RicePrinter
/usr/sbin/lpadmin -d RicePrinter

Come già ricordato bash ha un comando incorporato chiamato enable, perciò gli utenti con bash dovranno usare il percorso completo (/usr/bin/enable) per abilitare le stampanti.

Il comando "lpadmin" configura la stampante Windows condivisa fornendo nome utente, password, nome netbios e nome della stampante come singolo parametro. Si veda la Sezione 2.3 per una spiegazione ulteriore dei comandi sopra menzionati.

Si è ora pronti per provare la propria stampante. Si invii un file alla stampante con il comando lp seguito da un nome file o stampando un documento dall'interno di un'applicazione.