LPRng (Русский) - ArchWiki

Jump to content

# LPRng (Русский)

From ArchWiki

Состояние перевода: На этой странице представлен перевод статьи 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 работает, хоть это и неудобно.

## Установка

Установите пакет 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`.

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-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 файлы.

Category:

- Printers (Русский)

LPRng (Русский)
Add topic