Создайте каталог для хранения файлов во время печати:
# mkdir -p /var/spool/lpd/lp # chown daemon:daemon /var/spool/lpd/lp # chmod 770 /var/spool/lpd/lpКак
root, создайте файл /etc/printcap со следующим содержимым:lp:\ lp=/dev/unlpt0:\ (1) sh:\ mx#0:\ sd=/var/spool/lpd/lp:\ lf=/var/log/lpd-errs:
1 Эта строка предназначена для принтера, подключенного к порту USB.Для принтера, подключённого к параллельному или «принтерному» порту, используйте:
:lp=/dev/lpt0:\
Для принтера, подключенного напрямую к сети, используйте:
:lp=:rm=network-printer-name:rp=raw:\
Замените network-printer-name на
DNSимя хоста сетевого принтера.Включите LPD, отредактировав файл /etc/rc.conf и добавив следующую строку:
lpd_enable="YES"
Запустите службу:
# service lpd start Starting lpd.Напечатайте тест:
# printf "1. This printer can print.\n2. This is the second line.\n" | lprЕсли обе строки начинаются не с левого края, а с отступом («ступеньками»), см. Предотвращение образования ступенек на простых текстовых принтерах.
Текстовые файлы теперь можно печатать с помощью
lpr. Укажите имя файла в командной строке или передайте вывод напрямую вlpr.% lpr textfile.txt % ls -lh | lpr
Глава 11. Печать
Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD.
Содержание
Размещение информации на бумаге — это важная функция, несмотря на многочисленные попытки отказаться от неё. Печать состоит из двух основных компонентов. Данные должны быть переданы на принтер и представлены в форме, которую принтер может обработать.
11.1. Быстрый старт
Базовую печать можно быстро настроить. Принтер должен уметь печатать обычный текст ASCII. Для печати других типов файлов см. Фильтры.
11.2. Подключение принтеров
Принтеры подключаются к компьютерным системам различными способами. Небольшие настольные принтеры обычно подключаются непосредственно к USB-порту компьютера. Более старые принтеры подключаются к параллельному или «принтерному» порту. Некоторые принтеры подключаются напрямую к сети, что упрощает их совместное использование несколькими компьютерами. Некоторые принтеры используют редкое последовательное соединение через serial-порт.
FreeBSD может взаимодействовать со всеми типами принтеров.
USBUSB-принтеры можно подключить к любому свободномуUSB-порту компьютера.Когда FreeBSD обнаруживает принтер
USB, создаются два устройства: /dev/ulpt0 и /dev/unlpt0. Данные, отправленные на любое из этих устройств, будут переданы принтеру. После каждой печати ulpt0 сбрасывает портUSB. Сброс порта может вызывать проблемы с некоторыми принтерами, поэтому обычно используется устройство unlpt0. unlpt0 не сбрасывает порт USB вообще.
- Параллельный порт (
IEEE-1284) Параллельный порт устройства это /dev/lpt0. Это устройство присутствует независимо от того, подключен принтер или нет, оно не определяется автоматически.
Производители в основном отказались от этих «устаревших» портов, и многие компьютеры больше их не имеют. Для подключения параллельного принтера к порту
USBможно использовать переходники. С таким переходником принтер можно использовать так, как если бы он был настоящимUSB-принтером. Также для прямого подключения параллельных принтеров к сети можно использовать устройства, называемые серверами печати.
- Последовательный порт (RS-232)
Последовательные порты — это ещё один устаревший интерфейс, который редко используется для принтеров, за исключением некоторых специализированных применений. Кабели, разъёмы и необходимая распиновка могут сильно различаться.
Для последовательных портов, встроенных в материнскую плату, имя последовательного устройства — /dev/cuau0 или /dev/cuau1. Также можно использовать последовательные адаптеры
USB, которые будут отображаться как /dev/cuaU0.Несколько параметров связи должны быть известны для взаимодействия с последовательным принтером. Наиболее важные из них — это скорость передачи или
BPS(бит в секунду) и четность. Значения могут различаться, но обычно последовательные принтеры используют скорость 9600 и отсутствие проверки на четность.
- Сеть
Сетевые принтеры подключаются напрямую к локальной компьютерной сети.
DNSимя хоста принтера должно быть известно. Если принтеру назначается динамический адрес черезDHCP,DNSдолжен динамически обновляться, чтобы имя хоста всегда соответствовало правильномуIP-адресу. Сетевые принтеры часто получают статическиеIP-адреса, чтобы избежать этой проблемы.Большинство сетевых принтеров понимают задания печати, отправленные по протоколу LPD. Также можно указать имя очереди печати. Некоторые принтеры обрабатывают данные по-разному в зависимости от используемой очереди. Например, очередь
rawпечатает данные без изменений, а очередьtextдобавляет символы возврата каретки к обычному тексту.Многие сетевые принтеры также могут печатать данные, отправленные напрямую на порт 9100.
11.2.1. Краткое содержание
Проводные сетевые подключения обычно проще всего настроить и обеспечивают наиболее быструю печать. Для прямого подключения к компьютеру предпочтительнее использовать USB из-за скорости и простоты. Параллельные подключения работают, но имеют ограничения по длине кабеля и скорости. Последовательные подключения сложнее настроить. Разводка кабелей различается в зависимости от модели, а параметры связи, такие как скорость передачи данных и биты четности, добавляют сложности. К счастью, последовательные принтеры встречаются редко.
11.3. Языки описания страниц
Данные, отправляемые на принтер, должны быть на языке, который принтер может понять. Эти языки называются языками описания страниц или PDL (Page Description Languages).
ASCIIОбычный текст
ASCII— это самый простой способ отправить данные на принтер. Символы соответствуют один к одному тому, что будет напечатано: символAв данных напечатаетAна странице. Доступно очень мало возможностей форматирования. Нет способа выбрать шрифт или пропорциональные интервалы. Вынужденная простота обычногоASCIIозначает, что текст можно печатать напрямую с компьютера с минимальным или вообще отсутствующим кодированием или преобразованием. Напечатанный вывод напрямую соответствует отправленным данным.Некоторые недорогие принтеры не могут печатать обычный текст
ASCII. Это усложняет их настройку, но обычно это всё равно возможно.
- PostScript®
PostScript® почти противоположен
ASCII. Вместо простого текста программа PostScript® представляет собой набор инструкций, которые рисуют итоговый документ. Можно использовать различные шрифты и графику. Однако за эту мощь приходится платить. Необходимо написать программу, которая рисует страницу. Обычно эта программа генерируется прикладным программным обеспечением, поэтому процесс остается невидимым для пользователя.Недорогие принтеры иногда не поддерживают совместимость с PostScript® в целях экономии.
PCL(Printer Command Language)PCLявляется расширениемASCII, добавляющим escape-последовательности для форматирования, выбора шрифтов и печати графики. Многие принтеры поддерживаютPCL5. Некоторые поддерживают более новые версииPCL6илиPCLXL. Эти более поздние версии являются надмножествамиPCL5и могут обеспечивать более быструю печать.
- Принтер на основе хоста
Производители могут снизить стоимость принтера, используя простой процессор и минимум памяти. Такие принтеры не способны печатать обычный текст. Вместо этого растровые изображения текста и графики создаются драйвером на главном компьютере и затем отправляются на принтер. Такие принтеры называются host-based (управляемыми хостом).
Взаимодействие между драйвером и принтером, подключенным к хосту, часто осуществляется по проприетарным или недокументированным протоколам, что делает их работоспособными только в наиболее распространённых операционных системах.
11.3.1. Преобразование PostScript® в другие PDL
Многие приложения из Коллекции портов и утилиты FreeBSD создают вывод в формате PostScript®. В следующей таблице представлены утилиты для преобразования этого формата в другие распространённые PDL:
| PDL на выходе | Чем создается | Заметки |
|---|---|---|
|
| |
|
| |
|
| |
|
11.3.2. Краткое содержание
Для наиболее простой печати выберите принтер с поддержкой PostScript®. Принтеры, поддерживающие PCL, являются следующим предпочтительным вариантом. С помощью print/ghostscript9-base эти принтеры можно использовать так, как если бы они изначально понимали PostScript®. Принтеры, которые напрямую поддерживают PostScript® или PCL, почти всегда также поддерживают прямую печать обычных текстовых файлов в формате ASCII.
Строковые принтеры, такие как обычные струйные, обычно не поддерживают PostScript® или PCL. Они часто могут печатать простые текстовые файлы в формате ASCII. Пакет print/ghostscript9-base поддерживает языки описания страниц (PDL), используемые некоторыми из этих принтеров. Однако печать всей графической страницы на таких принтерах часто происходит очень медленно из-за большого объема передаваемых и печатаемых данных.
Настроить принтеры, управляемые хостом, часто сложнее. Некоторые из них вообще нельзя использовать из-за проприетарных языков описания страниц (PDL). По возможности избегайте таких принтеров. Информацию о конкретных PDL, используемых различными моделями принтеров, можно найти на сайте http://www.openprinting.org/printers.
11.4. Прямая печать
Для периодической печати файлы можно отправлять непосредственно на устройство принтера без дополнительной настройки. Например, файл с именем sample.txt можно отправить на принтер с интерфейсом USB:
# cp sample.txt /dev/unlpt0Прямая печать на сетевые принтеры зависит от возможностей принтера, но большинство из них принимают задания на печать через порт 9100, и для этого можно использовать nc(1). Чтобы напечатать тот же файл на принтере с DNS-именем хоста netlaser:
# nc netlaser 9100 < sample.txt11.5. LPD (демон линейного принтера)
Печать файла в фоновом режиме называется спулингом. Спулер позволяет пользователю продолжать работу с другими программами на компьютере, не ожидая завершения медленного процесса печати.
11.5.1. Начальная настройка
Создается каталог для хранения заданий печати, устанавливается владелец, а права доступа настраиваются так, чтобы другие пользователи не могли просматривать содержимое этих файлов:
# mkdir -p /var/spool/lpd/lp
# chown daemon:daemon /var/spool/lpd/lp
# chmod 770 /var/spool/lpd/lpПринтеры определяются в файле /etc/printcap. Запись для каждого принтера включает такие данные, как имя, порт, к которому он подключен, и различные другие параметры. Создайте файл /etc/printcap со следующим содержимым:
lp:\ (1) :lp=/dev/unlpt0:\ (2) :sh:\ (3) :mx#0:\ (4) :sd=/var/spool/lpd/lp:\ (5) :lf=/var/log/lpd-errs: (6)
| 1 | Имя этого принтера. lpr(1) отправляет задания на печать на принтер lp, если другой принтер не указан с помощью -P, поэтому принтер по умолчанию должен называться lp. |
| 2 | Устройство, к которому подключен принтер. Замените эту строку на соответствующую для типа подключения, указанного здесь. |
| 3 | Подавить вывод титульной страницы в начале задания печати. |
| 4 | Не ограничивать максимальный размер задания на печать. |
| 5 | Путь к каталогу спулинга для этого принтера. Каждый принтер использует свой собственный каталог спулинга. |
| 6 | Файл журнала, в который будут записываться ошибки для этого принтера. |
После создания /etc/printcap используйте chkprintcap(8) для проверки на ошибки:
# chkprintcapИсправьте все выявленные проблемы перед продолжением.
Включите lpd(8) в /etc/rc.conf:
lpd_enable="YES"
Запустите службу:
# service lpd start11.5.2. Печать с помощью lpr(1)
Документы отправляются на печать с помощью lpr. Файл для печати может быть указан в командной строке или передан в lpr через конвейер. Эти две команды эквивалентны и отправляют содержимое файла doc.txt на принтер по умолчанию:
% lpr doc.txt
% cat doc.txt | lprПринтеры можно выбрать с помощью -P. Для печати на принтере с именем laser:
% lpr -Plaser doc.txt11.5.3. Фильтры
Примеры, показанные до этого, отправляли содержимое текстового файла напрямую на принтер. Пока принтер понимает содержимое этих файлов, вывод будет печататься корректно.
Некоторые принтеры не способны печатать обычный текст, а входной файл может даже не быть текстовым.
Фильтры позволяют преобразовывать или обрабатывать файлы. Обычно они используются для преобразования одного типа входных данных, например, простого текста, в формат, который принтер может понять, например PostScript® или PCL. Фильтры также могут использоваться для предоставления дополнительных функций, таких как добавление номеров страниц или подсветка исходного кода для удобства чтения.
Обсуждаемые здесь фильтры являются входными фильтрами или текстовыми фильтрами. Эти фильтры преобразуют входящий файл в различные формы. Используйте su(1), чтобы стать root перед созданием файлов.
Фильтры указываются в /etc/printcap с идентификатором if=. Чтобы использовать /usr/local/libexec/lf2crlf в качестве фильтра, измените /etc/printcap следующим образом:
lp:\ :lp=/dev/unlpt0:\ :sh:\ :mx#0:\ :sd=/var/spool/lpd/lp:\ :if=/usr/local/libexec/lf2crlf:\ (1) :lf=/var/log/lpd-errs:
| 1 | if= определяет входной фильтр, который будет использоваться для входящего текста. |
Символы обратной косой черты продолжения строки в конце строк в записях printcap показывают, что запись для принтера на самом деле представляет собой одну длинную строку с элементами, разделёнными двоеточиями. Предыдущий пример можно переписать в виде одной менее читаемой строки: lp:lp=/dev/unlpt0:sh:mx#0:sd=/var/spool/lpd/lp:if=/usr/local/libexec/lf2crlf:lf=/var/log/lpd-errs: |
11.5.3.1. Предотвращение ступенчатости на простых текстовых принтерах
Типичные текстовые файлы FreeBSD содержат только один символ перевода строки в конце каждой строки. Эти строки будут выводиться "лесенкой" на стандартном принтере:
A printed file looks
like the steps of a staircase
scattered by the windФильтр может преобразовывать символы новой строки в возврат каретки и новую строку. Возврат каретки заставляет принтер возвращаться к левому краю после каждой строки. Создайте файл /usr/local/libexec/lf2crlf со следующим содержимым:
#!/bin/sh
CR=$'\r'
/usr/bin/sed -e "s/$/${CR}/g"Установите разрешения и сделайте файл исполняемым:
# chmod 555 /usr/local/libexec/lf2crlfИзмените /etc/printcap, чтобы использовать новый фильтр:
:if=/usr/local/libexec/lf2crlf:\
Протестируйте фильтр, напечатав тот же текстовый файл. Возврат каретки приведет к тому, что каждая строка будет начинаться с левого края страницы.
11.5.3.2. Красивое оформление текста на PostScript® принтерах с помощью print/enscript
GNUEnscript преобразует обычные текстовые файлы в аккуратно отформатированный PostScript® для печати на принтерах PostScript®. Он добавляет номера страниц, переносит длинные строки и предоставляет множество других функций, чтобы сделать печать текстовых файлов более удобочитаемой. В зависимости от местного размера бумаги установите один из пакетов: print/enscript-letter или print/enscript-a4 из коллекции портов.
Создайте файл /usr/local/libexec/enscript со следующим содержимым:
#!/bin/sh /usr/local/bin/enscript -o -
Установите разрешения и сделайте файл исполняемым:
# chmod 555 /usr/local/libexec/enscriptИзмените /etc/printcap, чтобы использовать новый фильтр:
:if=/usr/local/libexec/enscript:\
Проверьте фильтр, напечатав простой текстовый файл.
11.5.3.3. Печать PostScript® на принтеры PCL
Многие программы создают документы в формате PostScript®. Однако недорогие принтеры часто поддерживают только простой текст или PCL. Этот фильтр преобразует файлы PostScript® в PCL перед отправкой на принтер.
Установите интерпретатор PostScript® Ghostscript, print/ghostscript9-base, из коллекции портов.
Создайте файл /usr/local/libexec/ps2pcl со следующим содержимым:
#!/bin/sh /usr/local/bin/gs -dSAFER -dNOPAUSE -dBATCH -q -sDEVICE=ljet4 -sOutputFile=- -
Установите разрешения и сделайте файл исполняемым:
# chmod 555 /usr/local/libexec/ps2pclПоступающие на вход этого скрипта данные в формате PostScript® будут обработаны, преобразованы в PCL и отправлены на принтер.
Измените файл /etc/printcap, чтобы использовать новый входной фильтр:
:if=/usr/local/libexec/ps2pcl:\
Протестируйте фильтр, отправив в него небольшую программу PostScript®:
% printf "%%\!PS \n /Helvetica findfont 18 scalefont setfont \
72 432 moveto (PostScript printing successful.) show showpage \004" | lpr11.5.3.4. Умные Фильтры
Фильтр, который определяет тип входных данных и автоматически преобразует их в правильный формат для принтера, может быть очень удобным. Первые два символа файла PostScript® обычно %!. Фильтр может обнаружить эти два символа. Файлы PostScript® можно передавать на PostScript® принтер без изменений. Текстовые файлы можно преобразовать в PostScript® с помощью Enscript, как показано ранее. Создайте файл /usr/local/libexec/psif с таким содержимым:
#!/bin/sh
#
# psif - Print PostScript or plain text on a PostScript printer
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`
case "$first_two_chars" in
%!)
# %! : PostScript job, print it.
echo "$first_line" && cat && exit 0
exit 2
;;
*)
# otherwise, format with enscript
( echo "$first_line"; cat ) | /usr/local/bin/enscript -o - && exit 0
exit 2
;;
esacУстановите разрешения и сделайте файл исполняемым:
# chmod 555 /usr/local/libexec/psifИзмените файл /etc/printcap, чтобы использовать новый входной фильтр:
:if=/usr/local/libexec/psif:\
Протестируйте фильтр, распечатав файлы в формате PostScript® и обычные текстовые файлы.
11.5.4. Множественные очереди
Записи в /etc/printcap фактически являются определениями очередей. Для одного принтера может быть несколько очередей. В сочетании с фильтрами множественные очереди предоставляют пользователям больше контроля над печатью их заданий.
В качестве примера рассмотрим сетевой PostScript® лазерный принтер в офисе. Большинство пользователей хотят печатать простой текст, но несколько продвинутых пользователей хотят иметь возможность печатать PostScript® файлы напрямую. Для одного и того же принтера можно создать две записи в /etc/printcap:
textprinter:\ :lp=9100@officelaser:\ :sh:\ :mx#0:\ :sd=/var/spool/lpd/textprinter:\ :if=/usr/local/libexec/enscript:\ :lf=/var/log/lpd-errs: psprinter:\ :lp=9100@officelaser:\ :sh:\ :mx#0:\ :sd=/var/spool/lpd/psprinter:\ :lf=/var/log/lpd-errs:
Документы, отправленные на textprinter, будут отформатированы фильтром /usr/local/libexec/enscript, показанным в предыдущем примере. Опытные пользователи могут печатать PostScript® файлы на psprinter, где фильтрация не выполняется.
Этот метод с несколькими очередями может быть использован для предоставления прямого доступа к различным функциям принтера. Принтер с дуплексом может использовать две очереди: одну для обычной односторонней печати и другую с фильтром, который отправляет последовательность команд для включения двусторонней печати, а затем передает входящий файл.
11.5.5. Мониторинг и управление печатью
Доступно несколько утилит для мониторинга заданий печати, проверки и управления работой принтера.
11.5.5.1. lpq(1)
lpq(1) отображает состояние заданий печати пользователя. Задания печати других пользователей не показываются.
Показать ожидающие задания текущего пользователя на одном принтере:
% lpq -Plp
Rank Owner Job Files Total Size
1st jsmith 0 (standard input) 12792 bytesПоказать ожидающие задания текущего пользователя на всех принтерах:
% lpq -a
lp:
Rank Owner Job Files Total Size
1st jsmith 1 (standard input) 27320 bytes
laser:
Rank Owner Job Files Total Size
1st jsmith 287 (standard input) 22443 bytes11.5.5.2. lprm(1)
lprm(1) используется для удаления заданий печати. Обычные пользователи могут удалять только свои собственные задания. root может удалять любые или все задания.
Удалить все ожидающие задания из принтера:
# lprm -Plp -
dfA002smithy dequeued
cfA002smithy dequeued
dfA003smithy dequeued
cfA003smithy dequeued
dfA004smithy dequeued
cfA004smithy dequeuedУдалить отдельное задание из принтера. Для определения номера задания используется lpq(1).
% lpq
Rank Owner Job Files Total Size
1st jsmith 5 (standard input) 12188 bytes
% lprm -Plp 5
dfA005smithy dequeued
cfA005smithy dequeued11.5.5.3. lpc(8)
lpc(8) используется для проверки и изменения состояния принтеров. После lpc указывается команда и, при необходимости, имя принтера. Вместо имени конкретного принтера можно использовать all, и тогда команда будет применена ко всем принтерам. Обычные пользователи могут просматривать статус с помощью lpc(8). Только пользователь root может использовать команды, изменяющие состояние принтеров.
Показать состояние всех принтеров:
% lpc status all
lp:
queuing is enabled
printing is enabled
1 entry in spool area
printer idle
laser:
queuing is enabled
printing is enabled
1 entry in spool area
waiting for laser to come upЗапретить принтеру принимать новые задания, затем снова разрешить прием новых заданий:
# lpc disable lp
lp:
queuing disabled
# lpc enable lp
lp:
queuing enabledПриостановить печать, но продолжать принимать новые задания. Затем возобновить печать:
# lpc stop lp
lp:
printing disabled
# lpc start lp
lp:
printing enabled
daemon startedПерезапустить принтер после возникновения ошибки:
# lpc restart lp
lp:
no daemon to abort
printing enabled
daemon restartedОтключите очередь печати и запретите печать, добавив сообщение для пользователей с объяснением проблемы:
# lpc down lp Repair parts will arrive on Monday
lp:
printer and queuing disabled
status message is now: Repair parts will arrive on MondayВключить принтер, который выключен:
# lpc up lp
lp:
printing enabled
daemon startedСм. lpc(8) для получения дополнительных команд и параметров.
11.5.6. Общие принтеры
Принтеры часто используются совместно несколькими пользователями в офисах и учебных заведениях. Для удобства совместного использования предусмотрены дополнительные функции.
11.5.6.1. Aliases
Имя принтера задается в первой строке записи в /etc/printcap. Дополнительные имена или псевдонимы могут быть добавлены после этого имени. Псевдонимы отделяются от имени и друг от друга вертикальными чертами:
lp|repairsprinter|salesprinter:\
Алиасы могут использоваться вместо имени принтера. Например, сотрудники отдела продаж печатают на свой принтер с помощью
% lpr -Psalesprinter sales-report.txtПользователи отдела ремонта печатают на своём принтере с помощью
% lpr -Prepairsprinter repairs-report.txtВсе документы печатаются на этом единственном принтере. Когда отдел продаж разрастётся настолько, что ему понадобится собственный принтер, псевдоним можно удалить из записи общего принтера и использовать как имя нового принтера. Пользователи в обоих отделах продолжают использовать те же команды, но документы отдела продаж отправляются на новый принтер.
11.5.6.2. Страницы заголовков
Пользователям может быть сложно найти свои документы в стопке страниц, напечатанных на занятом общем принтере. Для решения этой проблемы были созданы титульные страницы. Перед каждой задачей печати выводится титульная страница с именем пользователя и названием документа. Эти страницы также иногда называют баннерами или разделителями.
Включение титульных страниц различается в зависимости от того, подключен ли принтер напрямую к компьютеру с помощью кабеля USB, кабеля параллельного или последовательного порта или удаленно через сеть.
Заголовочные страницы на непосредственно подключенных принтерах включаются путем удаления строки :sh:\ (Suppress Header) из записи в файле /etc/printcap. Эти заголовочные страницы используют только символы перевода строки для новых строк. Некоторым принтерам может потребоваться фильтр /usr/share/examples/printing/hpif, чтобы предотвратить ступенчатый текст. Фильтр настраивает принтеры PCL на печать как возврата каретки, так и перевода строки при получении символа перевода строки.
Заглавные страницы для сетевых принтеров должны быть настроены на самом принтере. Записи заглавных страниц в /etc/printcap игнорируются. Настройки обычно доступны через панель управления принтера или веб-интерфейс конфигурации, который можно открыть в браузере.
11.6. Другие системы печати
Несколько других систем печати доступны в дополнение к встроенной lpd(8). Эти системы обеспечивают поддержку других протоколов или дополнительные возможности.
11.6.1. CUPS (Common UNIX® Printing System)
CUPS — это популярная система печати, доступная во многих операционных системах. Использование CUPS в FreeBSD описано в отдельной статье: CUPS
11.6.2. HPLIP
Компания Hewlett Packard предоставляет систему печати, поддерживающую многие их струйные и лазерные принтеры. Порт находится в print/hplip. Основная веб-страница расположена по адресу https://developers.hp.com/hp-linux-imaging-and-printing. Порт обрабатывает все детали установки в FreeBSD. Информация по настройке доступна на странице https://developers.hp.com/hp-linux-imaging-and-printing/install.
11.6.3. LPRng
LPRng был разработан как улучшенная альтернатива lpd(8). Порт находится в sysutils/LPRng. Подробности и документацию можно найти на https://lprng.sourceforge.net/.
Изменено: 20 октября 2025 г. by Vladlen Popolitov