Печать из командной строки Linux: настройка CUPS и lp
В этом руководстве мы настроим принтер, который будет печатать вывод в /dev/null. Мы также покажем, как отправить документ на принтер и управлять очередью печати.
Настройка демонстрационного принтера
Для настройки демонстрационного принтера мы будем использовать CUPS (Common UNIX Printing System). Это свободно распространяемый модуль печати, который большинство дистрибутивов Linux используют в качестве стандарта для управления принтерами.
🔹Установка CUPS
Сначала установите CUPS с помощью APT:
sudo apt install cups
Далее включите и запустите службу CUPS:
sudo systemctl enable --now cups
🔹Создание тестового принтера
Теперь создайте фиктивный принтер, печатающий на /dev/null:
sudo lpadmin -p demo-printer -E -v file:///dev/null
Если действие выполнено успешно, то он появится в списке принтеров:
sudo lpstat -s
Опционально мы можем отметить наш новый принтер как принтер по умолчанию:
sudo lpoptions -d demo-printer
🔹Печать из командной строки
Базовое использование
Чтобы распечатать документ, используйте команду "lp":
lp [файл_к_печати]
Поскольку принтер не указан, lp отправляет документ на печать на принтер по умолчанию. Если вы сконфигурировали демонстрационный принтер, печатающий в /dev/null, то на самом деле он не будет производить никакого вывода.
🔹Печать нескольких копий
Чтобы распечатать несколько копий документа, выполните следующую команду:
lp -n [количество_копий] [файл_к_печати]
🔹Очередь печати
При работе с реальными принтерами обычно требуется некоторое время для завершения печати одной копии. Однако у вас может быть несколько документов, которые вы хотите распечатать. Что делать в такой ситуации?
Благодаря функции очереди печати вы можете отправить на печать сразу все документы. Сервер CUPS хранит дополнительные документы в буфере. Как только текущее задание печати завершается, он автоматически отправляет на печать новый документ.
Для просмотра списка отпечатков, которые в данный момент находятся в очереди, используйте следующую команду:
lpq
🔹Отмена задания печати
Что делать, если вы случайно отправили на печать не тот документ? Пока документ еще не отправлен на принтер, мы можем удалить его из очереди печати:
cancel [номер_задания_печати]
Однако делать это следует быстро. Иначе документ будет уже напечатан.
🔹Двусторонняя печать
По умолчанию большинство принтеров настроены на одностороннюю печать. Однако мы можем указать CUPS на двухстороннюю печать:
lp -o sides=two-sided-long-edge [файл_к_печати]
Если вы хотите сделать двухстороннюю печать конфигурацией по умолчанию, используйте следующую команду:
lpoptions -o sides=two-sided-short-edge
Если необходимо вернуться к односторонней печати, выполните следующую команду:
lpoptions -o sides=one-sided
🔹Альбомная печать
Мы также можем указать печать в альбомном режиме. Для этого выполните следующую команду:
lp -o landscape [файл_к_печати]
🔹Вывод списка подключенных принтеров
Чтобы получить список всех принтеров, подключенных к системе, выполните следующую команду:
lpstat -a
🔹Установка принтера по умолчанию
При печати из командной строки без указания принтера команда "lp" отправляет документ на принтер по умолчанию.
Существует несколько способов задать принтер по умолчанию. Как было показано в начале данного руководства, для задания принтера по умолчанию можно использовать команду "lpoptions":
sudo lpoptions -d [имя_принтера]
В качестве альтернативы можно использовать переменную окружения PRINTER для указания принтера по умолчанию:
export PRINTER=[имя_принтера]
Если вы хотите сделать это изменение постоянным, добавьте эту строку в файл "bashrc":
tail ~/.bashrc
echo "export PRINTER=<имя_принтера>" >> ~/.bashrc
👉 @i_odmin