108.4 Урок 1
Сертифікат: |
LPIC-1 |
---|---|
Версія: |
5.0 |
Розділ: |
108 Основні системні служби |
Тема: |
108.4 Налаштування принтерів та друк |
Урок: |
1 з 1 |
Вступ
Заяви про “безпаперове суспільство”, викликані появою комп’ютерів, до теперішнього часу виявилися неправдивими. Багато організацій досі покладаються на друковані або “паперові копії” існуючої інформації. Маючи це на увазі, ми бачимо, наскільки важливо для користувача комп’ютера знати, як друкувати з системи, в той час як адміністратор повинен знати, як підтримувати здатність комп’ютера працювати з принтерами.
У Linux, а також у багатьох інших операційних системах програмний стек Common Unix Printing System (CUPS) дозволяє друкувати та керувати принтером із комп’ютера. Наведемо сильно спрощену схему того, як файл друкується в Linux за допомогою CUPS:
-
Користувач надсилає файл для друку.
-
Потім демон CUPS,
cupsd
додає до пулу завдання друку. Цьому завданню друку CUPS присвоює номер завдання, а також інформацію про те, яка черга друку містить це завдання, а також назву документа для друку. -
CUPS використовує фільтри, встановлені в системі, для створення відформатованого файлу, який може використовувати принтер.
-
Потім CUPS надсилає переформатований файл на принтер для друку.
Ми розглянемо ці кроки більш детально, а також розглянемо, як встановити принтер і керувати ним у Linux.
Служба CUPS
Більшість настільних дистрибутивів Linux матимуть уже встановлені пакунки CUPS. При встановленні Linux з мінімальними параметрами пакунки CUPS можуть бути не встановлені залежно від дистрибутива. Базове встановлення CUPS можна виконати в системі Debian за допомогою наступних дій:
$ sudo apt install cups
У системах Fedora процес встановлення так само простий. Вам потрібно буде запустити службу CUPS вручну після встановлення у Fedora та інших дистрибутивах на основі Red Hat:
$ sudo dnf install cups ... $ sudo systemctl start cups.service
Після завершення встановлення ви можете переконатися, що служба CUPS працює за допомогою команди systemctl
:
$ systemctl status cups.service ● cups.service - CUPS Scheduler Loaded: loaded (/lib/systemd/system/cups.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-06-25 14:35:47 EDT; 41min ago Docs: man:cupsd(8) Main PID: 3136 (cupsd) Tasks: 2 (limit: 1119) Memory: 3.2M CGroup: /system.slice/cups.service ├─3136 /usr/sbin/cupsd -l └─3175 /usr/lib/cups/notifier/dbus dbus://
Як і багато інших демонов Linux, CUPS покладається на набір конфігураційних файлів для своїх операцій. Нижче наведено основні з них, які цікавлять системного адміністратора:
/etc/cups/cupsd.conf
-
Цей файл містить налаштування конфігурації для самої служби CUPS. Якщо ви взагалі знайомі з файлом конфігурації веб-сервера Apache, то файл конфігурації CUPS здається вам дуже схожим, оскільки він використовує дуже подібний синтаксис. Файл
cupsd.conf
містить параметри для таких речей, як керування доступом до різних черг друку, що використовуються в системі, незалежно від того, увімкнено чи ні веб-інтерфейс CUPS, а також рівень журналювання, який використовуватиме демон. /etc/printcap
-
Це застарілий файл, який використовувався протоколом LPD (Line Printer Daemon) до появи CUPS. CUPS все одно створить цей файл у системах для зворотної сумісності, і часто це символьне посилання на
/run/cups/printcap
. Кожен рядок цього файлу містить принтер, до якого система має доступ. /etc/cups/printers.conf
-
Цей файл містить кожен принтер, налаштований для використання системою CUPS. Кожен принтер і пов’язана з ним черга друку в цьому файлі зазначені між тегами
<Printer></Printer>
. Цей файл містить окремі списки принтерів, які можна знайти в/etc/printcap
.WarningНе можна змінювати файл
/etc/cups/printers.conf
у командному рядку під час роботи служби CUPS. /etc/cups/ppd/
-
Це не файл конфігурації, а каталог, який містить файли PostScript Printer Description (PPD) для принтерів, які їх використовують. Операційні можливості кожного принтера зберігатимуться у файлі PPD (закінчується розширенням
.ppd
). Це звичайні текстові файли в певному форматі.
Служба CUPS також використовує ведення журналу майже так само, як служба Apache 2. Журнали зберігаються в /var/log/cups/
і містять access_log
, page_log
і error_log
. access_log
зберігає записи доступу до веб-інтерфейсу CUPS, а також дії, виконані в ньому, наприклад керування принтером. page_log
зберігає облік завдань друку, які були надіслані в черги друку, якими керує CUPS. error_log
міститиме повідомлення про невдалі завдання друку та інші помилки, записані веб-інтерфейсом.
Далі ми розглянемо інструменти та утиліти, які використовуються для керування службою CUPS.
Використання веб-інтерфейсу
Як було зазначено раніше, конфігураційний файл /etc/cups/cupsd.conf
визначає, чи ввімкнено веб-інтерфейс для системи CUPS. Параметр конфігурації виглядає так:
# Web interface setting... WebInterface Yes
Якщо веб-інтерфейс увімкнено, CUPS можна керувати з браузера за типовою URL-адресою http://localhost:631
. За замовчуванням користувач системи може переглядати принтери та черги друку, але будь-яка форма модифікації конфігурації потребує користувача з правами root для автентифікації у веб-службі. Параметр конфігурації у файлі /etc/cups/cupsd.conf
для обмеження доступу до адміністративних можливостей матиме такий вигляд:
# All administration operations require an administrator to authenticate... <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default> AuthType Default Require user @SYSTEM Order deny,allow </Limit>
Наведемо пояснення цих елементів:
AuthType Default
-
використовує базову підказку автентифікації, коли дія потребує root-доступу.
Require user @SYSTEM
-
вказує, що для операції буде потрібен користувач з правами адміністратора. Можна змінити на
@groupname
, де члениgroupname
можуть керувати службою CUPS, або окремим користувачам можна надати список, як уRequire user carol, tim
. Order deny,allow
-
працює так само, як параметр конфігурації Apache 2, де дію заборонено за умовчанням, якщо користувач (або член групи) не автентифікований.
Веб-інтерфейс для CUPS можна вимкнути, спершу зупинивши службу CUPS, змінивши опцію WebInterface
з Yes
на No
, а потім перезапустивши службу CUPS.
Веб-інтерфейс CUPS побудовано як базовий веб-сайт із вкладками навігації для різних розділів системи CUPS. Веб-інтерфейс містить наступні вкладки:
- Home
-
На домашній сторінці буде показано поточну встановлену версію CUPS. Ця сторінка поділяється на інші розділи, такі як:
- CUPS for Users
-
Містить опис CUPS, параметри командного рядка для роботи з принтерами та чергами друку, а також посилання на форум користувачів CUPS.
- CUPS for Administrators
-
Надає посилання в інтерфейсі для встановлення та керування принтерами та посилання на інформацію про роботу з принтерами в мережі.
- CUPS for Developers
-
Надає посилання на розробку для самого CUPS, а також на створення файлів PPD для принтерів.
- Administration
-
Сторінка адміністрування також розбита на розділи:
- Printers
-
Тут адміністратор може додавати нові принтери до системи, знаходити принтери, підключені до системи, і керувати принтерами, які вже встановлені.
- Classes
-
Класи — це механізм, за допомогою якого принтери можна додавати до груп із певними політиками. Наприклад, клас може містити групу принтерів, які належать до певного поверху будівлі, на яких можуть друкувати лише користувачі певного відділу. Інший клас може мати обмеження щодо кількості сторінок, які користувач може надрукувати. Класи не створюються за замовчуванням під час встановлення CUPS і мають бути визначені адміністратором. Це розділ у веб-інтерфейсі CUPS, де можна створювати нові класи та керувати ними.
- Jobs
-
Тут адміністратор може переглянути всі завдання друку, які зараз знаходяться в черзі для всіх принтерів, якими керує CUPS.
- Server
-
Тут адміністратор може вносити зміни до файлу
/etc/cups/cupsd.conf
. Крім того, додаткові параметри конфігурації доступні за допомогою прапорців, таких як дозвіл принтерам, підключеним до CUPS, спільне використання в мережі, розширена автентифікація та дозвіл віддаленого адміністрування принтера.
- Classes
-
Якщо в системі налаштовано класи принтерів, вони будуть виведені на цій сторінці. Кожен клас принтерів матиме опції для керування всіма принтерами в класі одночасно, а також для перегляду всіх завдань, які стоять у черзі для принтерів у цьому класі.
- Help
-
Ця вкладка містить посилання на всю доступну документацію для CUPS, встановленого в системі.
- Jobs
-
Ця вкладка дозволяє шукати окремі завдання друку, а також виводити список усіх поточних завдань друку, якими керує сервер.
- Printers
-
Ця вкладка містить список усіх принтерів, якими наразі керує система, а також короткий огляд стану кожного принтера. Кожен із указаних принтерів можна натиснути, і адміністратор перейде на сторінку, де можна далі керувати окремим принтером. Інформація про принтери на цій вкладці надходить із файлу
/etc/cups/printers.conf
.
Встановлення принтера
Додавання принтера до системи є простим процесом у веб-інтерфейсі CUPS:
-
Натисніть на вкладку Administration, а потім кнопку Add Printer.
-
На наступній сторінці будуть представлені різні параметри залежно від способу підключення принтера до системи. Якщо це локальний принтер, виберіть найбільш релевантний параметр, наприклад, до якого порту підключено принтер або яке програмне забезпечення стороннього виробника для принтера може бути встановлено. CUPS також спробує виявити принтери, підключені до мережі, і відобразити їх тут. Ви також можете вибрати варіант прямого підключення до мережевого принтера залежно від того, які протоколи мережевого друку підтримує принтер. Виберіть відповідний варіант і натисніть кнопку Continue.
-
На наступній сторінці ви зможете вказати ім’я, опис і розташування (наприклад, “back office” або “front desk” тощо) для принтера. Якщо ви бажаєте надати спільний доступ до цього принтера через мережу, ви також можете встановити прапорець для цього параметра. Після введення налаштувань натисніть кнопку Continue.
-
На наступній сторінці можна вибрати марку та модель принтера. Це дозволяє CUPS шукати у своїй локально встановленій базі даних найбільш підходящі драйвери та файли PPD для використання з принтером. Якщо у вас є файл PPD, наданий виробником принтера, перейдіть до його розташування та виберіть його для використання тут. Коли це буде зроблено, натисніть кнопку Add Printer.
-
На останній сторінці можна встановити параметри за замовчуванням, наприклад розмір сторінки, який використовуватиме принтер, і роздільну здатність символів, що друкуються на сторінці. Натисніть кнопку Set Default Options, і ваш принтер буде встановлено у вашій системі.
Note
|
Багато настільних дистрибутивів Linux матимуть різні інструменти, які можна використовувати для встановлення принтера. Робочі середовища GNOME та KDE мають власні вбудовані програми, які можна використовувати для встановлення та керування принтерами. Крім того, деякі дистрибутиви надають окремі програми для керування принтером. Однак, коли мова йде про встановлення сервера, на якому багато користувачів друкуватимуть, веб-інтерфейс CUPS може надати найкращі інструменти для вирішення цього завдання. |
Принтер також можна встановити за допомогою застарілих команд LPD/LPR. Ось приклад використання команди lpadmin
:
$ sudo lpadmin -p ENVY-4510 -L "office" -v socket://192.168.150.25 -m everywhere
Ми розберемо команду, щоб проілюструвати параметри, які тут використовуються:
-
Оскільки для додавання принтера до системи потрібен користувач із правами адміністратора, перед командою
lpadmin
ми додаємоsudo
. -
Параметр
-p
є призначенням для ваших завдань друку. Це, по суті, зрозуміле ім’я, щоб користувач міг знати, куди надсилаються завдання друку. Зазвичай ви можете вказати назву принтера. -
Параметр
-L
вказує на розташування принтера. Це необов’язково, але корисно, якщо вам потрібно керувати кількома принтерами в різних місцях. -
Опція
-v
призначена для URI пристрою принтера. URI пристрою – це те, що потрібно черзі друку CUPS для надсилання відтворених завдань друку на певний принтер. У нашому прикладі ми використовуємо мережеве розташування за допомогою наданої IP-адреси. -
Останній параметр,
-m
, має значення “everywhere”. Він встановлює модель принтера для CUPS, щоб визначити, який файл PPD використовувати. У сучасних версіях CUPS найкраще використовувати “everywhere”, щоб CUPS міг перевірити URI пристрою (встановлений за допомогою попереднього параметра-v
) і автоматично визначити правильний файл PPD для використання для принтера. У сучасних ситуаціях CUPS використовуватиме лише IPP, як описано нижче.
Як зазначалося раніше, найкраще дозволити CUPS автоматично визначати, який файл PPD використовувати для певної черги друку. Однак застарілу команду lpinfo
можна використовувати для запиту локально встановлених файлів PPD, щоб побачити, які доступні. Просто вкажіть опцію --make-and-model
для принтера, який ви бажаєте встановити, і опцію -m
:
$ lpinfo --make-and-model "HP Envy 4510" -m hplip:0/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:1/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:2/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 drv:///hpcups.crv/hp-envy_4510_series.ppd HP Envy 4510 Series, hpcups 3.17.10 everywhere IPP Everywhere
Зауважте, що команда lpinfo
застаріла. Тут показано як приклад перелік файлів драйверів друку, які може використовувати принтер.
Warning
|
У майбутніх версіях CUPS драйвери вважатимуться застарілими, і натомість вони будуть зосереджені на використанні IPP (Internet Printing Protocol) і стандартних форматів файлів. Результат попередньої команди ілюструє це за допомогою можливості друку |
Принтер за замовчуванням можна встановити за допомогою команди lpoptions
. Таким чином, якщо більшість (або всі) завдання друку буде надіслано на певний принтер, то принтер, указаний у команді lpoptions
, буде використовуватись за замовчуванням. Просто вкажіть принтер разом із опцією -d
:
$ lpoptions -d ENVY-4510
Керування принтерами
Після встановлення принтера адміністратор може використовувати веб-інтерфейс для керування опціями, доступними для принтера. Більш прямий підхід до керування принтером полягає у використанні команди lpadmin
.
Одним із варіантів є надання спільного доступу до принтера в мережі. Цього можна досягти за допомогою опції printer-is-shared
і вказавши принтер за допомогою опції -p
:
$ sudo lpadmin -p FRONT-DESK -o printer-is-shared=true
Адміністратор також може налаштувати чергу друку, щоб приймати завдання друку лише від певних користувачів, відокремлюючи кожного користувача комою:
$ sudo lpadmin -p FRONT-DESK -u allow:carol,frank,grace
І навпаки, доступ до певної черги друку може бути заборонено лише певним користувачам:
$ sudo lpadmin -p FRONT-DESK -u deny:dave
Групи користувачів також можна використовувати для дозволу або заборони доступу до черги принтера за умови, що перед назвою групи стоїть символ “at” (@
):
$ sudo lpadmin -p FRONT-DESK -u deny:@sales,@marketing
Черга друку також може мати політику помилок, якщо під час друку завдання виникають проблеми. За допомогою політик завдання друку може бути перервано (abort-job
) або інша спроба його друку може відбутися пізніше (retry-job
). Інші політики включають можливість негайно зупинити принтер у разі виникнення помилки (stop-printer
), а також можливість повторити завдання одразу після виявлення збою (retry-current-job
). Ось приклад, коли політика принтера налаштована на переривання завдання друку у разі виникнення помилки на принтері FRONT-DESK
:
$ sudo lpadmin -p FRONT-DESK -o printer-error-policy=abort-job
Перегляньте man-сторінки для команди lpadmin
, розташовані в lpadmin(8)
, щоб дізнатися більше про використання цієї команди.
Надсилання завдань друку
Багато десктопних програм дозволять вам надсилати завдання друку з пункту меню або за допомогою комбінації клавіш Ctrl+p. Якщо ви опинитеся в системі Linux, яка не використовує робоче середовище, ви все одно можете надсилати файли на принтер за допомогою застарілих команд LPD/LPR.
Команда lpr
(“line printer remote”) використовується для надсилання завдання друку до черги принтера. У найпростішій формі команди все, що потрібно: ім’я файлу разом із командою lpr
:
$ lpr report.txt
Наведена вище команда надішле файл report.txt
до черги друку за замовчуванням для системи (як визначено файлом /etc/cups/printers.conf
).
Якщо CUPS має кілька встановлених принтерів, тоді можна використати команду lpstat
, щоб роздрукувати список доступних принтерів за допомогою параметра -p
, а параметр -d
вкаже, який принтер є типовим:
$ lpstat -p -d printer FRONT-DESK is idle. enabled since Mon 03 Aug 2020 10:33:07 AM EDT printer PostScript_oc0303387803 disabled since Sat 07 Mar 2020 08:33:11 PM EST - reason unknown printer ENVY-4510 is idle. enabled since Fri 31 Jul 2020 10:08:31 AM EDT system default destination: ENVY-4510
Отже, у нашому прикладі файл report.txt
буде надіслано на принтер ENVY-4510
, оскільки той встановлений за замовчуванням. Якщо файл потрібно надрукувати на іншому принтері, вкажіть принтер разом із параметром -P
:
$ lpr -P FRONT-DESK report.txt
Коли завдання друку надсилається до CUPS, демон визначить, яка серверна частина найкраще підходить для виконання завдання. CUPS може використовувати різноманітні драйвери принтера, фільтри, монітори апаратних портів та інше програмне забезпечення для належного відтворення документа. Траплятимуться випадки, коли користувачеві, який друкує документ, потрібно буде змінити як документ має бути надрукований. Багато графічних програм роблять це завдання досить легким. Існують також параметри командного рядка, які можна використовувати для зміни способу друку документа. Коли завдання друку надсилається через командний рядок, перемикач -o
(для “options”) можна використовувати разом із певними термінами, щоб налаштувати макет документа для друку. Ось короткий перелік параметрів, які часто використовуються:
landscape
-
Документ з поворотом сторінки на 90 градусів за годинниковою стрілкою. Параметр
orientation-requested=4
досягне того самого результату. two-sided-long-edge
-
Принтер друкуватиме документ у портретному режимі на обох сторонах аркуша, за умови, що принтер підтримує цю можливість.
two-sided-short-edge
-
Принтер друкуватиме документ в альбомному режимі на обох сторонах паперу, якщо принтер підтримує цю можливість.
media
-
Принтер роздрукує завдання на вказаному розмірі носія. Розміри носіїв, доступні для завдання друку, залежать від принтера, але ось список поширених розмірів:
Варіант розміру Призначення A4
ISO A4
Letter
US Letter
Legal
US Legal
DL
ISO DL Envelope
COM10
US #10 Envelope
collate
-
Сортувати друкований документ. Це корисно, якщо у вас є багатосторінковий документ, який буде надруковано кілька разів, оскільки тоді всі сторінки кожного документа друкуватимуться по порядку. Встановіть для цього параметра значення
true
, щоб увімкнути його, абоfalse
, щоб вимкнути його. page-ranges
-
Цей параметр можна використовувати для вибору однієї сторінки для друку або певного набору сторінок для друку з документа. Приклад виглядатиме так:
-o page-ranges=5-7,9,15
. Буде надруковано сторінки 5, 6 і 7, а потім сторінки 9 і 15. fit-to-page
-
Роздрукувати документ так, щоб файл був масштабований відповідно до паперу. Якщо файл, який потрібно надрукувати, не містить інформації про розмір сторінки, можливо, друковане завдання буде масштабовано неправильно, і частки документа можуть бути за межами сторінки, або масштаб документа може бути занадто малим.
outputorder
-
Надрукуйте документ у
зворотному (reverse)
порядку абозвичайному (normal)
, щоб розпочати друк із першої сторінки. Якщо принтер друкує свої сторінки лицьовою стороною донизу, за замовчуванням порядок-o outputorder=normal
, тоді як принтери, які друкують сторінками лицьовою стороною догори, друкуватимуть з-o outputorder=reverse
.
Зробивши комбінацію з параметрів вище, можна сконструювати такий приклад команди:
$ lpr -P ACCOUNTING-LASERJET -o landscape -o media=A4 -o two-sided-short-edge finance-report.pdf
Більш ніж одну копію документа можна надрукувати за допомогою опції числа в такому форматі: -#N
, де N
дорівнює кількості копій для друку. Ось приклад із параметром зіставлення, коли сім копій звіту потрібно надрукувати на принтері за замовчуванням:
$ lpr -#7 -o collate=true status-report.pdf
Окрім команди lpr
, також можна використовувати команду lp
. Багато параметрів, які використовуються з командою lpr
, також можна використовувати з командою lp
, але є деякі відмінності. Перегляньте man-сторінку для lp(1)
. Ось як ми можемо запустити попередній приклад команди lpr
, використовуючи синтаксис команди lp
, одночасно вказуючи принтер призначення за допомогою параметра -d
:
$ lp -d ACCOUNTING-LASERJET -n 7 -o collate=true status-report.pdf
Керування завданнями друку
Як було зазначено раніше, кожне завдання друку, надіслане до черги друку, отримує ідентифікатор завдання від CUPS. Користувач може переглядати завдання друку, надіслані за допомогою команди lpq
. Передача параметра -a
покаже черги всіх принтерів, якими керує CUPS:
$ lpq -a Rank Owner Job File(s) Total Size 1st carol 20 finance-report.pdf 5072 bytes
Та сама команда lpstat
, яка використовувалася раніше, також має опцію для перегляду черг принтера. Параметр -o
сам по собі покаже всі черги друку, або чергу друку можна вказати за назвою:
$ lp -o ACCOUNTING-LASERJET-4 carol 19456 Wed 05 Aug 2020 04:29:44 PM EDT
Перед ідентифікатором завдання друку буде додано назву черги, куди було надіслано завдання, потім ім’я користувача, який надіслав завдання, розмір файлу та час його надсилання.
Якщо завдання друку застрягло на принтері або користувач бажає скасувати своє завдання друку, скористайтеся командою lprm
разом із ідентифікатором завдання, знайденим командою lpq
:
$ lprm 20
Усі завдання в черзі друку можна видалити відразу, поставивши лише дефіс -
:
$ lprm -
Крім того, користувач також може використати команду CUPS cancel
для зупинки поточного завдання друку:
$ cancel
Певне завдання друку можна скасувати за ідентифікатором завдання, перед яким стоїть назва принтера:
$ cancel ACCOUNTING-LASERJET-20
Завдання друку також можна перемістити з однієї черги друку до іншої. Це часто корисно, якщо принтер не відповідає або для друку документа потрібні функції, доступні на іншому принтері. Зверніть увагу, що ця процедура зазвичай потребує користувача з підвищеними правами. Використовуючи те саме завдання друку з попереднього прикладу, ми можемо перемістити його до черги принтера FRONT-DESK
:
$ sudo lpmove ACCOUNTING-LASERJET-20 FRONT-DESK
Видалення принтерів
Щоб видалити принтер, часто корисно спочатку вивести список усіх принтерів, якими наразі керує служба CUPS. Це можна зробити за допомогою команди lpstat
:
$ lpstat -v device for FRONT-DESK: socket://192.168.150.24 device for ENVY-4510: socket://192.168.150.25 device for PostScript_oc0303387803: ///dev/null
Параметр -v
не лише показує список принтерів, але й те, де (і як) вони підключені. Рекомендується спочатку відхилити будь-які нові завдання, які надходять на принтер, і вказати причину, чому принтер не прийматиме нові завдання. Це можна зробити наступним чином:
$ sudo cupsreject -r "Printer to be removed" FRONT-DESK
Зверніть увагу на використання sudo
, оскільки це завдання потребує користувача з підвищеними правами.
Щоб видалити принтер, ми використовуємо команду lpadmin
з опцією -x
для видалення принтера:
$ sudo lpadmin -x FRONT-DESK
Вправи до посібника
-
Новий принтер щойно встановлено на локальній робочій станції під назвою
office-mgr
. Яку команду можна використати, щоб зробити його принтером за замовчуванням для цієї робочої станції? -
Яку команду та параметр використовуватимуть, щоб визначити, які принтери доступні для друку з робочої станції?
-
Як би ви видалили завдання друку з ідентифікатором 15, яке застрягло в черзі для принтера під назвою
office-mgr
, за допомогою командиcancel
? -
У вас є завдання друку, призначене для принтера, на якому недостатньо паперу для друку всього файлу. Яку команду ви використаєте, щоб перемістити завдання друку з ID 2 у черзі для друку на принтері
FRONT-DESK
до черги друку принтераACCOUNTING-LASERJET
?
Дослідницькі вправи
За допомогою менеджера пакунків дистрибутива встановіть пакунки cups
і printer-driver-cups-pdf
. Зауважте, що якщо ви використовуєте дистрибутив на основі Red Hat (наприклад, Fedora), драйвер CUPS PDF називається cups-pdf
. Також встановіть пакет cups-client
, щоб використовувати команди друку в стилі System V. Ми використовуватимемо ці пакунки, щоб практикувати керування принтером CUPS без фізичного встановлення справжнього принтера.
-
Переконайтеся, що демон CUPS запущено, а потім переконайтеся, що PDF-принтер увімкнено та встановлено за замовчуванням.
-
Виконайте команду, яка роздрукує файл
/etc/services
. Тепер у вашому домашньому каталозі має бути каталог під назвоюPDF
. -
Використовуйте команду, яка вимкне лише принтер, а потім запустіть окрему команду, яка показує всю інформацію про стан, щоб переконатися, що PDF-принтер вимкнено. Потім спробуйте надрукувати копію вашого файлу
/etc/fstab
. Що станеться? -
Тепер спробуйте надрукувати копію файлу
/etc/fstab
на PDF-принтері. Що станеться? -
Скасуйте завдання друку, а потім видаліть PDF-принтер.
Підсумки
Демон CUPS — це платформа для друку на локальних і віддалених принтерах, що широко використовується. Хоча він замінює застарілий протокол LPD, він усе ще забезпечує зворотну сумісність для його інструментів.
У цьому уроці розглядалися такі файли та команди:
/etc/cups/cupsd.conf
-
Основний файл конфігурації для самої служби CUPS. Цей файл також керує доступом до веб-інтерфейсу для CUPS.
/etc/printcap
-
Застарілий файл, який використовується LPD і містить рядок для кожного принтера, підключеного до системи.
/etc/cups/printers.conf
-
Файл конфігурації, який використовується CUPS для інформації про принтер.
Веб-інтерфейс CUPS, який за умовчанням можна знайти за адресою http://localhost:631
. Пам’ятайте, що стандартним мережевим портом для веб-інтерфейсу є 631/TCP.
Також обговорювалися наступні застарілі команди LPD/LPR:
lpadmin
-
Використовується для встановлення та видалення принтерів і класів принтерів.
lpoptions
-
Використовується для друку параметрів принтера та зміни налаштувань принтера.
lpstat
-
Використовується для відображення інформації про стан принтерів, які підключені до CUPS-інсталяції.
lpr
-
Використовується для надсилання завдань друку до черги принтера.
lp
-
Використовується для надсилання завдань друку до черги принтера.
lpq
-
Ця команда показує список завдань друку в черзі друку.
lprm
-
Використовується для скасування завдань друку за ідентифікатором. Ідентифікатор завдання можна отримати за допомогою виводу команди
lpq
. cancel
-
Альтернатива команді
lprm
для скасування завдань друку за їхнім ідентифікатором.
Перегляньте наступні довідкові сторінки для різних інструментів і утиліт для сups: lpadmin(8)
, lpoptions(1)
, lpr(1)
, lpq(1)
, lprm(1)
, cancel(1)
, lpstat(1)
, cupsenable(8)
і cupsaccept(8)
. Рекомендується також переглянути онлайн-довідкову документацію за адресою http://localhost:631/help
.
Відповіді до вправ посібника
-
Новий принтер щойно встановлено на локальній робочій станції під назвою
office-mgr
. Яку команду можна використати, щоб зробити його принтером за замовчуванням для цієї робочої станції?$ lpoptions -d office-mgr
-
Яку команду та параметр використовуватимуть, щоб визначити, які принтери доступні для друку з робочої станції?
$ lpstat -p
Параметр
-p
показує список усіх доступних принтерів і чи їх увімкнено для друку. -
Як би ви видалили завдання друку з ідентифікатором 15, яке застрягло в черзі для принтера під назвою
office-mgr
, за допомогою командиcancel
?$ cancel office-mgr-15
-
У вас є завдання друку, призначене для принтера, на якому недостатньо паперу для друку всього файлу. Яку команду ви використаєте, щоб перемістити завдання друку з ID 2 у черзі для друку на принтері
FRONT-DESK
до черги друку принтераACCOUNTING-LASERJET
?$ sudo lpmove FRONT-DESK-2 ACCOUNTING-LASERJET
Відповіді до дослідницьких вправ
За допомогою менеджера пакунків дистрибутива встановіть пакунки cups
і printer-driver-cups-pdf
. Зауважте, що якщо ви використовуєте дистрибутив на основі Red Hat (наприклад, Fedora), драйвер CUPS PDF називається cups-pdf
. Також встановіть пакет cups-client
, щоб використовувати команди друку в стилі System V. Ми використовуватимемо ці пакунки, щоб практикувати керування принтером CUPS без фізичного встановлення справжнього принтера.
-
Переконайтеся, що демон CUPS запущено, а потім переконайтеся, що PDF-принтер увімкнено та встановлено за замовчуванням.
Одним із способів перевірити доступність і стан PDF-принтера є виконання такої команди:
$ lpstat -p -d printer PDF is idle. enabled since Thu 25 Jun 2020 02:36:07 PM EDTi system default destination: PDF
-
Виконайте команду, яка роздрукує файл
/etc/services
. Тепер у вашому домашньому каталозі має бути каталог під назвоюPDF
.$ lp -d PDF /etc/services
спрацювала б. Тепер ви матимете PDF-версію цього файлу в каталозі PDF.
-
Використовуйте команду, яка вимкне лише принтер, а потім запустіть окрему команду, яка показує всю інформацію про стан, щоб переконатися, що PDF-принтер вимкнено.
$ sudo cupsdisable PDF
вимкне принтер.
Потім запустіть команду
lpstat -t
, щоб отримати повну інформацію про стан принтера. Це має виглядати наступним чином:$ scheduler is running system default destination: PDFi device for PDF: cups-pdf:/ PDF accepting requests since Wed 05 Aug 2020 04:19:15 PM EDTi printer PDF disabled since Wed 05 Aug 2020 04:19:15 PM EDT - Paused
-
Тепер спробуйте надрукувати копію файлу
/etc/fstab
на PDF-принтері. Що станеться?Після спроби виконати команду
lp -d PDF /etc/fstab
ви маєте отримати вихідні дані з ідентифікатором завдання. Однак якщо ви перевірите папку PDF у своєму домашньому каталозі, нового файлу там немає. Потім ви можете перевірити чергу друку за допомогою командиlpstat -o
і ви знайдете там своє завдання. -
Скасуйте завдання друку, а потім видаліть PDF-принтер.
Використовуючи результат попередньої команди
lp
, використовуйте командуcancel
, щоб видалити завдання. Наприклад:$ cancel PDF-4
Потім запустіть команду
lpstat -o
, щоб переконатися, що завдання видалено.Видаліть PDF-принтер за допомогою такої команди:
sudo lpadmin -x PDF
. Потім переконайтеся, що принтер видалено:lpstat -a
.