При увеличении количества активных клиентов более 68 возникали постоянные сбои. Принял решение перевести терминальный сервер и базу данных на ubuntu server 14.04. Подключение реализовал по X11rdp протоколу. Появилась возможность подключаться к серверу стандартным клиентом windows с помощью «подключения к удаленному рабочему столу». В связи с этим возник вопрос проброски windows принтера в сессию. Решение работает не зависимо от типа подключения, так как все равно используется CUPS.
Печать происходит по следующей цепочке: Postscript → Virtual Postscript Printer → RedMon → Ghostscript → GS mswinpr2 device → Physical Printer
1. Скачиваем программное обеспечение:
Ghostscript - http://www.ghostscript.com/download/gsdnld.html
RedMon - http://pages.cs.wisc.edu/~ghost/gsview/ ... dmon19.zip
2. Создаем текстовый файл mswinpr2.txt следующего содержания:
-Ic:\gs\gs9.15\lib;c:\gs\fonts
-sDEVICE=mswinpr2
-dNoCancel
-dNOPAUSE
-dSAFER
-sPAPERSIZE=letter
3. Устанавливаем скаченное программное обеспечение в папку "c:\gs", все ставится по умолчанию. На машине под управлением Windows XP (Windows 7 он называется «служба печати LPD») требуется установить компонент Windows "Print Services for Unix", позволяющий предоставлять общий доступ к установленному на Windows - машине принтеру в гетерогенной сети по unix - протоколу LPD://. Компонент можно установить перейдя в Панель управления > Установка и удаление программ > Установка компонентов Windows и выбрав в группе Другие службы доступа к файлам и принтерам в сети компонент Службы печати для Unix. Эту службу необходимо настроить на автозагрузку, т. к. по умолчанию для нее установлен тип запуска Вручную. Сделать это можно перейдя в Панель управления > Администрирование > Службы в свойствах службы Сервер печати TCP/IP изменив тип запуска на Авто.
4. Создаем в папке "c:\gs" директорию «fonts» Так же в эту папку переносим созданный файл "mswinpr2.txt"
5. Устанавливаем принтер в windows выбрав порт Redirected port и назначив ему драйвер HP Color LaserJet 4550 PS так как он есть и в linux. (Если ставим на Window7, смотрим пункт 8) Даем ему удаленный доступ с именем «postscrip» (не важно имя какое даёте). В свойствах порта RTP1 выставляем следующие параметры: В поле «Redirects this port to the program» указываем путь к файлу интерпретарора GhostScript «c:\gs\gs9.15\bin\gswin32c.exe» (разрядность и версия указывается соответственно). В поле «Arguments to this program are» указываем следующую строку: «@c:\gs\mswinpr2.txt -sOutputFile="\\spool\gsprinter" -», где gsprinter - сетевое имя физического принтера (также получившего общий доступ с этим именем). Остальные параметры оставляем без изменений.
6. Последним шагом перед установкой принтера на другой Linux-машине следует внести правки в реестр. Текст *.reg — файла:
REGEDIT4
[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Devices]
"gsprinter"="winspool,FILE:"
7. В Linux в CUPS через lpd://IP/postscript подключаем виртуальный postscrip - принтер, в качестве драйверов следует использовать драйвер HP Color LaserJet 4550 PS.
8. В Windows 7 настроить порты не удается из-за ограничения в доступе. Выход такой, запускаем командную строку от имени администратора и вводим следующую команду для установки принтера: «rundll32 printui.dll,PrintUIEntry /il» Для конфигурации порта: «rundll32 printui.dll,PrintUIEntry /s»
И тогда мы сможем обойтись без этих НАДЕЖНЫХ, рассчитанных на ОГРОМНЫЕ нагрузки с НЕБЫВАЛО огромным количеством тонера принтеров xerox phaser 3040 :)
Инфу брал: http://wiki.rsu.edu.ru/wiki/%D0%9F%D1%8 ... 1%80%D1%8B