2010-03-03 13:25:43 +0000 2010-03-03 13:25:43 +0000
47
47

Как возобновить работу принтера CUPS из командной строки?

У меня есть принтер в CUPS, который из-за проблем с драйвером (HP 1010) время от времени уходит в паузу. 0x2 и 0x2 и я хотел бы написать сценарий командной строки, который будет выполняться один раз в час, чтобы возобновить работу принтера в CUPS. Но я понятия не имею, как возобновить работу принтера из командной строки оболочки после пары минут гуглинга.

Ответы (9)

68
68
68
2010-03-03 16:36:51 +0000

А вот и команда “cupsenable”.

cupsenable printer

запускает отключенный принтер (чтобы узнать имя принтера, можно перечислить принтеры с lpstat -p или lpc status).

Возможно, вам придется выполнить команду root или через sudo. Поэтому, если вам нужно включить принтер в скрипте оболочки, вам придется добавить оболочку в кронтаб root или отредактировать файл sudoers.

6
6
6
2012-10-10 07:42:50 +0000

Мой принтер HP CP1215 также имел ошибку: Printer Paused - “/usr/lib/cups/backend/hp failed”

После перезапуска обоих принтеров cups и идентификации принтера с avahi-daemon и включения lpstat -p, я снова смог выполнить печать. Перезапуск только cupsenable и включение не помогли.

я также изменил политику по умолчанию на retry-job и в итоге избежал ошибок в будущем с cronjob:

* * * * * lpstat -p |grep "poissa käytöstä" && service avahi-daemon restart; service cups restart; cupsenable HP_Tuloostin

где cups - это финский текст локализации для обслуживания “не в порядке”, а poissa käytöstä - это название моего принтера.

По моему опыту, и политика по умолчанию, и текущая политика принтера должны быть сконфигурированы как повторное задание. Политика по умолчанию - это просто политика, которую вы получаете при установке нового принтера.

2
2
2
2014-01-27 18:33:06 +0000
ls /etc/cups/ppd/ |cut -d "." -f1 |grep -v VMware |xargs -i cupsenable {}

Здесь перечислены все файлы ppd, которые представляют собой установленный принтер, отключено расширение ppd, игнорируется файл ppd VMware, включенный во многие серверы VMware (если вам это не нужно, просто удалите |grep -v VMware), а остальные имена передаются в xargs, что приводит к отказу всех принтеров.

Задание cron должно хорошо работать.

1
1
1
2015-08-25 10:30:16 +0000

Если проблема заключается в том, что для возобновления работы принтера в графическом интерфейсе требуется вход в систему, то другое решение заключается в том, чтобы разрешить возобновление работы принтера через графический интерфейс без входа в систему. Для этого выключите чашки и отредактируйте эту строку sudo vi /etc/cups/cupsd.conf:

<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel- Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>

И удалите директиву Resume-Printer, затем перезапустите чашки. Если директива появляется более чем в одном разделе <Limit>, то вы можете удалить ее из соответствующего раздела <Policy> или удалить из всех. Теперь вы сможете возобновить работу принтера без входа в систему из графического интерфейса. Я видел это на странице macworld , но это относится к любой установке чашек.

1
1
1
2015-09-07 12:14:32 +0000
0
0
0
2016-10-08 23:57:22 +0000

Куча решений здесь не сработала (например, sudo cupsenable и lpadmin -E).

Если вы используете Debian 8.6, Корица 2.2.16 (Linux), сделайте это из меню запуска графического интерфейса:

Click Administration | Print Settings,
Then select your stalled CUPS printer,
Click Unlock (and give it your admin password),
Click Server | Settings,
In this click the blue "Problems?" link.

Для Ubuntu 16,04:

Click System Settings | Printers,
Then Server | Settings,
Click the blue "Problems?" link.

Откроется средство устранения неисправностей печати. Он подскажет, что делать дальше.

Вероятно, вам придется просто проверить свойство Enabled для принтера CUPS в настройках печати. (Сначала необходимо разблокировать).

Наконец, чтобы этого больше не повторилось, измените “политику” принтера на “повторное задание” в настройках принтера, упомянутых выше (в свойствах | policy).

Исправлено для меня!

Что вызывает эту проблему: Если мой принтер wifi выключен, когда я печатаю на CUPS PRINTER, а моя политика - “stop printer”, то я получаю сообщение, что не смог напечатать, а принтер выключен (Enabled не отмечен). Только если политика установлена на “повторное задание на печать”, параметр Enabled не будет снят. Через несколько минут после включения принтера резервное копирование ваших заданий начнет печататься.

(Мое другое сообщение об этом).

0
0
0
2018-11-03 18:15:11 +0000

Пришлось иметь дело с той же чепухой из КУПС… Решением для меня был системный скрипт, который запускается каждые n минут.

/usr/local/cups/enable_cups_принтеры.sh

#!/bin/sh
for printer in $(lpstat -v | perl -pe 's/device for ([A-Za-z0-9_]+):.*//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
0
0
0
2012-02-13 10:28:39 +0000

lpadmin -p p-go-avtom2 -v p-go-avtom2 -E Источник

-1
-1
-1
2010-04-12 11:16:08 +0000

Как уже говорили другие, “cupsenable” или “lpadmin -E” должны сделать этот трюк.

Проблема, связанная с IIRC, по умолчанию CUPS настраивает принтер таким образом, что если печать задания как-то не удается, принтер отключается. Вместо этого можно изменить эту настройку, чтобы прервать выполнение задания.

Похожие вопросы

6
10
11
5
8