Гид по технологиям

Команда lp в Linux: руководство по печати из терминала

• 6 min read • Linux • Обновлено 30 Nov 2025
Команда lp в Linux — печать из терминала
Команда lp в Linux — печать из терминала

Пример печати: изображение принтера и листа

Введение в lp и CUPS

CUPS (Common UNIX Printing System) — это системный слой для управления принтерами, очередями и опциями печати в Linux. Команда lp (Line Printer) — один из интерфейсов к CUPS. Она отправляет файл на печать. Команда lpq позволяет просматривать очередь печати.

Краткое определение: CUPS — сервис для управления печатью в UNIX-подобных системах. lp — клиентская команда для отправки заданий в CUPS.

Базовая синтаксическая модель lp

Общий синтаксис:

lp -d [printer-id] [filename]

Параметры:

  • -d [printer-id] — указать целевой принтер (если пропустить, будет использован принтер по умолчанию);
  • [filename] — путь к файлу для печати.

Важно: многие примеры в тексте используют явные кавычки для имён принтеров с пробелами, например “Ink-Tank-310”.

Как проверить, установлен ли lp

Проверка наличия команды на системе:

which lp

Если lp установлен, вы увидите путь, например:

/usr/bin/lp

Если команда не найдена, установите пакеты CUPS или совместимые утилиты через менеджер пакетов вашей системы. На Debian/Ubuntu распространённые пакеты:

sudo apt update
sudo apt install cups cups-bsd

Примечание: в некоторых руководствах встречается пакет lprng. Он предоставляет альтернативные инструменты печати; чаще используется стандартный пакет cups и cups-bsd для совместимости с lp и lpq.

Перечисление доступных принтеров

Чтобы увидеть список доступных принтеров:

lpstat -a | awk '{print $1}'

Чтобы увидеть принтер по умолчанию:

lpstat -d

Эти команды читают информацию из CUPS и выводят имена устройств, которые можно использовать с опцией -d.

Печать на конкретный принтер

Если подключён только один принтер, достаточно:

lp hello.txt

Чтобы явно указать принтер:

lp -d "Ink-Tank-310" /home/debian/mte/hello.txt

Если имя принтера содержит пробелы, берите его в кавычки.

Просмотр очереди печати

Команда lpq показывает текущую очередь печати. На Debian/Ubuntu может понадобиться пакет cups-bsd для доступности lpq:

sudo apt install cups-bsd

Пример использования:

lpq -P"Ink-Tank-310"

Ожидаемый вывод при пустой очереди:

lpq -P"Ink-Tank-310"
Ink-Tank-310 is ready
no entries

Печать нескольких копий

Опция -n задаёт число копий:

lp -d "Ink-Tank-310" -n 10 hello.txt

Обычно допустимый диапазон копий зависит от драйвера и сервера печати. Для большинства систем можно запросить от 1 до 100 копий.

Ориентация страницы и установка размера бумаги

Опция -o позволяет задавать множество параметров задания. Частые варианты:

  • -o portrait — книжная ориентация;
  • -o landscape — альбомная ориентация;
  • -o media=letter — формат бумаги (пример: letter, A4 и т.д.).

Пример комбинирования:

lp -d "Ink-Tank-310" -n 10 -o portrait -o media=letter hello.txt

Некоторые драйверы могут требовать других имён параметров (например, landscape может поддерживаться как orientation-requested). Если команда не даёт ожидаемого результата, проверьте man lp и страницу принтера в веб-интерфейсе CUPS.

Односторонняя и двусторонняя печать

Параметр sides управляет двусторонней печатью:

  • two-sided-long-edge — двусторонняя печать, переворот по длинному краю (обычно для книжной ориентации);
  • two-sided-short-edge — переворот по короткому краю (обычно для альбомной ориентации).

Пример:

lp -d "Ink-Tank-310" -n 10 -o portrait -o media=letter -o sides=two-sided-long-edge hello.txt

Если принтер не поддерживает двустороннюю печать аппаратно, сервер CUPS может эмулировать её (вручную печатая стороне и прося пользователя перевернуть бумагу), но лучше проверять возможности принтера заранее.

Частые параметры lp — шпаргалка

ОпцияОперация
-EПринудительное использование шифрования для соединений с сервером
–Маркер конца опций. Используется для печати файлов с именами, начинающимися с дефиса (-)
-dУказать целевой принтер (destination)
-UИмя пользователя для соединения с сервером
-hИмя хоста сервера (hostname)
-mОтправить уведомление (email) по завершении задания
-nКоличество копий (copies)
-qПриоритет задания в очереди (1 — минимальный, 50 — по умолчанию, 100 — максимальный)
-iИдентификатор задания (job-id) для модификации
-tИмя задания (name)
-oЗадать опции задания в виде name=value (можно несколько)

