My normal weapon of choice is Debian, but I keep running across "version too old" type issues, so I decided to use a small (NUC) computer to do my day-to-day admin and use Debian on serious dev box.
Every-time I setup a new box I have issues with printing. For a number of years I've sidestepped dealing with this but using my NAS to hold the USB printer then connecting to everything indirectly. Sadly the NAS supplier dropped USB printer support, with zero notice. Now once again I'm forced to address this issue of printer config.
The simple case:
You have just one computer and all the printers just plug straight in (USB) or offer a direct network connection . This case is easy, use use the GUI on
http://localhost:631.
The more complex case:
You have many computers and many printers. My solution was to "connect" all the printers to a single box (in my case a ZOTAC ZBOX running Debian) .
Before you start make sure your user has "lp" (not [just] lpadmin) in it's group set, e.g.
Otherwise odd things break.
So on the the Debain box I just added each of the printers, via the GUI (Above)
On the print server, you need to make the services available, in /etc/cups/cupsd.conf:
# Only listen for connections from the local machine.
#Listen localhost:631
# Allow connections from anywhere
Listen 0.0.0.0:631
...
# Restrict access to the server...
<Location />
Order allow,deny
Allow @LOCAL
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow @LOCAL
</Location>
Then on the kubuntu box I simply do:
The first name (after -p) is the name (you want to use) of the printer (queue) on this system, the string after the -v can be obtained by typing:
This, apparently, does something I've always thought was the way printing should work. The print server has the right drivers for each printer, no reason every client needs to know this, it just passes the file to the print server unmolested and lets the server sort it out. This means each time you install a new box, you don't need to mess around trying to find print drivers etc.
An even easier way:
What the above does is queue the files on the client machine and forwards to the print server as an when it's available . Alternatively you can simply queue the file directly on the print server. This has a side-effect that if the print server is down , you can't print. If that's OK with you simply, create a file: /etc/cups/client.conf
with contents like:
WARNING; I've not tried this technique, see http://www.cups.org/doc/sharing.html for details.
Every-time I setup a new box I have issues with printing. For a number of years I've sidestepped dealing with this but using my NAS to hold the USB printer then connecting to everything indirectly. Sadly the NAS supplier dropped USB printer support, with zero notice. Now once again I'm forced to address this issue of printer config.
The simple case:
You have just one computer and all the printers just plug straight in (USB) or offer a direct network connection . This case is easy, use use the GUI on
http://localhost:631.
The more complex case:
You have many computers and many printers. My solution was to "connect" all the printers to a single box (in my case a ZOTAC ZBOX running Debian) .
Before you start make sure your user has "lp" (not [just] lpadmin) in it's group set, e.g.
Code:
usermod -a -G lp MYUSER
So on the the Debain box I just added each of the printers, via the GUI (Above)
On the print server, you need to make the services available, in /etc/cups/cupsd.conf:
# Only listen for connections from the local machine.
#Listen localhost:631
# Allow connections from anywhere
Listen 0.0.0.0:631
...
# Restrict access to the server...
<Location />
Order allow,deny
Allow @LOCAL
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow @LOCAL
</Location>
Then on the kubuntu box I simply do:
Code:
sudo lpadmin -p zboxPDF -E -v ipp://zbox.local:631/printers/PDF -m everywhere sudo lpadmin -p brother -E -v ipp://zbox.local:631/printers/brother -m everywhere sudo lpadmin -p sister -E -v ipp://zbox.local:631/printers/sister -m everywhere sudo lpadmin -p epson -E -v ipp://zbox.local:631/printers/epson -m everywhere
Code:
$ ippfind ipp://NUC.local:631/printers/brother ipp://zbox.local:631/printers/brother ipp://NUC.local:631/printers/epson ipp://zbox.local:631/printers/epson ipp://NUC.local:631/printers/sister ipp://zbox.local:631/printers/sister ipp://NUC.local:631/printers/zboxPDF ipp://zbox.local:631/printers/PDF
An even easier way:
What the above does is queue the files on the client machine and forwards to the print server as an when it's available . Alternatively you can simply queue the file directly on the print server. This has a side-effect that if the print server is down , you can't print. If that's OK with you simply, create a file: /etc/cups/client.conf
with contents like:
ServerName server
Comment