LPRng (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
LPRng
. Дата последней синхронизации: 8 января 2025. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Из
upstream
:
Програмное обеспечение LPRng это расширенная и портативная реализация Berkeley LPR диспетчер очереди печати. Предоставляя тот же интерфейс и соответствуя требованиям RFC1179, эта реализация полностью новая и предоставляет поддержку для данных функций:
Полные (без потребности в датабазах) lpr, lpc, and lprm програмы
Динамическая переадресация очередей печати; автоматическое придерживание задач
Очень подробная диагностика
Множество принтеров на одной очереди
Клиентские программы не требуют SUID root
Значительно улучшенные проверки безопасности
Значительно улучшен механизм авторизации
LPRng жёсткий и стабильный и предоставляет гибкий механизм фильтров печати. Он прекрамен как сервер печати но может быть использован как клиент печати.  Он так же может печатать от клиентов
CUPS
установленных на других машинах с небольшими изменениями на стороне CUPS.
Note
Недостаток LPRng в том что Gnome3/GTK3 (включая Chrome и Chromium) и KDE не поддерживают lpr печать из своих графических интерфейсов. Впрочем, печать в файл и дальнейшее использование lpr работает, хоть это и неудобно.
Установка
Установите
пакет
lprng
AUR
.
Установите опциональные пакеты фильтров:
poppler
Один любой из
a2ps
,
enscript
,
mpage
AUR
ghostscript
hplip
foomatic-filters-lprng
AUR
Конфигурация
Конфигурация состоит из следующих шагов:
Настройка контрольных файлов
Конфигурирование
Создание файла printcap и spool директорий
Включение и запуск lpd демона
Контрольные файлы
Локальная конфигурация
Два контрольных файла:
/etc/lprng/lpd/lpd.conf
/etc/lprng/lpd/lpd.perms
Удалённая конфигурация
Конфигурация по уполчанию в
/usr/share/doc/lprng
адекватная для клиентского пк печатающего на удалённый принтер.  Скопируйте её в
/etc/lprng/lpd/
# cp /usr/share/doc/lprng /etc/lprng/lpd
и отредактируйте её.
Серверная конфигурация
Для сервера получающего запросы через интернет, раскомментируйте последнюю строку в
/etc/lprng/lpd/lpd.conf
и настройте разрешения как указано в комментариях
/etc/lprng/lpd/lpd.perms
.
Note
Файлы
lpd.conf.sample
и
lpd.perms.sample
, расположенные в
/usr/share/doc/lprng
, документируют более комплексные ситуации.
Конфигурация настроек принтера (фильтров)
Это нормально если вы выберете одну инструкцию конфигурацию фильтров. Просто выберите какую вы хотите использовать.
Postscript принтеры
Если у вас есть сетевой Postscript принтер то вам повезло.  Шаблонный postscript фильтр
/usr/share/doc/lprng/psfilter
конвертирует PDF и текстовые файлы в Postscript. Другие типы файлов отклоняются.
Скопируйте этот файл в
/usr/lib/lprng/lpd
и переименуйте как пожелаете.  Затем отредактируйте чтобы указать ваш тип бумаги и выбор одностронней/двухсторонней печати.
Если вы хотите раздельные односторонние и двухсторонние очереди печати, сделайте две копии с разными именами и отредактируйте соответствующе.
Система Foomatic
Иной механизм фильтрации печати  - через систему Foomatic. Эта система используется
CUPS
. Установите
foomatic-filters-lprng
AUR
( так как
foomatic-rip
в установке CUPS была изменена для удаления поддержки LPRng).
Используйте
foofilter
как описано выше, изменив ваш предпочитаемый
.ppd файл
.  Установите
.ppd
файл в соответствии с путём указанном  в
foofilter
. (
/etc/lprng/lpd
это отличное расположение.)
Чтобы использовать Hewlett Packard принтеры, установите
hplip
из главного репозитория.  Этот пакет имеет
.ppd
файлы для буквально всех Hewlett Packard принтеров.
Ghostscript драйвера
Если у вас есть принтер поддерживающий Ghostscript драйвер, скопируйте и измените
gsfilter
как было указано выше, чтобы указать правильный драйвер и формат бумаги.  Вы можете посмотреть доступные драйвера в вашей версии Ghostscript используя команду
$ gs -h
Помните что поддержка особенных функций принтеров обычно ограничена и устарела.
Printcap файл
Файл
/etc/lprng/printcap
сообщает LPRng про принтер который у вас есть и файлы принтера которые необходимо использовать.
Примеры
Файл
printcap.sample
(в
/usr/share/doc/lprng
) предоставляет короткий гайд как настроить printcap файл. Printcap разделяет
printcap_server
и
printcap_client
в этой директории предоставляет дополнительные сведения
К примеру файл может выглядеть так для двух локальных принтеров:
DCPJ4120DW:\
     :mx=0:\
     :sd=/var/spool/lpd/DCPJ4120DW:\
     :sh:\
     :lp=/dev/usb/lp1:\
     :if=/opt/brother/Printers/dcpj4120dw/lpd/filterdcpj4120dw:
HL2035:\
     :mx=0:\
     :sd=/var/spool/lpd/HL2035:\
     :sh:\
     :lp=/dev/usb/lp0:\
     :if=/opt/brother/Printers/brhl2035/lpd/filterHL2030:
Советы по сетевым принтерам
Обычно, один компьютер определяют как сервер для одного и более принтеров.  Другие клиентские компьютеры должны отправлять задачи для печати к серверу, а не принтеру напрямую.
Довольно неочевидная настройка в
printcap_server
необходима для того чтобы фильтрация печати работала на сетевых принтерах, как для принтеров подключённых напрямую к серверному компьютеру через, например, USB порт.  (Прочтите
Референсный мануал
.)
После создания printcap файла, запустите команду от пользователя root
$ /usr/bin/checkpc -f
Она проверит вашу конфигурацию и создаст spool директории в
/var/spool/lpd
.  Если
checkpc
жалуется на что-то, решите проблему и запустите снова.
Запуск lpd демона
LPRng запускается как демон в фоне с названием
lpd
для управления запросами печати.
Запустите/включите
lpd.service
.
Если конфигурационные файлы были изменены, нужно
перезапустить
lpd
.
Использование
Команда
lpr
это инструмент печати в LPRng. Обычная форма использования это
$ lpr [options]
файл_с_легушкой_для_печати
Если файл не указан, ввод принимается со стандартного ввода. Самые полезные опции это
-P
принтер
и
-K
количество_копий
. При отсутствии опций принтера, установка переменной окружения
PRINTER
к имени принтера сообщит LPRng какой принтер использовать.
Прочие полезные команды это
lpq
(изучить очередь печати) и
lprm
(удалить задание из очереди печати). Прочтите
lpr(1)
,
lpq(1)
, и
lprm(1)
.
CUPS and LPRng
CUPS
можно использовать для доступа к принтеру на сервере с клиента у которого не установлен LPRng. Трюк заключается в том чтобы сконфигурировать CUPS для доступа к принтерам через
lpd
протокол. Это проще сделать используя веб интерфейс CUPS.  Так же, когда сервер настроен на выполнение всей необходимой фильтрации печати, укажите CUPS использовать
raw
фильтр.  Альтернативные параметры фильтрации могут быть установлены, в зависимости от ваших потребностей.
Устранение ошибок
Инструкции специфичные для принтеров
Несмотря на заголовок, некоторая информация
CUPS/Printer-specific problems
не специфичная для Cups.
GTK2
GTK2 приложения до сих пор поддерживают
lpr
печать. Чтобы заставить это работать, создайте файл
~/.gtkrc-2.0
в вашей домашней директории содержащий одну строку
gtk-print-backends = "file,lpr"
LXDE
LXDE может создать собственный
~/.gtkrc-2.0
файл если вид и ощущение от стола отличаются - прочтите файл за инструкциями.
Postscript печать
Фильтр
pdftops
из пакета
poppler
используется для создания Postscript из PDF файлов в фильтры печати.
Если внезапно,
pdftops
выдаёт плохой вывод или его отсутствие. 
Альтернативный фильтр,
pdf2ps
из пакета
ghostscript
, может быть использован, но у этого фильтра свои проблемы.
Для одноразовой акции, просто используйте
pdf2ps
или иные конвертеры для получения Postscript и отправки на принтер.
Двухсторонний PS
Двухсторонняя печать Postscript файлов сделана в фильтре-примере вставкой строки Postscript кода сразу после первой строки.  Для некоторых Postscript файлов, это не работает.
В таком случае, отправьте Postscript файл в очередь односторонней печати. Фильтр печати
psfilter
установленный для односторонней печати не фильтрует Postscript файлы.