Настройка печати из 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
   символов (кириллица, пробелы и т.п.).