I've got a printer hooked up to my workstation (running PCLINUXOS2012) by USB. All was well until the last time I tried to apply updates to the packages - it went rather pear shaped - lots of upgrade packages were no longer available from the repositories (this may be coincidental to the printing problem). Since then, only root can see the printer via CUPS unless I make it available to others:
[colin@localhost ~]$ lpq
lpq: error - no default destination available.
[colin@localhost ~]$ su
Password:
[root@localhost colin]# lpq
HP-Deskjet-F4200-series is ready
no entries
[root@localhost colin]# lpadmin -p HP-Deskjet-F4200-series -u allow:all
[root@localhost colin]# su colin -c lpq
HP-Deskjet-F4200-series is ready
no entries
[root@localhost colin]#
(but this does not change the cupsd.conf - hence needs to be re-applied each time the system is rebooted).
How do I make the change permanent?
(Coincidentally, the tool used to configure printers accessed from drakconf (PCLinuxos Control centre) now bombs out with the message "The program terminated abnormally).
cupsd.conf below, apologies for repodrucing it in it's entirety, but the running version clearly does not match the documentation supplied (which, for example, reports that 'Browsing' can be 'Yes' or 'No', but nothing get's logged for a value of 'on').
I would have expected the lines below the comments to make the printer available to all - but this does not appear to be the case.
LogLevel warn
SystemGroup lpadmin root
Group sys
User lp
Port 631
Listen /var/run/cups/cups.sock
Browsing On
BrowseAddress @LOCAL
BrowseOrder allow,deny
# this line to make printers 'browseable'....
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
DefaultAuthType Basic
<Location />
Order allow,deny
# this to allow access to the web frontend....
Allow all
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
</Location>
<Policy default>
<Limit Create-Job Print-Job Print-URI Validate-Job>
# and this one to allow submission of print jobs...
Allow all
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
<Policy authenticated>
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>