J'ai dû faire face à la même absurdité de CUPS ici... La solution pour moi a été un script systemd qui s'exécute toutes les n minutes.
/usr/local/cups/enable_cups_printers.sh
#!/bin/sh
for printer in $(lpstat -v | perl -pe 's/device for ([A-Za-z0-9_]+):.*/\1/g')
do
echo "Forcely enabling printer: $printer"
# Enable:-E PrinterId:-p
/usr/bin/lpadmin -E -p "$printer"
done
cups.enable.printers.service
[Unit]
Description = Forcely enable printer occassionally. Why CUPS disables printers in the first place has yet to be determined.
[Service]
Type = simple
ExecStart = /usr/local/cups/enable_cups_printers.sh
[Install]
WantedBy = multi-user.wants
cups.enable.printers.timer
[Unit]
Description=Run enable printers frequently to ensure connection difficulties are remedied.
[Timer]
OnBootSec=15min
OnUnitActiveSec=300
[Install]
WantedBy = timers.target