Страница 1 из 1

Раздвоение принтера

Добавлено: 08 сен 2016, 22:18
Bill Williamson
Доброго времени суток. У меня принтер HP LaserJet P1102s ставится в систему дважды. И при подключений активным может стать любой из них. При печати потом приходится выбирать то один, то другой. Почему так, как исправить?
Снимок экрана от 2016-09-08 22-11-16.png

Re: Раздвоение принтера

Добавлено: 08 сен 2016, 23:32
Dja
хм... неужели как в форточке от разных входов разные принтера? :hm:

Re: Раздвоение принтера

Добавлено: 09 сен 2016, 08:47
Bill Williamson
Нет, использую для принтера один и тот же USB вход, а подключается рандомно к одному из этих принтеров. Пробовал один из них удалить, так он заново создаёт.

Re: Раздвоение принтера

Добавлено: 12 сен 2016, 03:28
Dja
очень странно. У меня вроде на работе есть подобное чудо. Надо будет потестить.

Re: Раздвоение принтера

Добавлено: 26 сен 2016, 19:58
Bill Williamson
Удалил эти два принтера и попробовал поставить по этой инструкции. Все нормально, только после ошибки (замятие, закончилась бумага и т.п.) надо открыть крышку принтера и закрыть обратно, потом дождаться того, чтоб принтер допечатал. В противном случае, если вынуть кабель или перезагрузиться, установленный принтер остается с ошибкой, а система добавляет новый. Такие дела. Может кто знает более правильное решение данной проблемы? Спасибо.

Re: Раздвоение принтера

Добавлено: 27 сен 2016, 23:28
Bill Williamson
Вроде как нашёл решение. Всё оказалось банально и просто. По умолчанию в linux mint одновременно установлен hplip и foo2zjs(видимо с целью охватить как можно больше разных устройств). Так вот, каждый пакет ставит свой драйвер, поэтому и получается что два одинаковых принтера hp. Удалил foo2zjs (и еще один пакет с ним связанный), т.к. если оставить его, то он ставит открытый драйвер, а с ним возникают проблемы если на печать запустить сразу несколько заданий - часть просто пропадает. Пока полёт нормальный, буду дальше пользоваться и отпишусь, если будут проблемы с проприетарным драйвером, который ставит hplip.

Re: Раздвоение принтера

Добавлено: 29 сен 2016, 09:28
Bill Williamson
Какого было моё удивление, когда вчера опять появился второй принтер! :cray2:
Тот же hplip создал HP-LaserJet-Professional-P1102-2. Все после того, как я отправил в печать задание, принтер отпечатал, но я вытащил USB кабель до появления сообщения, что задание отпечатано. С чем связано это запаздывание проприетарного драйвера HP я не знаю. В итоге, при повторном подключений принтера, тот с неоконченным заданием, а система опять создаёт новый принтер.
Попробовал такой костыль:
Отключаем автозапуск cups-browsed

Код: Выделить всё

sudo mv /etc/init/cups-browsed.conf /etc/init/cups-browsed.conf.stop
или вообще сносим его:

Код: Выделить всё

sudo apt-get remove cups-browsed
Оставил один принтер. Повторил опыт с вытаскиванием кабеля после окончания печати, но до появления оповещения. При подключений обратно теперь новый принтер не создается, старый подключается, но задания отправляется на печать заново :dash2:
Можно перед подключением очищать задания, но это по-моему совсем неправильный подход. :help:
Есть ли способ, скриптом или как-нибудь еще, научить систему сбрасывать задания при переходе принтера в режим остановлено?
С открытым драйвером от foo2zjs таких проблем нет, но там возникает иная проблема. Может через foo2zjs как-то по-другому надо ставить драйвера?

Re: Раздвоение принтера

Добавлено: 29 сен 2016, 10:15
Chocobo
Bill Williamson писал(а): Есть ли способ, скриптом или как-нибудь еще, научить систему сбрасывать задания при переходе принтера в режим остановлено?
Если есть способ узнать программно в каком режиме находится принтер сейчас - можно написать небольшой watchdog-демон который будет это отслеживать необходимость этого действия с заданной регулярностью

Re: Раздвоение принтера

