LPRng (Русский)
Из upstream:
- Програмное обеспечение LPRng это расширенная и портативная реализация Berkeley LPR диспетчер очереди печати. Предоставляя тот же интерфейс и соответствуя требованиям RFC1179, эта реализация полностью новая и предоставляет поддержку для данных функций:
- Полные (без потребности в датабазах) lpr, lpc, and lprm програмы
- Динамическая переадресация очередей печати; автоматическое придерживание задач
- Очень подробная диагностика
- Множество принтеров на одной очереди
- Клиентские программы не требуют SUID root
- Значительно улучшенные проверки безопасности
- Значительно улучшен механизм авторизации
LPRng жёсткий и стабильный и предоставляет гибкий механизм фильтров печати. Он прекрамен как сервер печати но может быть использован как клиент печати. Он так же может печатать от клиентов CUPS установленных на других машинах с небольшими изменениями на стороне CUPS.
Установка
Установите пакет lprngAUR.
Установите опциональные пакеты фильтров:
- poppler
- Один любой из a2ps, enscript, mpageAUR
- ghostscript
- hplip
- foomatic-filters-lprngAUR
Конфигурация
Конфигурация состоит из следующих шагов:
- Настройка контрольных файлов
- Конфигурирование
- Создание файла 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.
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-lprngAUR ( так как 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 файлы.