Печать через консоль линукс

Печать через консоль линукс

В этом разделе обсуждается как печатать файлы, проверять очередь печати, удалять задания из очереди, форматировать файлы до их печати и производить настройку среды печати.

Система печати Linux — lp система — это порт исходного кода написанного в Университете Калифорнии для BSD версии операционной системы UNIX.

Наиболее простой путь для печати в операционной системе Linux это посыл файла для печати прямо на устройство печати. Для того чтобы сделать это используется команда cat . Как пользователь root , наберите что-то подобное этому

В этом случае, /dev/lp это символическая ссылка на устройство печати — это может быть матричный или лазерный принтер, typesetter, или плоттер. (См. ln (1) для более полной информации о символических ссылках)

В целях безопасности, только пользователь root и пользователи в той же группе что и демон принтера могут писать прямо на принтер. Поэтому такие команды как lpr , lprm , and lpq должны использоваться для доступа к принтеру.

Поэтому пользователи должны использовать lpr для печати файлов. Команда lpr берет на себя заботы о всей начальной работе необходимой для печати файла, и затем передает контроль другой программе, lpd , демону линейной печати. Затем демон линейной печати говорит принтеру как печатать файл.

Когда выполняется команда lpr , она первым делом копирует заданный файл в определенную директорию (spool directory), где файл остается пока lpd печатает его. Когда lpd сообщают, что есть файл для печати, он запускает копию своего процесса (что программисты называют forking). Эта копия процесса будет печатать наш файл в то время как оригинальный процесс будет ждать других запросов. Это позволяет обслуживать много заданий печати в одно время.

Синтаксис lpr (1) очень прост,

Если имя_файла не задано, lpr ожидает ввод данных со стандартного вводаexpects (обычно клавиатура, или вывод другой программы). Это позволяет пользователям перенаправлять вывод комманд в очередь печати. Вот так,

Команда lpr принимает несколько аргументов командной строки что позволяет пользователям контролировать его работу. Вот некоторые из часто используемых аргументов: — P printer определяет какой принтер использовать, — h suppresses printing of the burst page, — s создает символическую ссылку вместо копирования файла в директорию спула (полезно для больших файлов), и — # num определяет количество копий печати. Пример взаимодействия с lpr может выглядеть подобно этому

Эта команда создает символическую ссылку на файл thesis.txt в директории спула для принтера названного dj , где он будет обработан демоном печати lpd . Затем будет напечатана вторая копия файла thesis.txt .

Для просмотра всех опций, которые может принимать lpr , смотрите мануал по lpr (1).

Для просмотра содержимого очереди печати используется команда lpq . Команда запущенная без аргументов, она возвращает содержимое очереди печати принтера по умолчанию.

Вывод возвращаемый lpq может быть полезен для многих целей.

Другое полезное свойство любой системы печати это возможность отмены задания, которое было перед этим помещено в очередь. Чтобы сделать это используйте команду lprm .

Показанная выше команда отменяет все задания печати владельцем котрых является пользователь выполнивший эту команду. Для того чтобы отменить одиночное задание печати, надо сначала получить номер задания с помощью команды lpq и затем сообщить полученный номер команде lprm . Например,

Читайте также:  Linux deepin установка рядом с windows

отменит задание номер 31 ( thesis.txt ) на принтере по умолчанию.

Программа lpc (8) используется для контроля принтеров, которые обслуживает демон lpd. Вы можете разрешать или запрещать использование принтера или их очередей, перераспределять задания внутри очереди, и получать информацию о состоянии принтеров и их очередей. Lpc наиболее часто используется в системах, где несколько принтеров установлено на одну машину.

Команда показанная выше запускает программу lpc. По умолчанию, она входит в интерактивный режим и вы можете начинать вводить команды. Другие опции используются для запуска команды lpc в командной строке.

