Avendo ottantaquattromilacinquecentotre computer in casa (solo alcuni di questi funzionano a dovere, per gli altri ho grandi progetti per il futuro…) ed una sola stampante ho deciso di mettere questa in rete, ecco come si fa:
Premetto che la mia è una stampante epson collegata via usb ed usa i driver gutenprint.
Iniziamo.
Prima di tutto colleghiamo la stampante al computer che fa da server ed installiamo cups
sudo pacman -S cups
la pagina del wiki dice di caricare i moduli per l’usb quindi direi di farlo
modprobe usblp
dando lsusb dovremmo vedere la stampante più o meno così
Bus 001 Device 006: ID 04b8:0005 Seiko Epson Corp. Stylus Printer
avviamo il demone di cups
sudo /etc/rc.d/cups start
apriamo un browser ed andiamo all’interfaccia grafica di cups (http://localhost:631/)
qui andiamo su “aggiungi stampante”, diamo un nome, una location e una descrizione alla stampante e poi clicchiamo su “continua”, ci chiederà di sellezionare dal menù a tendina il nostro dispositivo (che in teoria ha trovato, l’abbiamo visto con lsusb)
alla schermata dopo ci chiederà il modello oppure il file PPD che troviamo qui selezionando il nostro modello di stampante.
Per finire click su “aggiungi stampante”.
Adesso apriamo il file /etc/cups/cupsd.conf e aggiungiamo la riga Listen ipvostrocomputer:631 subito sotto la riga Listen localhost:631
(io ho come ip 192.168.0.2 quindi scriverò Listen 192.168.0.2:631)
Adesso questo pezzo di codice (sempre in cupsd.conf)
<Location />
Order allow,deny
Allow localhost
</Location>
lo facciamo diventare così
<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 10.0.0.*
Allow From 192.168.0.*
</Location>
(in Allow Fron 192.168.0.* l’ip va sostituito con l’ip della vostra rete)
Queste modifiche permettono di raggiungere la stampante da un qualsiasi computer della rete.
Adesso tocca alla configurazione di samba (che spero abbiate installato e funzionante).
Apriamo /etc/samba/smb.conf, cerchiamo la sezione shared definitions e facciamo diventare così la parte che interessa la stampante:
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
# Set public = yes to allow user 'guest account' to print
public = yes
guest ok = no
writable = no
printable = yes
Sul server abbiamo praticamente finito, ci basta riavviare sia cups che samba
/etc/rc.d/cups restart
/etc/rc.d/samba restart
E direi anche di aggiungere in /etc/rc.conf sia il modulo usblp (in MODULES=(…usblp…)) che il demone cups (in DAEMONS=(…cups…)) in modo che si avviino da soli quando accendiamo il computer.
Ora spostiamoci sul client che nel mio caso è windows xp (quando proverò con un client archlinux aggiungerò a questo post una piccola appendice).
In windows xp basta andare su pannello di controllo –> stampanti ed aggiungere una stampante, qui spunteremo la casella “stampante di rete o stampante collegata ad un altro computer” e nella successiva schermata la casella “connetti ad una stampante in internet o della rete domestica o aziendale” ed inseriamo nella casella URL
http://ipDelVostroServer:631/printers/NomeStampante
sostituendo ad ipDelVostroServer l’ip del compuer dove abbiamo collegato la stampante e a NomeStampante il nome che abbiamo dato alla stampante quando l’abbiamo configurata nell’interfaccia grafica di cups. Premendo avanti ci chiederà marca e modello della stampante, una volta inseriti non ci resta che stampare una pagina di prova.