# Linux HowTo (як зробити)
# Книги та керівництва
# Матеріали англійською мовою
Служба друку CUPS (Common Unix Printing System) призначена для уніфікації доступу до всіх принтерів, що знаходяться в локальній мережі. Можливо, будь Linux єдиною ОС в світі, всім вистачало б можливостей стандартної Berkeley LPD і така система не знадобилася, але в реальних умовах саме CUPS може забезпечити доступ до Windows і SMB-принтерів, володіючи при цьому можливістю періодично оновлювати інформацію про принтерах і об'єднувати їх в групи (в залежності від типу або інших параметрів).
Компанія Easy Software Products, яка розробила CUPS, поширює її під ліцензією GPL, надаючи на платній основі підтримку і додаткові функції.
У CUPS включена підтримка більшості принтерів, що підключаються через LPT, USB і навіть COM-порти. Звичайно, підключення через COM-порт - це не кращий варіант, але якщо у вас ще залишилися старі матричні принтери, що підключаються через цей інтерфейс, то CUPS дозволить Вам зібрати з купи такого заліза непоганий принт-сервер. Може бути, це як раз те, що потрібно Вашій школі?
Оновлення інформації про принтерах
Служба CUPS має можливість, звичної швидше для світу Windows, ніж для Linux: вона сповіщає всі комп'ютери в локальній мережі про принтерах, доступних для друку і їх стані.
Природно (на відміну від Windows :), ця її здатність піддається налаштуванню. Вносячи зміни в файл конфігурації CUPS (cupsd.conf), можна визначити які комп'ютери (точніше, в яких подсетях) отримуватимуть такі сповіщення і як часто, що дозволяє скоротити неминучий в такому випадку широкомовний трафік.
Група принтерів або клас (в термінології CUPS) - це кілька принтерів, які призначені для користувача програми сприймають як один. Наприклад, можна створити клас КОЛЬОРОВІ принтери, що поєднують всі кольорові принтери. Користувач може налаштувати свою програму так щоб друкувати на принтер КОЛЬОРОВІ принтери, і отримати роздруківку на будь-якому з цих принтерів. На якому саме - залежатиме від прав цього користувача, або від того, який з принтерів буде доступний в цей час
У той же час, навіть якщо який-небудь принтер є членом групи, це не заважає користувачеві друкувати саме на цей принтер. А ось вже з допомогою списків доступу CUPS можна домогтися того, що конкретний принтер буде відкидати такі спроби, а група принтерів, в які він входить - надрукує завдання. В результаті користувачі зможуть друкувати на групи принтерів, а не на один принтер - все залежить від Вас!
В моїй лабораторії є 5 ПК, на кожному з яких встановлений Linux і працює CUPS. Якщо мені потрібно замінити принтер на одному з них, то за допомогою web-інтерфейсу CUPS я:
- відключаю старий принтер,
- підключаю новий принтер,
- і все це за 30 секунд. Ще через 30 секунд всі інші ПК отримують оновлену інформацію про використаний принтері. Дивишся, як раз за цю хвилину мій лазерний принтер і прогріється.
Я хочу розділити всі принтери моєї шкільної мережі на три класи:
- Клас "Лазерний Ч / Б друк" - на ньому можуть друкувати все.
- Клас "Кольоровий чорнова друк" - на ньому можуть друкувати все, але з обмеженням кількості.
- Клас "Кольоровий якісний друк" - на ньому можна друкувати тільки на мою вирішенню.
Більшість наявних принтерів безпосередньо доступні з інших Windows-комп'ютерів, сенс ж установки CUPS на Linux-шлюзі і підключення принтерів до нього складається в наступному:
- користувачі зможуть знайти все принтери в одному місці;
- користувачі зможуть друкувати на принтери, що знаходяться в інших подсетях і з'єднаних цим шлюзом, при цьому не створюючи неминучого раніше (для Windows) широкомовного трафіка. значно знижує продуктивність мережі;
- я буду впевнений в тому, що якщо викладач, який перебуває на 4-му поверсі, пошле завдання на принтер, що знаходиться на першому, а там раптово закінчиться папір, то його завдання буде перенаправлено і роздруковано на недіючому в цей час принтері.
Інтеграція з Windows
Мережевий принтер (тобто принтер, оснащений мережевою картою і безпосередньо підключений до локальної мережі) може використовувати будь-який з безлічі існуючих протоколів:
- Протокол SMB - такий принтер можна побачити в "мережевому оточенні" Windows.
- Протокол LPD - кілька моделей принтерів Epson мають вбудовану підтримку TCP / IP і LPD і до них можна підключитися через 515 порт, як до будь-якого Linux-комп'ютера. Для такого принтера в налаштуваннях CUPS спробуйте вказати queue lp
- Фірмовий протокол (погана справа ..).
У першому і другому випадку дійте так, як ніби мережевий принтер - це звичайний принтер, що підключається до комп'ютера. У третьому випадку - як то кажуть, припливли (швидше за все :). Особисто зі мною таке трапилося, коли я намагався достукатися до мережевого принтера Lexmark - в результаті мені довелося підключити його до Windows-комп'ютера і зробити його доступним в мережі вже звідти.
За замовчуванням доступ до веб-інтерфейсу дозволений тільки з того комп'ютера, де працює CUPS (локального інтерфейсу). Якщо вас це не влаштовує, змініть наступні рядки в файлі конфігурації cupsd.conf. і перезапустіть CUPS:
Якщо Linux-комп'ютер виконує одночасно дві ролі: принт-сервера і моста між двома або більшою кількістю IP-мереж, можна також вказати, на яких інтерфейси CUPS буде приймати запити:
Крім цього через веб-інтерфейс можна отримати доступ до документації, яка описує можливості CUPS і способи її налаштування.
PS. Всім, хто хотів би перевести цю статтю: з нею можна звертатися так само, як з програмою під ліцензією GPL - тобто ви вільно можете (я тільки за!) копіювати її, публікувати і переводити - тільки, БУДЬ ЛАСКА, сповістіть мене про це! Дуже хотілося б мати список перекладів - сподіваюся, що це допоможе мені на сесії :-)
Алан викладає Computer Science в середній школі та університеті в Андоррі. Із захоплень і хобі можна виділити наукову фотографію (в тому числі і цифрову), подорожі, колекціонування процесорів і інших каменів. )