В цьому розділі обговорюється як друкувати файли, перевіряти чергу друку, видаляти завдання з черги, форматувати файли до їх друку і робити настроювання середовища друку.
Система друку Linux - lp система - це порт вихідного коду написаного в Університеті Каліфорнії для BSD версії операційної системи UNIX.
37.2 Друк файлів використовуючи lpr
Найбільш простий шлях для друку в операційній системі Linux це посил файлу для друку прямо на пристрій друку. Для того щоб зробити це використовується команда cat. Як користувач root. наберіть щось подібне до цього
З метою безпеки, тільки користувач 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.
Висновок повертається lpq може бути корисний для багатьох цілей.
37.4 Скасування завдання друку з використанням команди lprm
Інша корисна властивість будь-якої системи друку це можливість скасувати поточне завдання яке було перед цим поміщено в чергу. Щоб зробити це використовуйте команду lprm.
Показана вище команда скасовує всі завдання друку власником котрих є користувач виконав цю команду. Для того щоб скасувати одиночне завдання друку, треба спочатку отримати номер завдання за допомогою команди lpq і потім повідомити отриманий номер команді lprm. наприклад,
скасує завдання номер 31 (thesis.txt) на принтері за замовчуванням.
37.5 Контроль демона lpd за допомогою lpc
Програма 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, 300x300 і letter для нашого прикладу)
- Натисніть "OK", і перезапустіть lpd.