Список всех возможных команд перечислен на странице руководства команды lpd , но здесь перечислено несколько главных команд, которые вы должны знать. Любые команды обозначенные как option могут быть либо именем принтера (lp, print, etc) или ключевым словом all , которое обозначает все принтера.

  • disable option — запрещает добавление любых новых заданий печати
  • down option — запрещает все задания на принтере
  • enable option — разрешает ввод новых заданий в очередь печати
  • quit (or exit) — покинуть lpc
  • restart option — перезагрузить lpd для данного принтера
  • status option — статус печати принтера
  • up option — разрешить все и стартовать новый демон lpd

Небольшое замечание here on RedHat’s amazing printtool program.

Она умеет делать все, что должен делать magicfilter. RedHat уже установил много программ для использования фильтров. Здесь показано как установить принтер HP LJ 4L, подключенный к параллельному порту, в RedHat 4.0 (эта процедура должна быть одинаковой для всех версий RH).

  • Войдите как root и запустите printtool (если вы используете команду su, вы должны установить SETENV DISPLAY :0.0 и xhost +).
  • Щелкните кнопку «Add» («Добавить»), и нажмите «OK» для локального принтера.
  • Заполните поле именем устройства печати (например /dev/lp1)
  • Заполните поле входного фильтра — Выберите тип принтера, разрешение и размер бумаги (ljet4, 300×300 и letter для нашего примера)
  • Нажмите «OK», и перезапустите lpd.

Подобным образом исправляя файл /etc/printcap вручную, вы можете иметь множество определений принтера для каждого физического принтера. Каждое для различных размеров бумаги, разрешений и т.п.

Источник

Печать файлов из командной строки Linux

Автор: Нагибин Владимир . Дата статьи: 18.12.2008 г.

Очень часто, разбирая в Терминале содержимое того или иного конфигурационного файла Linux, возникает желание распечатать его на бумаге. Совсем не обязательно копировать содержимое файла в OpenOffice и потом отправлять его на печать. Достаточно воспользоваться командой lp, входящей в состав каждого дистрибутива Linux.

Для примера, попробуем вывести на печать содержимое одного из важных конфигурационных файлов ОС Linux — /etc/fstab. Для этого выполним команду:

Достав полученное из принтера, мы увидим, что содержимое файла распечаталось, но имеет весьма неприглядный вид — у документа получились строки разной длины (отсутствует форматирование). Для того, чтобы придать документу более читаемый вид, вместе с командой lp используем параметр -o page-top=, который позволит нам назначить определенную ширину строк.

К примеру, выполнив:

мы получим распечатанный документ, в котором ширина строки будет равна 70 символам.

Если вам необходимо распечатать несколько копий документа, используйте вместе с командой lp параметр -n, который задает количество копий при печати (от 1 до 100):

Иногда бывает удобно сделать так, чтобы система отправляла вам на e-mail сообщение о успешном завершении задания. Для этого воспользуемся параметром -m, который выполняет вышеуказанное действие.

lp -o page-top=70 -n 3 -m user@localhost /etc/fstab

Возможно, что при использовании команды lp и отправке на печать вы увидите ошибку «lp: Ошибка — нет доступного назначения по умолчанию.»:

Это означает, что у вас в Linux не определен принтер по умолчанию. Исправить это можно выполнив следующие действия:

Выберите Система — Параметры — Принтер по умолчанию.

Откроется окно, в котором вам следует выделить курсором необходимый принтер и нажать на кнопку «Использовать по умолчанию»(обведено красным):

После этого пробуйте выполнить команду lp с необходимыми вам параметрами.

IT-поддержка

Оказываем квалифицированную помощь в поддержке Вашей IT-инфраструктуры

Источник

lpr: печать из командной строки