Для полного списка опций используйте:

man lp

Примеры типичных задач

Печать файла на принтер по умолчанию, формат A4:

lp -o media=A4 document.pdf

Печать PDF на конкретный принтер, 3 копии, альбомная ориентация:

lp -d "HP-OfficeJet" -n 3 -o landscape document.pdf

Отправка задания с именем и приоритетом:

lp -t "Отчёт по продажам" -q 75 report.pdf

Отмена задания (пример):

lpstat -o
# затем
cancel [job-id]

Диагностика и типичные ошибки

  • Ошибка: “command not found” — установите cups/cups-bsd или проверьте PATH.
  • Принтер не отвечает — проверьте состояние в lpstat и веб-интерфейсе CUPS (обычно http://localhost:631).
  • Неправильная ориентация или бумага — проверьте опции -o media и совместимость драйвера.
  • Задание «застряло» в очереди — попытайтесь перезапустить сервис CUPS:
sudo systemctl restart cups

Если это не помогает, проверьте логи:

sudo journalctl -u cups -b | tail -n 200

Когда lp не подходит — альтернативные подходы

  • Используйте lpr (часто установлен в Unix-совместимых системах) — синтаксис похож, но опции могут отличаться.
  • Графические утилиты: система настроек принтеров в DE (GNOME, KDE) или веб-интерфейс CUPS (http://localhost:631).
  • Если нужна массовая автоматизация печати — применяйте скрипты на Python с библиотекой для работы с CUPS (pycups).

Быстрые руководства и чек-листы

Чек-лист для пользователя:

  • Убедитесь, что принтер включён и подключён;
  • Проверьте lpstat -a на наличие принтера;
  • Попробуйте распечатать одну страницу на принтер по умолчанию;
  • Если нужно — используйте -d для явного выбора принтера;
  • Укажите -n, -o portrait/landscape и -o media при необходимости.

Чек-лист для администратора:

  • Проверьте статус службы CUPS: sudo systemctl status cups;
  • Просмотрите доступные драйверы и PPD-файлы в /etc/cups/ppd/;
  • Настройте шифрование соединений и контроль доступа при необходимости (опция -E и конфигурация CUPS);
  • Настройте уведомления о завершении (опция -m) и логи для аудита.

Мини-методология: печать файла из терминала (5 шагов)

  1. Убедиться, что lp доступна: which lp.
  2. Убедиться, что принтер виден: lpstat -a.
  3. Выполнить тестовую печать на принтер по умолчанию: lp test.txt.
  4. Если нужно — указать дополнительные опции (-d, -n, -o).
  5. Проверить очередь и статус: lpq или lpstat -o.

Безопасность и конфиденциальность

Печать может передавать чувствительные данные через сеть. Рекомендации:

  • Включайте шифрование при удалённом подключении к серверу печати;
  • Используйте контроль доступа в CUPS (файлы конфигурации и ACL);
  • Убирайте старые задания из очереди и регулярно чистите журналы, содержащие PII.

Полезная шпаргалка (cheat sheet)

  • lp -d “Printer” file.pdf — распечатать на указанном принтере;
  • lp -n 5 file.txt — напечатать 5 копий;
  • lp -o landscape -o media=A4 file.pdf — альбомная печать на A4;
  • lpq -P”Printer” — просмотреть очередь;
  • lpstat -a — список принтеров;
  • cancel [job-id] — отменить задание.

Часто задаваемые вопросы

Q: Что делать, если после команды lp документ не печатается? A: Проверьте lpstat -o и lpq, статус службы CUPS, логи в journalctl и убедитесь, что драйвер принтера установлен.

Q: Можно ли печатать напрямую на сетевой принтер по IP? A: Да. Можно добавить принтер в CUPS по URI (например, socket:// или ipp:///ipp). После добавления используйте имя принтера с -d.

Q: Как задать имя задания, чтобы легче было управлять очередью? A: Используйте опцию -t: lp -t “Название задания” файл.pdf.

Итог

Команда lp — простой и мощный инструмент для печати из терминала в Linux. Она даёт гибкость для автоматизации и ручной печати: выбор принтера, число копий, ориентация, формат бумаги и двусторонняя печать. При возникновении проблем используйте lpstat, lpq, логи CUPS и веб-интерфейс http://localhost:631.

Важно: если вы используете корпоративную сеть или печатаете конфиденциальные данные, настройте шифрование и контроль доступа к серверу печати.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро