Друк з Windows 7 на принтер в Mac OS (Linux)

Спробуємо розібратися, як можна організувати друк з Windows на принтер, встановлений на системі з UNIX / Linux / Mac OS X. Стандартна підсистема друку для UNIX називається CUPS (Common UNIX Printing System). Одні із способів організувати мережеву друк на CUPS принтері - відкрити до нього загальний доступ (розшарити) за допомогою Samba. Однак в цій статті ми не будемо розглядати цей спосіб, тому що незважаючи на те, що цей спосіб є "рідним" для Windows-клієнтів, не завжди доцільно розгортати і настроювати самбу, якщо крім організації сервера друку, інший необхідності в ній немає (швидше за все доведеться вирішити цілий ряд проблем, в основному, звичайно, пов'язаних з авторизацією).

Кращим методом підключення клієнта Windows до сервера друку CUPS на UNIX-подібної операційної системи - є протокол IPP (Internet Printing Protocol), використовуваний в CUPS в якості основи для управління завданнями і чергами. IPP це стандартний протокол, заснований на HTTP, що дозволяє управляти печаткою, підтримує аутентифікацію і шифрування (SSL), контроль доступу, а також дозволяє використовувати переадресацію портів і тунелюватись. У порівнянні з Samba конфігурація сервера друку CUPS через IPP є більш простий, і менш схильна до помилок.

У Windows вбудована підтримка IPP з'явилася тільки починаючи з версії Windows 2000.

Отже, припустимо, у нас є комп'ютер з OS X Lion, на якому розгорнуто сервер CUPS з принтером Canon, мережевий доступ до якого відкритий (в даному прикладі доступ відкритий для всіх без авторизації за логіном / паролем).

Отримуємо адреса черги друку на сервері CUPS

Припустимо, що адреса нашого комп'ютера з OS X (і, відповідно, нашого сервера друку) 192.168.11.211, за замовчуванням сервера CUPS використовує TCP-порт 631. У адресному рядку браузера перейдіть за адресою, а потім на вкладку Printers. У вкладці буде відображений список всіх встановлених в системі OS X і доступних нам принтерів. Ім'я кожного принтера є посилання, адреса якої і є адресою черги друку принтера в системі CUPS.

Таким чином ми дізнаємося (і відразу копіюємо його в буфер обміну), що адреса черзі цікавить нас принтера в системі CUPS це
http: // 192.168.11.211:631/printers/Canon_iP4000_series

Підтримка IPP / CUPS друку в Windows

Для того, щоб включити підтримку друку IPP в Windows, необхідно встановити відповідну роль. Як правило, в Windows XP / Vista / Windows 7 підтримка протоколу друку через інтернет (IPP) вже встановлена. Якщо немає, в Windows 7 встановити клієнта IPP можна зробити через панель управління. перейдіть в Control Panel -> Programs and Features -> Turn Windows feautures on or off. У вікні розгорніть гілку Print and Document Services,  відзначте опцію Internet Printing Client і натисніть Ок, після чого буде встановлений клієнт підтримки IPP друку (в Windows 2008/2008 R2 встановлюється окрема функція з аналогічним ім'ям).

Установка і настройка мережевого CUPS принтера в Windows

Встановлення та налаштування IPP принтера ми будемо здійснювати в Windows 7 (процедура в інших версіях Windows аналогічна, відзначимо, що в даному випадку ми налаштовуємо саме мережевий принтер, а не локальний як описано в статті Друк з Windows 7 на мережевий принтер XP). Перейдіть в панель управління принтерами (Control Panel \ Hardware and Sound \ Devices and Printers) І створіть новий мережевий принтер  (Add a network, wireless or Bluetooth printer). Запуститься автоматичний пошук принтерів, але швидше за все, потрібний принтер знайдений не буде, тому натисніть на кнопку The printer what I wont is not listed.

В полі Select a shared printer by name вставте скопійований раніше адреса черги друку принтера і натисніть Next.

Windows спробує з'єднається з принтером, причому не факт що вдало, це залежить від багатьох факторів і розібрати їх все навряд чи вийде. З практики, зазначимо, що якщо процес підключення до принтера затягнеться (більше 3-5 хвилин), спробуйте перевірити доступність сервера CUPS, перейшовши на ту саму адресу за допомогою будь-якого браузера, і спробуйте підключити принтер знову.

У разі успішного підключення система запропонує вам встановити драйвер принтера. На цьому моменті трохи зупинимося. Система CUPS приймає від клієнтів файли друку, які є звичайними PostScript документами. Мова друку PostScript підтримується системою Windows прямо «з коробки», головна проблема в тому, що ім'я стандартного драйвера PS звучить Microsoft Publisher Color Printer (Кумедна маскування, чи не так), але на деяких системах може використовуватися іменування MS Publisher Imagesetter.

Отже, вибираємо драйвер, для чого переходимо в секцію Generic, вибираємо MS Publisher Color Printer і тиснемо ОК (якщо в системі є "рідний" драйвер принтера, все одно вибираємо MS Publisher!).


Якщо все пройшло успішно (а зазвичай проблем на цьому етапі не виникає), то далі йде типова процедура настройки принтера (ім'я, опис, чи потрібно давати загальний доступ). Натиснувши, Next спробуйте роздрукувати тестову сторінку друку. Як правило, тестова сторінка друку без будь-яких ускладнень виводиться на друк на принтері, підключеному до Unix-like клієнту.
У деяких випадках варто спробувати встановити рідний драйвер принтера, хоча все ж переважно спочатку переконається, що з простим драйвером PS завдання друку виводяться коректно. Але слід розуміти, що реально для друку використовується драйвер, встановлений в системі CUPS, а встановлений в Windows драйвер PostScript всього лише формує PS файл і передає його на сервер.

Примітка. Не забудьте перевірити, що між машиною з OS X і Windows порт 631 не блокується мережевим екраном.

Отже, ми розібралися, як в Windows 7 налаштувати друк на принтер, встановлений в Mac OS X (в UNIX / Linux процедура аналогічна).