Es gibt meiner Meinung nach in der Doku oder im Filesystem beim CUPS einen Fehler. Die Doku https://docs.software-univention.de/handbuch-4.3.html#print::ppdlisten sagt:
Der Pfad zur PPD-Datei, relativ zu dem Verzeichnis /usr/share/ppd/. Soll beispielweise die Datei /usr/share/ppd/laserjet.ppd verwendet werden, so ist hier laserjet.ppd einzutragen.
Von den erzeugten Scripts in /var/cache/univention-printserver wird “univention-lpadmin” aufgerufen welches seinerseits wieder “lpadmin” aufruft. “lpadmin” schaut nach /usr/share/cups/model um PPDs zu finden. Im Verzeichnis /usr/share/cups/model existier ein Symlink der ppd heisst und auf /usr/share/ppd zeigt. Macht man die LDAP-Einträge so, wie in der Doku beschrieben, dann werden die PPDs nicht gefunden. Damit es funktioniert gibt es zwei Lösungsmöglichkeiten:
- Dem Pfad im LDAP ppd/ voranstellen.
- Den Symlinkt ändern, so dass das ppd verschwindet.
Jetzt kann man sich aussuchen, ob die Doku oder der Symlink falsch ist.
Beim Restart des “cupsd” ergibt sich noch ein Timing-Problem. Der “cupsd” ist nicht schnell genug da und die Scripte für das Anlegen der Drucker werden zu bald ausgeführt, was dazu führt, dass die ersten einen Timeout bekommen können. Ein “sleep 2” an geeigneter Stelle in der /etc/init.d/cupsd schafft Abhilfe.
Ausserdem fällt auf, dass wenn man im LDAP Änderungen an Druckern vornimmt, dass die Drucker dann immer im CUPS neu angelegt werden. Das hat den unangenehmen Nebeneffekt, dass alle Standardeinstellungen die man dort im Treiber gemacht hat verloren gehen. Eine gute Lösung für das Problem fällt mir spontan auch nicht ein …