I have a Debian server and a Debian laptop, and I'm trying to use a cups server to print pages from all my home computers.

So I added the printer to the server's cups successfully with the correct drivers, and after that I added the printer to my laptop's cups. However, when I ask to print, I don't see my printer in the print dialog in the system.

The screen shot is from the "Manage Printers" page of cups, where you see a shared printer and an added printer from the shared printer. While yet I can't see those printers in the print dialog.

Why is this happening?

enter image description here

Thank you for any efforts.

  • 1
    Can you clarify your hardware setup? To which machine is your printer connected, and how (USB?). Can you print a test page from the machine it is connected to? Are all machines in the same network, and can they ping each other? You wrote "after that I added the printer to my laptop's cups" - did you connect the printer to your laptop to do that? – bnjmnrsr Jul 3 '14 at 21:31
  • @bnjmnrsr Thank you for responding. Sorry I thought it was clear. Here's the info: The printer is connected to the server. I can print a test page on the server. All machines are on the same local network. Yes they can ping each other and I have a samba server running for files since long time; I've been trying to add a printing service as well. No I didn't connect the printer to my laptop, I'm doing everything remotely. The printer is always only connected to the server. – The Quantum Physicist Jul 3 '14 at 22:10
  • 2
    It could be many things at this point. A few things that I would check: is your laptop user in the lpadmin group? Do you have an "Allow" entry for your network in your servers /etc/cups/cupsd.conf? Do you have the option "Share printers connected to this system" checked in your servers Admin page? What is the output of lpstat -s on both server and laptop? – bnjmnrsr Jul 3 '14 at 22:48
  • 1
    @bnjmnrsr Thank you very much, I got the problem fixed. The problem was that I had also my work network defined in ~/.cups/client.conf, and this made the lpstat -s freeze, and that made me realize that the system wasn't able to read the printers because of this. Thanks a lot :) – The Quantum Physicist Jul 3 '14 at 23:21
  • Good fix. Does CUPS let you have multiple networks? Say, like your situation, I have a Debian CUPS server at work, I then come home to my own similar setup, different IP ranges... is CUPS likely to always do what the OP had notice? Did you comment your work network out to fix it? – Kinnectus Jul 4 '14 at 6:52

I got the problem fixed. The problem was that I had also my work network defined in ~/.cups/client.conf, and this made the lpstat -s freeze, and that made me realize that the system wasn't able to read the printers because of this. Thanks to @bnjmnrsr for the help :)

| improve this answer | |

In my case, I needed to get rid of my ServerName setting in my client.conf file, and then open up access from my local network instead of staying restricted to localhost.

Thanks to @bnjmnrsr for starting me down the right path. In my case, lpstat reported:

$ lpstat -s
no system default destination
lpstat: Bad file descriptor
lpstat: Bad file descriptor

This led me to this post, in which the OP was kind enough to post his solution:

[The] problem was the following:

in /etc/cups/client.conf it is possible to manually specify a server with the syntax

ServerName hostname-or-ip:port

This is the method I used in the past for workstations on a small network connected to a predetermined print server

However, that does not seem to work anymore. Not unless the CUPS_SERVER environment variable is manually set to the same hostname.

Solution consisted in removing the manually set hostname and restoring cups default

ServerName /var/run/cups/cups.sock

In my case, I simply commented-out the ServerName in my client.conf file and restarted CUPS on the client:

$ service cups restart

When I ran lpstat again, I got a better message:

$ lpstat -s
no system default destination
lpstat: No destinations added.
lpstat: No destinations added.

Next, I ended up here to see how to configure CUPS to listen on an external IP address. I'm not sure if the entire configuration is necessary, but at the very least I observed my CUPS server was only listening to localhost:

$ netstat -an | grep 631
tcp        0      0 *               LISTEN

In my /etc/cups/cupsd.conf file, I had to change the Listen directive from:

Listen localhost:631


Listen <dnsnameofyourserver>:631

Once I restarted cups and cups-browsed on the server and the client, my lpstat on the client worked better. (I don't know if I needed to restart all four, but I did so anyway.)

$ lpstat -a
ML-1710 accepting requests since Fri 24 Feb 2017 07:48:59 PM EST

My File > Print dialogs are now showing the printers listed as well.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.