Cups not working -- lpinfo: bad file descriptor

Hello everyone! Probably after some update, I do not manage to print anymore. I tried several times to start and enable the various cups.service, cups.socket and cups.path, but with no success…

I can see my printers from the CUPS Web Interface, and I manage to print test pages, but when I access any program with printing capabilities, the only printer I see is the “Save to PDF” one.

I am sorry if the question is trivial, but I did not manage to find any solution by playing around myself. Thank you very much!

Hi @RiccardoP, and welcome!

Please provide the output of:

systemctl status cups

and

sudo grep -i name /etc/cups/cupsd.conf

:bangbang: Tip: :bangbang:

When posting terminal output, copy the output and paste it here, wrapped in three (3) backticks, before AND after the pasted text. Like this:

```
pasted text
```

Or three (3) tilde signs, like this:

~~~
pasted text
~~~

This will just cause it to be rendered like this:

Sed
sollicitudin dolor
eget nisl elit id
condimentum
arcu erat varius
cursus sem quis eros.

Instead of like this:

Sed sollicitudin dolor eget nisl elit id condimentum arcu erat varius cursus sem quis eros.

Alternatively, paste the text you wish to format as terminal output, select all pasted text, and click the </> button on the taskbar. This will indent the whole pasted section with one TAB, causing it to render the same way as described above.

Thereby increasing legibility thus making it easier for those trying to provide assistance.

For more information, please see:


:bangbang::bangbang: Additionally

If your language isn’t English, please prepend any and all terminal commands with LC_ALL=C. For example:

LC_ALL=C bluetoothctl

This will just cause the terminal output to be in English, making it easier to understand and debug.

Thank you very much Mirdarthos!

~ >>> LC_ALL=C systemctl status cups                                                                                                                           

* cups.service - CUPS Scheduler
     Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; preset: disabled)
     Active: active (running) since Fri 2023-11-17 17:09:33 CET; 1min 22s ago
TriggeredBy: * cups.path
             * cups.socket
       Docs: man:cupsd(8)
   Main PID: 765 (cupsd)
     Status: "Scheduler is running..."
      Tasks: 1 (limit: 19035)
     Memory: 5.7M
        CPU: 49ms
     CGroup: /system.slice/cups.service
             `-765 /usr/bin/cupsd -l

Nov 17 17:09:32 MathPad systemd[1]: Starting CUPS Scheduler...
Nov 17 17:09:33 MathPad systemd[1]: Started CUPS Scheduler.

This command did not return anything. Maybe the problem lies here?

cups is active and succesful printing testpages indicates that the problem might be something else. can you check the systemsettings about the printer.

What printer are you using? Are you certain that the drivers are installed?
Is your username a member of the lp group? You can check by typing groups in terminal.
Is the printer shown when you type localhost:631 in a browser, Administration Tab-Manage-Printers. If it isn’t, can you add the printer through the browser interface?

Thank you all for your replies.

I am in the lp group, and I can see my printer in the Manage printers tab of the CUPS manager.
I also believe that the drivers are installed. The printer is an HP Laserjet Pro 4003, and CUPS shows the corresponding Postscript driver.

I really do not know where the problem may lie. I will try to experiment a bit more today :slight_smile:

1 Like

Im not sure which DE you are using, but in KDE I would remove this Printer in System Settings>Printer and connect your device again for a simple reinstall.

Edit:
If this not help, my next step for a workaround, i would use a older (but working) lifeboot and print from there (just disable network access when possible for security reason).

Same here, since the last Kernel update, my printer stopped working.
Model is HP Laserjet 1102W.
I just had it configured, that it worked well until the kernel get updated.
I reinstalled it already a few times for USB and WIFI but both dont work still.
When i start system-config-printer via bash, it gives some errors, but nothing much more after that, when i ie print a testpage.

system-config-printer
/usr/share/system-config-printer/system-config-printer.py:325: DeprecationWarning: Gtk.ActionGroup.list_actions is deprecated
  for action in printer_manager_action_group.list_actions ():
/usr/share/system-config-printer/system-config-printer.py:326: DeprecationWarning: Gtk.Action.set_sensitive is deprecated
  action.set_sensitive (False)
/usr/share/system-config-printer/system-config-printer.py:334: DeprecationWarning: Gtk.ActionGroup.get_action is deprecated
  act = printer_manager_action_group.get_action (action)
/usr/share/system-config-printer/system-config-printer.py:364: DeprecationWarning: Gtk.UIManager.ensure_update is deprecated
  self.ui_manager.ensure_update ()
/usr/share/system-config-printer/system-config-printer.py:365: DeprecationWarning: Gtk.UIManager.get_accel_group is deprecated
  self.PrintersWindow.add_accel_group (self.ui_manager.get_accel_group ())
/usr/share/system-config-printer/system-config-printer.py:374: DeprecationWarning: Gtk.UIManager.get_action is deprecated
  action = self.ui_manager.get_action ("/new-printer")
/usr/share/system-config-printer/system-config-printer.py:375: DeprecationWarning: Gtk.Action.create_menu_item is deprecated
  newprinteritem = action.create_menu_item ()
/usr/share/system-config-printer/system-config-printer.py:673: DeprecationWarning: Gtk.Action.get_proxies is deprecated
  for widget in action.get_proxies ():
/usr/share/system-config-printer/system-config-printer.py:2253: DeprecationWarning: Gdk.threads_enter is deprecated
  Gdk.threads_enter ()
/usr/share/system-config-printer/system-config-printer.py:2204: DeprecationWarning: Gdk.threads_leave is deprecated
  Gdk.threads_leave ()
/usr/share/system-config-printer/system-config-printer.py:711: DeprecationWarning: Gtk.Menu.popup_for_device is deprecated
  self.printer_context_menu.popup_for_device (None, None, None, None,
------------------>