lunedì 18 maggio 2009

Se CUPS non vede le stampanti di rete...

Se cercando di stampare un documento vedete solo le stampanti locali e non quelle installate su altri nodi della vostra rete provate a lanciare il comando seguente:
netstat -na | grep 631

Dovreste ottenere qualcosa del genere:
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:631 0.0.0.0:*

Se non vedete niente del genere significa che probabilmente cups e' partito correttamente, pero' con i servizi di rete disabilitati.
Eseguite il comando:
sudo /etc/init.d/cups restart

Visualizzate subito dopo il file /var/log/cups/error_log: nel mio caso conteneva le seguenti segnalazioni:
E [18/May/2009:16:27:46 +0200] Unable to open listen socket for address :::631 - Permission denied.
E [18/May/2009:16:27:46 +0200] Unable to open listen socket for address 0.0.0.0:631 - Permission denied.
I [18/May/2009:16:27:46 +0200] Listening to /var/run/cups/cups.sock on fd 3...
I [18/May/2009:16:27:46 +0200] Resuming new connection processing...
E [18/May/2009:16:27:46 +0200] Unable to create broadcast socket - Permission denied.

E' un bug conosciuto e deriva dall'interazione tra cups e apparmor. Pare sia stato sistemato nella versione 1.3.9-15 di cups (al momento non disponibile per Intrepid ma gia' presente su Jaunty).
Nel frattempo potete sistemare la cosa con un piccolo workaround:
sudo cd /etc/apparmor.d/force-complain
sudo ln -s /etc/apparmor.d/usr.sbin.cupsd .
sudo /etc/init.d/apparmor restart
sudo /etc/init.d/cups restart

provate di nuovo il comando eseguito all'inizio di questo post:
netstat -na | grep 631

Dovreste ottenere qualcosa del genere:
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:631 0.0.0.0:*

In caso contrario fatemi sapere che vediamo cosa si puo' fare.

Nessun commento: