LINUX.ORG.RU

lpr печать в файл


0

0

У меня нет принтера, я печатаю на работе.
При попытки напечатать что-нибудь lpr говорит

lpr: Ошибка – планировщик не отвечает!

Можно ли как-нибудь по умолчанию заставить печатать lpr в файл. Т. е. на простое «lpr file.txt» он создавал .ps или .pdf файл в какой-нибудь заданной директории?


Re: lpr печать в файл

lpr ничего не создает, он отсылает файл серверу печати (lpd, cups, ...)

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

cups-pdf умеет это делать.


Не совсем то. Во многих программах встроена печать как «| lpr» (например в mutt). Не хочется ничего изменять. Надо чтобы обычное «cat file | lpr» тоже работало — только печать не на принтер, а в .ps/.pdf.

paxac ()
Ответ на: комментарий от paxac
edigaryev@brick ~ $ export PRINTER="cups-pdf"
edigaryev@brick ~ $ echo "text from stdin" | lpr
edigaryev@brick ~ $ ls /var/spool/cups-pdf/edigaryev/
_stdin_.pdf
edigaryev@brick ~ $ 
edigaryev ★★★★★ ()
Ответ на: комментарий от edigaryev

> edigaryev@brick ~ $ export PRINTER=«cups-pdf»
edigaryev@brick ~ $ echo «text from stdin» | lpr

Сделал так. Не работает, пишет

lpr: Ошибка – PRINTER переменная окружения указывает несуществующее назначение «cups-pdf»!

cups-pdf у меня есть в $PATH. Пробовал «lpoptions -d cups-pdf», тоже не работает, пишет

lpoptions: Неизвестный принтер или класс!

P. S. Slackware 12.2

paxac ()
Ответ на: комментарий от paxac

Может быть сначала принтер добавить с таким названием? :)

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

> Может быть сначала принтер добавить с таким названием? :)

А как это сделать? Я в линухе не специалист далеко...

P. S. cups-pdf я в PATH добавил вручную (симлинк в /usr/bin). Подскажите, пожалуйста, директрии /usr/lib/cups/ (backend/ cgi-bin/ daemon/ driver/ filter/ monitor/ notifier/) должны быть в PATH?

paxac ()
Ответ на: комментарий от paxac

Установить пакет cups-pdf, добавить принтер через веб-интерфейс cupsd (http://localhost:631/), печатать, используя добавленный принтер.

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

Зашел на localhost:631. Добавляю принтер. В названии ввожу «cups-pdf». Далее он предлагает выбрать «Device». Что выбрать из следущего?

AppSocket/HP JetDirect
Backend Error Handler
HP Fax (HPLIP)
HP Printer (HPLIP)
Internet Printing Protocol (http)
Internet Printing Protocol (ipp)
LPD/LPR Host or Printer
LPT #1
SCSI Printer
Windows Printer via SAMBA

В хелпе ничего не нашел, в манах тоже, в гугле везде пишут «добавить принтер в localhost:631» без подробностей... Всё так сложно...

paxac ()
Ответ на: комментарий от paxac

>Что выбрать из следущего?

Пакет cups-pdf установлен? Какой у вас дистрибутив?

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

Пакет установлен. Slackware 12.2.

Я в localhost:631 в списке выбрал HP принтер, в поле URI ввел
file:///usr/lib/cups/backend/cups-pdf. Вот конфиг:

# Printer configuration file for CUPS v1.3.9
# Written by cupsd on 2010-01-17 15:17
<DefaultPrinter cups-pdf>
Info cups-pdf
DeviceURI file:///usr/lib/cups/backend/cups-pdf
State Idle
StateTime 1263730591
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

Может проблема в DeviceURI? Можно файлом задавать?
Принтер установился, но не печатает. Т. е. я пишу «echo 'hello'|lpr» и никаких ошибок нет, как будто всё напечатано. Смотрю в каталоге — .pdf файлов не появилось. Я менял дефолтный каталог /var/spool/... на свой (в /home) — все равно не работает. В логе всё нормально:

I [17/Jan/2010:15:22:35 +0300] Started «/usr/lib/cups/cgi-bin/printers.cgi» (pid=4863)
I [17/Jan/2010:15:22:35 +0300] [Job 9] Adding start banner page «none».
I [17/Jan/2010:15:22:35 +0300] [Job 9] Adding end banner page «none».
I [17/Jan/2010:15:22:35 +0300] [Job 9] File of type application/postscript queued by «anonymous».
I [17/Jan/2010:15:22:35 +0300] [Job 9] Queued on «cups-pdf» by «anonymous».
I [17/Jan/2010:15:22:35 +0300] [Job 9] Started filter /usr/lib/cups/filter/pstops (PID 4864)
I [17/Jan/2010:15:22:35 +0300] [Job 9] Started filter /usr/lib/cups/filter/foomatic-rip-hplip (PID 4865)
I [17/Jan/2010:15:22:37 +0300] Started «/usr/lib/cups/cgi-bin/printers.cgi» (pid=4876)
I [17/Jan/2010:15:22:48 +0300] [Job 9] Completed successfully.
I [17/Jan/2010:15:22:48 +0300] Started «/usr/lib/cups/cgi-bin/printers.cgi» (pid=4878)

paxac ()
Ответ на: комментарий от paxac

Интересное дело: почему-то в сам файл бинарника /usr/lib/cups/backend/cups-pdf пишется всякая дрянь.

paxac ()
Ответ на: комментарий от paxac

Проблема решена. Надо было просто поставить права 700 на cups-pdf. И сразу появился принтер в списке и дальше как по маслу...

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