Команда lpr (line printer) печатает файл из терминала Linux. Утилита lpr помещает один или несколько файлов в очередь печати. Концепция очереди позволяет нескольким пользователям системы направлять вывод на один принтер. Очередь печатается последовательно, то есть первый файл в очереди будет напечатан первым. Если вы редактируете большинство своих файлов в консольных редакторах, таких как vim или nano, и хотите быстро распечатать набранный текст, вы найдете команду lpr очень легкой в употреблении и удобной. Для того, чтобы печатать с помощью команды lpr, необходимо установить пакет System printer configuration. Это можно сделать с помощью следующих команд:

В Debian/Ubuntu:

В Fedora/Cent OS/RedHat:

В других дистрибутивах пакет system-config-printer также должен иметься в репозиториях.

Откройте его и кликните Add.

Выберите и добавьте свой принтер

Команда lpr:

Для печати тестового файла просто введите:

Список сетевых принтеров:

Чтобы получить список всех доступных сетевых принтеров, введите команду:

Печать на заданный принтер:

Если доступно несколько принтеров, вы можете использовать опцию -P, чтобы указать нужный вам принтер.

Пробел после -P вставлять необязательно:

Проверка состояния:

Проверить состояние очереди печати определенного принтера можно с помощью команды lpq.

Очистка очереди печати:

Как вы могли видеть из вывода приведенной выше команды, каждая очередь печати имеет уникальный id. Вы можете удалить файлы из очереди печати с помощью команды lprm:

Чтобы отменить все задания на печать, используется следующая команда:

Печать всех файлов в директории:

Это очень простой трюк, чтобы напечатать все файлы с одинаковым расширением в директории. Вы должны перейти в эту директорию Введите следующую команду, чтобы распечатать все текстовые файлы в директории:

Все файлы с расширением .txt будут распечатаны в альбомном формате. Вы также можете задать принтер в этой же команде:

Источник

Изучаем Bash: Команда lpr — осуществляем печать на принтер прямо из терминала

Команда lpr, расшифровывается как line printer — служит для реализации печати прямо из терминала на принтер, с поддержкой очереди печати.

Для работы команды lpr в системе должна установлена утилита System printer configuration. Что бы ее установить, вводим команду:

В Ubuntu:

sudo apt-get install system-config-printer

В openSUSE:

su zypper in system-config-printer

В Fedora / CentOS:

sudo yum install system-config-printer

После установки данной утилиты, открываем ее и нажимаем «Add», для добавления принтеров, на которые будут отправляться задания печати.

Использование команды lpr

Чтобы отправить на печать обычный текстовый файл, вводим:

Печать будет осуществлена на принтере по умолчанию.

Если вы хотите напечатать на альтернативном принтере:

Узнать состояние принтера / очереди печати:

Будет выведен список заданий печати для принтера, каждое задание имеет свой ID.

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

2 — это ID задания, которое вы удаляете.

Для удаление всех заданий из принтера:

Теперь хотел бы поделиться, как печатать все файлы определенного типа из одной директории:

Будут отправлены на печать все файлы с расширением *txt в текущей директории. Для такой же печати, только на определенном принтере, вводим команду:

lpr -o landscape -Pprinter_name *.txt

Источник

LINUX — Жизнь в консоли ЕСТЬ.

Главное меню

Последние статьи

Счетчики

Печать фотографий из консоли: lp.

В наличии имеется струйный принтер Canon IP3600, к которому недавно приобрел перезаправляемые картриджи и чернила — появилась необходимость распечатать несколько фото 10х15 и партию визиток сделанных в gimp-е, размещенных на лист А4 300dpi.

Небольшое отступление о особенностях установки драйвера Canon IP3600 в linux (lubuntu 11.04)

Драйвера для принтера под linux есть на оффициальном сайте Canon, два deb-пакета, но без танцев с бубнами не обошлось. Пакеты не ставилились, ругаясь на отсутствие libcupsys2. Насколько я понял, функции libcupsys2 теперь выполняет libcups2, который у меня уже стоял, а устаревший драйвер ищет libcupsys2 вместо libcups2. Поэтому поставил с ключем —force-all для игнорирования ошибок:

