HP LaserJet 1300 в Linux

Принтер HP LaserJet 1300 в Linux, иногда ведёт себя странно и уходит в режим паузы, т.ч постоянно нужно делать принтер "Разрешённым".

Я решил написать небольшой скрипт, который будет каждою минуту будет заниматься мониторингом состояния принтера и в зависимости от значения выполнять определённые действия:

  • Пишем скрипт
#!/usr/bin/python
 
import cups
import time

printer_name='HP-LaserJet' #Имя вашего принтера
printer=cups.Connection()

while 1:
    if printer.getPrinters()[printer_name]['printer-state-message']=='Paused':
        printer.cancelAllJobs('') #Отменяем все задания печати
        printer.enablePrinter(printer_name) #"Разрешаем" принтер
    time.sleep(60) # Тайм аут 1 мин. 

  • Сохраняем его как return_cups
  • Делаем исполняемым:
chmod +x return_cups
  • Копируем в /usr/bin:
sudo cp return_cups /usr/bin
  • Добавляем в автозагрузку
  • Перезагружаемся

Теги: , , , ,

Дата: 3 ноября 2010

Автор: ignusius

Комментарии: 4

Комментарии: 4

  1. Если я не ошибаюсь, то можно добавить в статью то, что "имя принтера" берется из вывода команды lsusb, поскольку это имя может не соответствовать тому, что отображается в графической утилите настройки печати (в моем случае, xerox workcentre 3119).

    • Нет это не то. Если Ubuntu то можно найти здесь Кнопка питание(справа сверху) -> Параметры системы -> Печать. Нажимай на принтер и смотри его название.

  2. А не могли бы вы подсказать, как использовать эти команды без скрипта? Похоже, что не работает у меня на убунту 1204, так посмотреть, что пишет в консоли. Или как посмотреть ошибки выполнения этого скрипта? У меня после проб с ним галка теперь стоит как вкопанная даже после удаления скрипта, но печатает только по 1 странице. Следующую печатает только если передернуть usb шнур.

  3. sleep 10 #пауза на всяк случай
    lprm #удаляем все очереди на печать
    cupsenable LBP6020B # поднимаем принтер (имя можно взять с какой нить команды)
    /etc/init.d/ccpd restart # ну и ребут ccpd

    скрипт пихаем в атозагрузку, если ВНЕЗАПНО принтер уйдет в паузу - запускаем скрипт руками. можно сделать проверку на enabled, но пока робит

Оставить комментарий

*

Комментарий:

Ваш e-mail не будет опубликован.
Обязательные поля помечены *

Разрешенные HTML теги:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>