Объяснение команд управления печатью в Linux с примерами
В этом уроке мы поговорим о том, как управлять принтерами CUPS из командной строки.
Вступление
Теперь, как вы знаете, вы можете использовать веб-утилиту администрирования CUPS для управления службой CUPS, работающей в системе Linux.
Однако вы также можете использовать множество различных инструментов командной строки для управления CUPS.
В этом уроке мы собираемся рассмотреть, что это за инструменты командной строки.
Итак, давайте начнем с обсуждения того, как отправить задание на печать на принтер CUPS прямо из командной строки.
Команда lp
Вы можете отправить задание на печать на принтер CUPS, используя lp
команда в командной строке.
Отправить задание на печать на принтер CUPS
В lp
Команда может отправить конкретный файл на ваш принтер CUPS, синтаксис делает это, как показано здесь.
Синтаксис: lp [options] [printer_name] [filename]
Мы бежим lp -d
затем принтер, на который вы хотите отправить задание на печать, а затем имя файла, который вы хотите распечатать.
Здесь показан пример, в котором мы отправляем файл с именем projectschedule.txt
к принтеру с именем HPLJ5, используя lp
команда.
# lp -d HPLJ5 projectschedule.txt
request id is HPLJ5-2 (1 file(s))
Теперь обратите внимание, что когда мы делаем это, создается задание на печать, и ему назначается идентификационный номер, в данном случае он HPLJ5-2
.
Задание на печать добавляется в очередь печати, а затем отправляется непосредственно на принтер.
Сейчас lp
утилита может использовать некоторые другие параметры помимо -d
вариант.
Установите количество копий на печать
Мы также можем использовать -n
с командой, чтобы указать, сколько копий задания на печать мы хотим распечатать.
Я хочу напечатать 5 копий, для которых я могу выполнить следующую команду.
# lp -n 5 projectschedule.txt
Отправьте электронное письмо, когда работа будет завершена
Мы можем использовать -m
возможность указать, что lp
отправьте подтверждающее сообщение электронной почты пользователю, отправившему задание на печать, после завершения печати задания.
# lp -m projectschedule.txt
Установите приоритет задания на печать
Вы можете использовать -q
параметр, за которым следует номер, чтобы установить приоритет задания на печать.
Например, я хочу уделить первоочередное внимание этому отпечатку, для чего мне нужно выполнить следующую команду.
# lp -q 1 projectschedule.txt
Печать в альбомном формате вместо портретного
Вы можете использовать -o landscape
параметр, чтобы указать, что файл будет напечатан в альбомном формате, а не в вертикальном.
# lp -o landscape projectschedule.txt
Печать на обеих сторонах листа
А если ваш принтер поддерживает двустороннюю печать, вы можете использовать -o sides=2
возможность указать, что мы печатаем на обеих сторонах листа.
# lp -o sides=2 projectschedule.txt
Команда lpstat
В добавок к lp
вы также можете использовать другую утилиту под названием lpstat
в командной строке.
В lpstat
утилита используется для отображения информации о принтере CUPS и, вероятно, является одной из самых полезных опций, которые вы можете использовать lpstat -t
.
Это вызовет lpstat
для отображения всей информации обо всех принтерах чашек в системе.
В показанном здесь примере я запустил lpstat
и мы видим, что у меня в системе настроен только один принтер, его имя HPLJ5.
# lpstat -t
scheduler is running
no system default destination
device for HPLJ5: parallel: /dev/lp0
HPLJ5 accepting requests since Thu 20 2021 03:55:13 AM MDT
printer HPLJ5 is idle. enabled since Thu 20 2021 03:55:13 AM MDT
Printer is now online
И вы можете видеть, что он связан с подключением к параллельному порту, мы также можем видеть, как долго он работает, он говорит нам, что он принимает запросы с тех пор, как Thu 20 2021 03:55:13 AM IST
.
Мы также видим, каков его статус, мы видим, что он в настоящее время простаивает, что означает, что он фактически не обрабатывает какие-либо задания на печать, и мы также видим, что он находится в сети и ожидает, что он доступен для выполнения заданий печати.
Кроме того, если бы этот принтер не бездействовал, но мы активно обрабатывали задания на печать, список всех ожидающих заданий печати в очереди также был бы указан в выводе lpstat
команда.
отменить команду
Теперь, если у вас есть ожидающее задание печати, это задание печати находится в очереди печати, и вы понимаете, что не хотите, чтобы это задание действительно печаталось, вы можете использовать cancel
команда, чтобы убить это задание печати.
Синтаксис: cancel job_ID
Теперь для этого вам сначала нужно иметь задания на печать. идентификационный номер вакансии и вы могли бы использовать lpstat
команда, чтобы узнать, что это идентификационный номер вакансии является.
Как только вы это узнаете, просто введите cancel
и в этом случае мы отменяем задание печати HPLJ5-4.
# cancel HPLJ5-4
Когда я это делаю, задание прерывается, печать прекращается, а файл задания на печать удаляется из очереди печати.
Команда lpoptions
Теперь, если у меня определено более одного принтера CUPS, я могу использовать lpoptions
, чтобы указать, какой принтер будет принтером по умолчанию для моей системы.
Синтаксис: lpoptions [options] [printer]
И это делается с помощью -d
параметр, за которым следует имя принтера, который вы хотите использовать по умолчанию.
Установить принтер по умолчанию в Linux
Например, если я хочу установить принтер HPLJ5 в качестве принтера по умолчанию, я должен ввести следующую команду.
# lpoptions -d HPLJ5
Это установит принтер по умолчанию для всех пользователей в одной системе.
Теперь имейте в виду, что отдельные пользователи могут переопределить этот параметр принтера по умолчанию, однако для этого они создают скрытый файл в своем домашнем каталоге с именем .lpoptions
.
Помните, что точка (.
) в начале имени файла указывает, что это скрытый файл, а затем внутри этого файла они добавляют директиву default
КОСМОС(Нажмите клавишу пробела на клавиатуре), а затем имя принтера, который они хотят использовать по умолчанию.
Вот пример.
# vi .lpoptions
default HPLJ2
Например, предположим, что у меня было два принтера, подключенных к системе, один из них HPLJ5 и другие HPLJ2.
Создав этот файл в моем домашнем каталоге и поместив туда этот текст, мой принтер по умолчанию всегда будет HPLJ2 независимо от того, что системный администратор ввел с lpoptions
команда.
Просмотр параметров конфигурации ваших принтеров
Кроме того, вы также можете использовать lpoptions
для просмотра параметров конфигурации ваших принтеров.
Для этого вы используете -l
вариант с lpoptions
команда.
# lpoptions -l HPLJ2
Как включить или отключить очередь печати
Теперь помимо lpoptions
есть другие команды, которые можно использовать для включения или отключения очереди печати принтеров.
Вы можете использовать cupsaccept
команда, чтобы включить очередь печати, и вы можете использовать cupsreject
команда для отключения очереди печати.
Синтаксис:
- Включите очередь принтера:
cupsaccept printer_name
- Отключить очередь принтера:
cupsreject printer_name
Отключить очередь печати
В этом примере я использую cupsreject
Команда HPLJ5 для отключения очереди печати принтеров HPLJ5.
# cupsreject HPLJ5
Если мы посмотрим на вывод lpstat
под ней мы видим, что HPLJ5 не принимает запрос и сообщает нам, когда в основном cupsreject
команда была запущена, она сообщает нам, что отклоняет задания.
# lpstat -t
scheduler is running
system default destination: HPLJ5
device for HPLJ5: parallel: /dev/lp0
HPLJ5 not accepting requests since Thu 20 2021 03:55:13 AM IST - Rejecting Jobs
printer HPLJ5 is idle. enabled since Thu 20 2021 03:55:13 AM IST
Rejecting Jobs
Теперь поймите, что если мы воспользуемся cupsreject
команда, принтер сам продолжит обработку всех заданий печати в очереди, если он когда-либо окажется в очереди в то время, когда мы запустили cupsreject
команда.
Несмотря на то, что он продолжит обработку любых заданий на печать, находящихся в очереди, демон CUPS не позволит новым заданиям попасть в очередь.
Итак, если мы хотим работать на принтере, и мы используем принтер, и мы используем cupsreject
нам придется дождаться завершения всех ожидающих заданий, прежде чем мы сможем перевести ее в автономный режим.
Теперь, если вы хотите, вы можете использовать -hold
параметр с cupsreject
команда.
Это скажет принтеру прекратить печать после завершения текущего задания, вместо того, чтобы проходить каждое отдельное задание в очереди печати.
Включить очередь печати
Когда я закончу работать с принтером, я могу снова включить его, введя cupsaccept
за которым следует имя принтера в приглашении оболочки, и вы снова начнете обрабатывать очередь.
# cupsaccept HPLJ5
Итак, в основном, cupsaccept
а также cupsreject
включить или отключить саму очередь печати, но не принтер.
Как включить или отключить сам принтер
Теперь мы можем выполнить ту же задачу с другой точки зрения, используя разные команды.
Например, если бы мы хотели отключить сам принтер, но не очередь печати, мы бы использовали другую команду.
Отключите принтер
Мы используем cupsdisable
команда вместо cupsreject
команда, синтаксис такой же, как мы вводим cupsdisable
за которым следует имя принтера.
Синтаксис: cupsdisable printer_name
Пример этого показан прямо здесь.
# cupsdisable HPLJ5
Теперь, когда я запускаю эту команду, сама очередь печати, связанная с принтером HPLJ5, будет продолжать принимать новые задания, но ни одно из них на самом деле не будет отправлено на физический принтер.
Они просто будут стоять в очереди, ожидая, пока вы сделаете то, что вам нужно.
Вы можете увидеть это в выводе lpstat
уведомление о команде здесь говорит нам, что состояние принтера приостановлено.
# lpstat -t
scheduler is running
system default destination: HPLJ5
device for HPLJ5: parallel: /dev/lp0
HPLJ5 accepting requests since Thu 20 2021 03:55:13 AM IST
printer HPLJ5 is disabled since Thu 20 2021 03:55:13 AM IST
Paused
Это сама очередь печати все еще принимает запросы, но принтер отключен.
Включите принтер
Ни одно из заданий, отправленных в очередь печати, фактически не будет напечатано, пока вы не включите принтер с помощью cupsenable
команда.
Вы входите cupsenable
за которым следует имя принтера.
Синтаксис: cupsenable printer_name
Итак, чтобы включить принтер, введите следующую команду.
# cupsenable HPLJ5
Выпускает незавершенные задания на печать
И вы обычно используете --release
вариант с cupsenable
команда, чтобы освободить все отложенные задания в очереди на печать.
# cupsenable --release HPLJ5
Управление заданиями на печать с помощью команд Line Printer Daemon (lpd)
Теперь вы также можете использовать команды Line Printer Daemon (lpd) для управления заданиями печати в системе, они называются командами lpd (Line Printer Daemon).
Сейчас CUPS является предпочтительной системой печати для современных дистрибутивов Linux, однако много лет назад предпочтительной системой печати был Line Printer Daemon (lpd).
Теперь большинство команд lpd имеют функциональные возможности, аналогичные тем, которые предлагает команда CUPS.
Главное помнить, что большинство этих команд lpd по-прежнему работают с демоном CUPS, даже если они были разработаны для работы с демоном lpd.
Отправьте файл на принтер для печати
Например, чтобы отправить файл на принтер, вы используете эту команду здесь, lpr -P
(Заглавная P), за которой следует имя принтера, за которым следует имя файла, который вы хотите распечатать.
# lpr -P HPLJ5
Запросить статус принтера
Вы можете запросить статус принтера, используя lpc status
команда.
# lpc status
Просмотр списка ожидающих заданий на печать
Вы можете просмотреть список отложенных заданий на печать в очереди печати, введя lpq
команда.
# lpq
Удалить отложенное задание из очереди печати
И вы можете удалить ожидающее задание из очереди печати, используя lprm
команда, за которой следует номер задания на печать, от которого вы хотите избавиться.
Вот пример.
# lprm HPLJ5-4
Заключение
Надеюсь, вы кое-что узнали из этой статьи.
Я изо всех сил старался включить все команды управления печатью.
Теперь хотелось бы услышать ваши мысли.
Было ли это руководство полезно для вас?
Или, может быть, у вас есть вопросы.
Разве я не включил в это руководство какую-либо команду?
Оставьте комментарий ниже.