После этого подключил принтер и добавил его через графический (да простят мне боги отступление от веры) system-config-printer. Принтер установился и начал работать, но нельзя было больше установить ни одного программного пакета, т.к. при установке появлялись жалобы на неудовлетворенные зависимости с предложением запустить команду apt-get install -f , которая радостно сносила установленный драйвер. Проблему решил удалением из файла /var/lib/dpkg/status в секциях cnijfilter-common и cnijfilter-ip3600series упоминаний о libcupsys2, в следствие чего менеджер пакетов забыл о неудовлетворенных зависимостях (знаю что некрасивое решение, но рабочее).

Печать из консоли

Для вывода файла на печать в linux используется команда lp. Через команду lpoptions можно посмотреть основные параметры печати, поддерживаемые драйвером принтера:

lpoptions -p Canon-iP3600-series -l

Resolution/Output Resolution: *600dpi

ColorModel/Color Model: *rgb

PageSize/Page Size: Custom.WIDTHxHEIGHT Letter Letter.bl Legal A5 *A4 A4.bl B5 4X6 4X6.bl 4X8 4X8.bl 5X7 5X7.bl 8X10 8X10.bl l l.bl 2l 2l.bl postcard postcard.bl postdbl envelop10p envelopdlp envj4p envj6p businesscard businesscard.bl wide wide.bl

MediaType/Media Type: *plain glossygold prophoto2 proplatinum semigloss glossypaper matte highres ijpostcard postcard tshirt envelope otherphoto

InputSlot/Paper Source: auto asf *cassette continuous

CNExtension/Amount of Extension: *0 1 2 3

Или можно посмотреть все возможные параметры в /etc/cups/ppd/ .

Печать на лист формата A4 матовой фотобумаги меня удовлетворила при использовании следующих параметров:

lp -d Canon-IP3600-series -n 10 -q 100 -o scaling=99 -o colormodel=rgb -o resolution=600 -o media=A4.bl -o mediatype=otherphoto -o cnextension=0 -o inputslot=asf -o position=center -o page-left=0 -o page-right=0 -o page-top=0 -o page-bottom=0 viz.jpg

-d — Имя принтера;

-q — Приоритет процесса печати;

-o scaling — Масштабирование. По идее наверно должно бы быть 100, но в моем случае при сотне картинка не помещалась на лист и края обрезались;

-o colormodel — Цветовая модель;

-o resolution — Разрешение печати в dpi;

-o media — формат листа, bl — печать без полей;

-o mediatype — тип бумаги;

-o cnextension — amount of extension — растягивание картинки для печати без полей. Возможные параметры 0..3 , чем больше число, тем больше растягивается печатаемая картинка;

-o inputslot — источник бумаги, asf- задний лоток, cassette- нижний лоток-кассета;

-o position — позиция документа на листе;

-o page-(left|right|top|bottom) — отступы слева, справа, сверху и снизу.

Для печати фото 10×15 без полей на глянцевой фотобумаге использую следующую команду:

lp -d Canon-IP3600-series -n 1 -q 100 -o scaling=100 -o colormodel=rgb -o resolution=600 -o media=4×6.bl -o mediatype=otherphoto -o cnextension=2 -o inputslot=asf -o position=center -o page-left=0 -o page-right=0 -o page-top=0 -o page-bottom=0 IMG_4499.JPG

Хочу заметить что использую не использую в опциях тип бумаги glossypaper, так как почему то неправильная цветопередача, слишком много желтого цвета. Если выбран тип otherphoto — цветопередача в норме.

Минус, который пока не удалось исправить — медленный вывод фото на принтер. На нетбуке с процессором intel atom 1,6ГГц на отправку фото на печать уходит около минуты, процессор при этом загружен на 100%. При печати нескольких копий одной фотографии подготовленный для отправки файл не кэшируется и, как следствие, между печатью копий перерыв примерно в одну минуту.

Источник

Читайте также:  Windows 10 activation after update
Оцените статью