CUPS версии 1.1.20 после двух попыток печати на временно недоступный сетевой принтер,переводит его в состояние disable. После этого перевод в состояние enable возможен только вручную. Выглядит это следующим образом: ... I [25/Feb/2004:18:08:07 +0300] Job 22629 queued on 'cons_printer' by 'popov'. I [25/Feb/2004:18:08:07 +0300] Started filter /usr/lib/cups/filter/pstops (PID 7830) for job 22629. I [25/Feb/2004:18:08:07 +0300] Started backend /usr/lib/cups/backend/lpd (PID 7831) for job 22629. W [25/Feb/2004:18:08:07 +0300] [Job 22629] Remote host did not respond with command status byte after 300 seconds! W [25/Feb/2004:18:08:07 +0300] [Job 22629] Remote host did not respond with control status byte after 300 seconds! W [25/Feb/2004:18:08:07 +0300] [Job 22629] Remote host did not respond with command status byte after 300 seconds! E [25/Feb/2004:18:08:07 +0300] [Job 22629] Unable to send trailing nul to printer: Broken pipe E [25/Feb/2004:18:08:07 +0300] [Job 22629] Remote host did not accept data file (32) I [25/Feb/2004:18:08:21 +0300] Started "/usr/lib/cups/cgi-bin/printers.cgi" (pid=7833) I [25/Feb/2004:18:08:23 +0300] Started "/usr/lib/cups/cgi-bin/printers.cgi" (pid=7834) W [25/Feb/2004:18:08:37 +0300] [Job 22629] Remote host did not respond with command status byte after 300 seconds! E [25/Feb/2004:18:08:37 +0300] PID 7831 stopped with status 1! I [25/Feb/2004:18:08:37 +0300] Hint: Try setting the LogLevel to "debug" to find out more. I [25/Feb/2004:18:08:37 +0300] Saving printers.conf... ... Принтер отключен. А вот так обрабатывает подобные ситуации в нашей сети CUPS версии 1.1.18 ... I [03/Mar/2004:09:47:38 +0300] Job 24395 queued on 'cons_printer' by 'popov'. I [03/Mar/2004:09:47:38 +0300] Started backend /usr/lib/cups/backend/lpd (PID 29581) for job 24395. E [03/Mar/2004:09:47:38 +0300] [Job 24395] Remote host did not accept data file (32) E [03/Mar/2004:09:48:08 +0300] [Job 24395] Remote host did not accept control file (32) E [03/Mar/2004:09:48:38 +0300] [Job 24395] Remote host did not accept control file (32) E [03/Mar/2004:09:49:08 +0300] [Job 24395] Remote host did not accept control file (32) E [03/Mar/2004:09:49:38 +0300] [Job 24395] Remote host did not accept control file (32) E [03/Mar/2004:09:50:08 +0300] [Job 24395] Remote host did not accept control file (32) E [03/Mar/2004:09:50:38 +0300] [Job 24395] Remote host did not accept control file (32) E [03/Mar/2004:09:51:08 +0300] [Job 24395] Remote host did not accept control file (32) I [03/Mar/2004:09:51:21 +0300] Job 24396 queued on 'altonika_printer' by 'polyakova'. I [03/Mar/2004:09:51:21 +0300] Started filter /usr/lib/cups/filter/pstops (PID 29675) for job 24396. I [03/Mar/2004:09:51:21 +0300] Started backend /usr/lib/cups/backend/socket (PID 29676) for job 24396. E [03/Mar/2004:09:51:38 +0300] [Job 24395] Remote host did not accept control file (32) ... В конце концов он ее распечатал. Такое поведение мне кажется более правильным.Само собой напрашивается как минимум возможность в новых версиях производить большее число попыток печати и как максимум способность управлять подобными действиями через конфигурационный файл.
Более того, CUPS'у всё равно, он выключает и локальные принтеры, что очень неудобно - был принтер выключен физически, становится - программно, и нужны права администратора, чтобы вернуть его в рабочее состояние :( Было бы оптимальнее: - не выключать, а продолжать попытки - включать, если связь наладилась
http://www.linuxprinting.org/beh.html уехал в incoming. Насколько понимаю, ожидать исправленья в самом cups могут в лучшем случае пинатели (клиенты) апстрима...
В новой версии cups для этих целей на каждый принтер есть errorPolicy коим можно управлять.
Только вчера узнал о его существовании и что можно выставить ErrorPolicy retry-job