Cups not starting at boot!

openSuse 12.1
KDE 4.6

When I start my computer, the cups daemon is not getting started. I can start it manually either with

rccups start

or

/etc/init.d/cups start

This all started when, as suggested by HP, I download the hplip installer and run it (even I though I already had it installed and it was the same version). I should have known better. After I did that I couldn’t print at all or run some programs (it changed my user’s groups); and other strange behavior (windows not being able to open). Anyway, to at least get the printing resolved, I had to remove cups and hplip and any other related packages I can think of and reinstall with yast. I can print now, but cups won’t start at boot.

What log file can I look at that might give me a hint as to why it’s not starting?

Oh, and it’s enable in “System Services (Runlevel)”.

Thanks.

The systemd boot process is used by default with openSUSE 121.1 onwards, (replacing the older sysvinit). Many services (including CUPS) are now only started when needed with socket activation (because a printer is connected for example).

As the opensuse 12.1 release notes explain

Instead of starting the scripts based on a predefined number of runlevels, systemd uses dependencies and events to decide when to start a service. For example, once a network device is initialized, systemd starts the network service. Once a connection is made, network based services like NFS (Networked File Storage) and Samba (file sharing) can go ahead and start up. If there is no network, systemd won’t bother starting them. And without a printer attached to the system, printer service CUPS isn’t needed either.
systemd uses sockets and dbus for starting services and in this way allows on-demand starting of daemon processes, watching the sockets for requests from applications. For example, only when you try to print will the print service be started.

There is a way to force it to start explicitly however, as explained by this archlinux wiki page.

sudo ln -s '/usr/lib/systemd/system/cups.service' '/etc/systemd/system/multi-user.target.wants/cups.service'

Ok, I didn’t have this problem before, so I’m not sure what you are getting at. There is a printer, so cups should start.

I need to find out why it thinks it doesn’t have to start then.

I’m not sure what you think has changed either, so a little more clarification from you is needed. My point was that the CUPS daemon does not have to be up and running at boot any more (with systemd).

  1. Have you managed to configure your HP printer successfully with the ‘hp-setup’ utility?

  2. If it is not a configuration issue, are you saying that print jobs are not being processed at all?

  1. Have you managed to configure your HP printer successfully with the ‘hp-setup’ utility?

Yes, I have configured the printer.

  1. If it is not a configuration issue, are you saying that print jobs are not being processed at all?

When I start the pc, it’s as if nothing is setup until I start cups. Once the cups daemon is running everything is fine and I can print. However, if I run the hp-setup before I start cups, it wants to configure the printer all over again even though I’ve configured it already. Strange!

I think the bottom line is the cups daemon is not up.

When I start the pc, it’s as if nothing is setup until I start cups. Once the cups daemon is running everything is fine and I can print. However, if I run the hp-setup before I start cups, it wants to configure the printer all over again even though I’ve configured it already. Strange!

Okay, thanks for the further clarification.

It would be interesting to see if CUPS is started, if your printer is reconnected after boot is complete ie detected dynamically. I wonder if there is a bug here that you have caught.

Can any other HP printer users running openSUSE 12.1 confirm this behaviour?

Anyway, see if the advice in this Fedora blog works for you

Cups doesn’t start on Fedora – SaltRiver Technical Journal

In particular,

sudo systemctl enable cups.service

then

ln -s '/lib/systemd/system/cups.service' '/etc/systemd/system/printer.target.wants/cups.service'
ln -s '/lib/systemd/system/cups.socket' '/etc/systemd/system/sockets.target.wants/cups.socket'
ln -s '/lib/systemd/system/cups.path' '/etc/systemd/system/multi-user.target.wants/cups.path'

Hopefully, when you next reboot, the cupsd daemon will be present.

On 2012-08-26 07:36, deano ferrari wrote:
> Can any other HP users running openSUSE 12.1 confirm this behaviour?

Mine is connected via network, so this does not apply. How would my cups know when to start?

(I’m using normally systemv because with problems with starting encrypted partitions with systemd)


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

Ok, this worked. When I booted up my system the cups daemon was up and running. I opened up the HP device manager and the printer was there.

So I guess, this command would normally be executed when setting up a printer for the first time, but somehow that step got missed in my case.

I’m now going to tell HP where they can take their hplip run program and shove it! Not to much though, because in general, they do a good job.

I’m now going to tell HP where they can take their hplip run program and shove it! Not to much though, because in general, they do a good job.

This is not really a problem with HPLIP. It requires the support of CUPS to function properly.

No, not because of the CUPS issue, but because of how I got in this mess in the first place by running their installer.