LINUX.ORG.RU
ФорумAdmin

CUPS: принтер сам остонавливается


0

0

Стоит cups-1.2.10 под Gentoo. К нему подключены два принтера HP P2015 (драйвер HP LaserJet Series PCL 6 CUPS из комплекта cups-а).

Эти принтеры через samba сервер расшарены для виндовс-пользователей.

Иногда по пока непонятной мне причине, первый принтер останавливается (сам). В интерфейсе cups-а об этом пишут следующее:

netprinter-hp1 (Default Printer) "/usr/libexec/cups/backend/lpd failed"
Description: HP LaserJet P2015

Make and Model: HP LaserJet Series PCL 6 CUPS

Printer State: stopped, accepting jobs, published. 

Соответственно, никто печатать на этот принтер больше не может. Помогает только заход в интерфейс cups-а под принт-администратором и 
нажимание кнопки "start printer". 
Принтер успешно стартует и начинает печатать все, что накопилось у
него в очереди и все новые задания.... до очередной остановки. Такие 
остановки могут случаться несколько раз в час, а могут - пару раз на 
дню всего лишь.

Понятно, что можно написать простой скрипт, который будет ходить в 
веб-интерфейс cups-а, проверять, остановлен ли принтер. И, если 
принтер опять остановился, стартовать его.

Но хотелось бы узнать причину остановки. Куда вообще рыть? В логах cups-а
тишина, никакой информации похожей на "принтер остановился потому-то потому-то" 
я там не нашел :(

Может у cups-а есть какая то скрытая опция типа "автостартовать принтер
если он остановился"?

Энергосберегающий режим небось какой, или кабель кривыми ножками пинается.

Gharik
()

есть такая опция, правишь конфиг на предмет рутового доступа с localhost и пишешь скрипт, который будет "жать" на url "start printer", и ставишь вызов в cron'е каждые пять минут :)

zgen ★★★★★
()
Ответ на: комментарий от flat

Спасибо всем ответившим!

пока не увидел ответов, решил проблему так (автостарт принтера, если его статус в "pause") - добавлением этого в крон:

for name in `/usr/bin/wget -O - http://localhost:631/printers/ 2>&1 | grep -B 1 Paused | grep -E "netprinter.*</" | sed -r "s/.*\">(.*)<\/[Aa]>.*/\1/" `; do echo printer $name stopped at `date`\, reenable it; /usr/sbin/cupsenable $name; done

Потому узнал о существовании beh (удобная вещь) и с удивлением обнаружил опцию "printer error policy > retry job". Включил ее - подозреваю, что теперь оно останавливаться не будет ;-)

eightn
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.