Настройка печати из Linux на Windows-принтер. ============================================= В этом документе мы рассмотрим методику логического подключения к Linux-компьютеру принтера, физически подключенного к Windows-компьютеру. Исходные данные: - Linux: система печати - CUPS система связи с Windows - Samba - Windows: XP (методика работает и с другими версиями, но имеются нюансы настройки) Выполнить подключение Windows-принтера к Linux возможно одним из двух способов: 1) используя драйвер системы CUPS для данного конкретного принтера и Samba - в качестве транспорта. Способ прост и по причине тривиальности в пояснениях не нуждается. Его единственный видимый недостаток - это невозможность подключения принтеров, для которых в CUPS драйверов нет или они не обеспечивают работу по сети. К числу таких устройств относятся различные т.н. Windows-принтеры, особенно производства фирм Canon и Lexmark. Справиться о степени поддержки CUPSом тех или иных моделей принтеров вы можете по адресу http://www.linuxfoundation.org/en/OpenPrinting 2) используя Windows-драйвер для конкретного принтера, язык описания печатных документов PostScript - для унификации протокола печати, и Samba - в качестве транспорта. Способ требует установки и настройки дополнительного ПО на Windows-машине, но зато позволяет подключить любой принтер, для которого имеется драйвер под OS Windows. Методику его реализации мы далее и рассмотрим более подробно. Основная идея заключается в том (см. рисунок ниже), что на Windows-машине создается виртуальный PostScript-принтер. Выход его драйвера, вместо физического интерфейса, с помощью программы перенаправления портов подключается к интерпретатору языка PostScript, который, с использованием Win32 API, передает данные для печати драйверу реального принтера. A со стороны Linux печать выполняется на этот виртуальный принтер с использованием драйвера PostScript-принтера системы CUPS. + - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - + Linux Windows | | | | Сетевой принтер Вирт. принтер | с драйвером | | с драйвером Программа Драйвер | Generic PostScript PostScript печати реального | | | PostScript принтера | +----+ +----+ +--------+ +--------+ | | | | Samba | | | RPT1: | | |Win- | | | PS |============>>| PS |------------>|gsprint |-->| printer| | | | | | | | Redirected | | | | | +----+ +----+ port +--------+ +--------+ | | | ^ | | + - - - - - - - - - - + | +-------------+ | Интерпретатор | | | языка | Ghostscript | | PostScript | | | +-------------+ | + - - - - - - - - - - - - - - - - - - - - - - + Таким образом, на Windows-машине потребуется установить и настроить следующее дополнительное программное обеспечание: а) программа перенаправления портов - RedMon б) интерпретатор PostScript - Ghostscript в) frontend'ы интерпретатора PostScript - GSview Далее рассмотрим методику настройки пошагово. 1. Установка программы RedMon: Запустить redmon\setup.exe Do you want to install RedMon redirection port monitor ? -> Да Installation successfull -> OK 2. Установка программы Ghostscript for Windows: Запустить gs863w32.exe This installs GPL Ghostscript 8.63 -> Setup Install to directory C:\Program Files\gs -> Install 3. Установка программы GSview for Windows: Запустить gsv49w32.exe This installs GSview 4.9 for Win32 -> Setup Select Language -> Russian Эта программа поможет вам в установке -> Далее Copyright -> Далее v Связать файлы PostScript с GSview -> Далее Выберите каталог для установки C:\Program Files\Ghostgum -> Далее Будет создан новый каталог -> Далее Для продолжения нажмите кнопку Конец -> Конец Установка успешно завершена -> Выход 4. Установить Win-printer (Если еще не установлен) 5. Установить виртуальный принтер типа "HP LaserJet 4V/4MV PostScript" Мастер установки принтеров -> Далее ========================== Локальный принтер или подключение к принтеру ============================================ * Локальный принтер, подключенный к этому компьютеру (снять птицу с Автоматическое определение PnP-принтера -> Далее Выберите порт принтера ====================== * Создать новый порт Redirected port -> Далее Add Redirected Port =================== Port name: RPT1 -> OK Установить программное обеспечение принтера: ============================================ HP + "HP LaserJet 4V/4MV PostScript" Назовите ваш принтер: ===================== Имя принтера: PS Использовать принтер по умолчанию ? Нет -> Далее Использование общих принтеров ============================= Имя общего ресурса: PS -> Далее -> Далее Напечатать пробную страницу - Нет =========================== 6. Настроить порт RPT1: Принтеры и факсы -> Выбрать "Свойства" принтера PS -> Порты -> Настройка порта Redirect this port to the program: C:\Program Files\Ghostgum\gsview\gsprint.exe Arguments for this program are: -printer "!!!Здесь указать имя реального Win-printer'а!!!" - Output: Program handles output 7. Раздать вирт. принтер по сети. (напр, с именем PS) После этого полезно проверить доступность принтера с Linux-машины с помощью программы smbclient, отправив на принтер PS произвольный PostScript-файл, например: smbclient //ИМЯ_WINDOWS_МАШИНЫ/PS smb> print /usr/share/cups/data/testprint.ps 8. Подключить виртуальный принтер PS к Linux как принтер с драйвером PostScript. Это можно сделать, зайдя браузером на http://localhost:631, либо командой (от пользователя root): lpadmin -p PS -v smb://guest@ИМЯ_WINDOWS_МАШИНЫ/PS -P postscript.ppd lpadmin -p PS -E ИМЯ_WINDOWS_МАШИНЫ - это ее адрес. Во избежание путаницы рекомендуется установить (напр., в /etc/hosts) это имя совпадающим с сетевым именем, установленным в Windows. Избегайте использования в сетевом имени не-ASCII символов (кириллица, пробелы и т.п.).