Объяснение команд управления печатью в 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

Заключение

Надеюсь, вы кое-что узнали из этой статьи.

Я изо всех сил старался включить все команды управления печатью.

Теперь хотелось бы услышать ваши мысли.

Было ли это руководство полезно для вас?

Или, может быть, у вас есть вопросы.

Разве я не включил в это руководство какую-либо команду?

Оставьте комментарий ниже.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.