Basically, a corruption of the CUPS policy file stops CUPS from running until the corruption is removed.
My printing stopped working after a late November 2025 update. Basically, only Airprint drivers would appear in a print dialog, and those drivers could not connect to anything when selected (and so there was no printing at all).
I tracked the error down to CUPS not operating
$ sudo service cups status
[sudo] password for victor:
○ cups.service - CUPS Scheduler
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; preset: ena>
Active: inactive (dead) (Result: exit-code) since Mon 2025-12-01 08:12:11 >
TriggeredBy: × cups.path
× cups.socket
Docs: man:cupsd(8)
Main PID: 2572 (code=exited, status=1/FAILURE)
CPU: 12ms
Dec 01 08:12:11 Beowulf systemd[1]: cups.service: Failed with result 'exit-code>
Dec 01 08:12:11 Beowulf systemd[1]: Failed to start cups.service - CUPS Schedul>
Dec 01 08:12:11 Beowulf systemd[1]: cups.service: Scheduled restart job, restar>
Dec 01 08:12:11 Beowulf systemd[1]: Stopped cups.service - CUPS Scheduler.
Dec 01 08:12:11 Beowulf systemd[1]: Dependency failed for cups.service - CUPS S>
Dec 01 08:12:11 Beowulf systemd[1]: cups.service: Job cups.service/start failed>
lines 1-15/15 (END).
Efforts to restart CUPS failed:
$ sudo service cups start
Job for cups.service failed because the control process exited with error code.
See "systemctl status cups.service" and "journalctl -xeu cups.service" for details.
$ sudo systemctl status cups.service
○ cups.service - CUPS Scheduler
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; preset: enabled)
Active: inactive (dead) (Result: exit-code) since Mon 2025-12-01 09:57:42 CST; 14s ago
TriggeredBy: × cups.path
× cups.socket
Docs: man:cupsd(8)
Process: 24819 ExecStart=/usr/sbin/cupsd -l (code=exited, status=1/FAILURE)
Main PID: 24819 (code=exited, status=1/FAILURE)
CPU: 10ms
Dec 01 09:57:42 Beowulf systemd[1]: cups.service: Scheduled restart job, restart counter is at 9.
Dec 01 09:57:42 Beowulf systemd[1]: Stopped cups.service - CUPS Scheduler.
Dec 01 09:57:42 Beowulf systemd[1]: Dependency failed for cups.service - CUPS Scheduler.
Dec 01 09:57:42 Beowulf systemd[1]: cups.service: Job cups.service/start failed with result 'dependency'.
I then examined the error.log file in the /var/log/cups directory and found these errors:
$ cat error_log
E [01/Dec/2025:08:12:10 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
E [01/Dec/2025:08:12:10 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
E [01/Dec/2025:08:12:11 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
E [01/Dec/2025:08:12:11 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
E [01/Dec/2025:09:57:40 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
E [01/Dec/2025:09:57:41 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
E [01/Dec/2025:09:57:41 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
E [01/Dec/2025:09:57:41 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
E [01/Dec/2025:09:57:41 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
E [01/Dec/2025:09:59:24 -0600] Unknown directive JobPrivateAccess on line 123 of /etc/cups/cupsd.conf.
Based on this information, the solution was to remove the four lines that were added to the cupsd.conf file in /etc/cups after the closing Policy bracket.
</Policy>JobPrivateAccess default This line needs to be removed
JobPrivateValues default This line needs to be removed
SubscriptionPrivateAccess default This line needs to be removed
SubscriptionPrivateValues default This line needs to be removed
With these four lines removed, restarting CUPS then worked:
$ sudo service cups start
$ sudo service cups status
● cups.service - CUPS Scheduler
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-12-01 10:09:01 CST; 58s ago
TriggeredBy: × cups.path
● cups.socket
Docs: man:cupsd(8)
Main PID: 25750 (cupsd)
Status: "Scheduler is running..."
Tasks: 2 (limit: 19010)
Memory: 4.7M (peak: 5.1M)
CPU: 31ms
CGroup: /system.slice/cups.service
└─25750 /usr/sbin/cupsd -l
Dec 01 10:09:01 Beowulf systemd[1]: Starting cups.service - CUPS Scheduler...
Dec 01 10:09:01 Beowulf systemd[1]: Started cups.service - CUPS Scheduler.
Note: to edit a file as an administrator, type
$ sudoin front of the text editor you will be using in your terminal to edit the file you need to edit. Enter your administrative password when prompted. As anemacsuser, I have set up an aliassudemforsudo emacs -nw, which runs emacs within a terminal window with administrative privileges.