Добавлено: 29 сен 2016, 14:54
Bill Williamson
Chocobo, я далёк от программирования, где почитать можно или примеры увидеть?

Re: Раздвоение принтера

Добавлено: 29 сен 2016, 15:04
Chocobo
Bill Williamson, сам скрипт не проблема, обычная условная конструкция (if, case или while) на ответ проверки.

Основной момент в первой части предложения
Chocobo писал(а): Если есть способ узнать программно в каком режиме находится принтер сейчас
То есть надо как-то это спросить у принтера из терминала. А вот как именно с ним взаимодействовать - я не знаю, у меня нет такой железки :sad:

Re: Раздвоение принтера

Добавлено: 29 сен 2016, 15:10
Bill Williamson
Как нечто подобное:

Код: Выделить всё

net stop spooler
del /f /q %systemroot%\system32\spool\printers\*.shd
del /f /q %systemroot%\system32\spool\printers\*.spl
net start spooler
делается в Linux mint?

Re: Раздвоение принтера

Добавлено: 29 сен 2016, 15:56
zuzabrik
В линукс CUPS является стандартным сервером печати. Думаю стоит порыть в сторону man cups или типа того.
Очередь печати валяется где-то в райноне /var/spool/cups :)

Re: Раздвоение принтера

Добавлено: 29 сен 2016, 16:32
Bill Williamson
zuzabrik, нагуглил такую команду:

Код: Выделить всё

service cups stop
cd /var/spool/cups
rm -f *
service cups start
И вроде еще есть такая: Первая, как я понимаю, требует root. Буду за домашним компом - проверю.
Возник еще один вопрос: можно ли вынести очередь печати в conky?

Re: Раздвоение принтера

Добавлено: 29 сен 2016, 19:36
Bill Williamson
Chocobo,
Chocobo писал(а): Если есть способ узнать программно в каком режиме находится принтер сейчас
Можно командой: Вывод такой, если принтер подключен:

Код: Выделить всё

~ $ lpq
HP-LaserJet-Professional-P1102 готов
нет записей
И такой, если нет:

Код: Выделить всё

~ $ lpq
HP-LaserJet-Professional-P1102 не готов
нет записей

Re: Раздвоение принтера

Добавлено: 03 окт 2016, 11:06
Chocobo
Bill Williamson, скрипт может выглядеть так

Код: Выделить всё

while true; do
        if lpq | grep -q "не готов"; then 
                echo "здесь можно выполнить нужные команды"; 
                sleep 60;
        else sleep 60;
        fi;
done;
Таким образом будет бесконечный цикл проверять каждую минуту на вхождение подстроки не готов, где вместо echo можно задать нужную последовательность команд для этого случая. sleep 60 - интервал ожидания между исполнениями в секундах.

Re: Раздвоение принтера

Добавлено: 04 окт 2016, 13:55
Bill Williamson
Данная проблема с раздвоением принтера до сих пор не решена. Даже удаление cups-browsed не помогает. Все равно каким-то чудесным образом второй принтер добавляется. Есть в Интернете упоминание об этой проблеме и автор предлагает отключить систему Smart Install. Неужели это единственный способ оставить один принтер в системе?
У кого-нибудь подобная проблема возникает в принтерах HP и на других без Smart Install?

Re: Раздвоение принтера

Добавлено: 05 окт 2016, 19:46
Bill Williamson
Попробовал установить последнюю версию hplip. Делал по этой инструкций:
https://youtu.be/Yvn1-_U64bk
Потом в автозагрузку добавил команду hp-systray.
Пока второй принтер не появляется, но очень боюсь сглазить.

Re: Раздвоение принтера

Добавлено: 26 ноя 2016, 17:25
Bill Williamson
Проблема решена радикально переездом на Arch Linux и установкой через hplip уже там.

Раздвоение принтера

Добавлено: 08 мар 2018, 10:00
Bill Williamson
Данная проблема настигла меня моим принтером снова в Debian. Как оказалось за автодобавление принтера отвечает пакет system-config-printer-udev, удаление которого решает проблему раздвоения P1102. В Archlinux он у меня просто не был установлен.
Помогли здесь.