|
Обновите ArcaOS до уровня NeoWPS
- Установите набор PNG иконок, нарисованных дизайнером, специализирующемся на оформлении OS/2
- Установите eSchemes 2018, чтобы менять цвета и кнопки на рабочем столе
|
Настройка CUPS для eComStation |
TITLE: Настройка CUPS для eComStation
DATE: 2011-11-12 01:21:21
AUTHOR: Peter Brown
СОДЕРЖАНИЕ
- Небольшое вступление
- Что такое CUPS и зачем это нужно?
- Список необходимого ПО
- Краткое описание пакетов программ
- Установка
- Настройка CUPS-принтера
- Local printers - Parallel attached
- Local printers - USB attached
- CUPS printer install - Network attached and USB attached
- Step by step visual CUPS printer setup in web admin program (USB or Network connected)
- Creating a Desktop Printer Object to use with CUPS
- Step by step visual OS2 printer object setup for a CUPS attached printer
Небольшое вступление
Ссылки на ресурсы поддержки:
Это краткое руководство, надеюсь, будет полезно тем, кто хочет заставить
работать современный принтер под управлением OS/2 или eComStation.
Я расскажу о том, как на собственном опыте мне удалось, во-первых, "подружить"
принтер Canon PIXMA iP4000 с CUPS и, во-вторых, создать OS/2 Printer Object,
с помощью которого можно выводить задания печати через CUPS.
Я указываю определенные буквы имен дисков и вам, возможно, придется заменить
их на соответствующие буквы вашей системы. Большинство указанных путей
характерны для инсталляции CUPS, а те что нет, возможно, также придется
поменять на соответствующие пути в вашей системе.
Что такое CUPS и зачем это нужно?
CUPS - это Common Unix Printing System (англ. - общая система печати для UNIX)
или иначе говоря, сервер печати. Это общая библиотека (framework) для драйверов
принтера. Установите CUPS, пакет драйверов, поддерживающий ваш принтер, и если
все прошло нормально, вы сможете печатать :-).
Подробнее о работе CUPS см. CupsFaq.
Что поддерживает CUPS? - Поддержка конкретных моделей принтеров реализована в
определенных пакетах драйверов.
Список принтеров, поддерживаемых Gutenprint:
http://gutenprint.sourceforge.net/p_Supported_Printers.php
(это самый большой и наиболее часто используемый пакет драйверов)
Список принтеров, поддерживаемых Splix:
http://splix.ap2c.org/ (Splix поддерживает некоторые принтеры Samsung и Xerox)
Список принтеров, поддерживаемых HPLIP:
http://hplipopensource.com/hplip-web/supported_devices/index.html (HPLIP поддерживает различные принтеры Hewlett-Packard)
Зачем устанавливать CUPS? - Она поддерживает множество современных принтеров и
от версии к версии это количество увеличивается. Старые драйверы принтеров
из OS/2 не очень-то "дружат" с современными принтерами. Даже если вам удастся
найти драйвер, работающий с вашим современным принтером, эти драйверы не
обновляются и не поддерживают всех функций. А драйверы CUPS - поддерживают.
CUPS предоставляет драйверы для большого числа новых принтеров и поддерживают
многие дополнительные функции, поддержки которых нет в драйверах OS/2.
Грубо говоря, CUPS "обманывает" ОС и приложения, заставляя думать, что они
имеют дело с PostScript-принтером даже если это и не так. PostScript - это
хорошо поддерживаемый и стандартизированный язык принтеров; основная задача
состоит в создании eComStation (OS/2) PostScript Printer Object, который
печатает с помощью CUPS.
Список необходимого ПО
Порт CUPS находится по адресу: http://svn.netlabs.org/ecups/wiki/CupsPort
- его можно загрузить в формате WPI (все пакеты) или в виде индивидуальных ZIP-файлов. Если вы загружали отдельные файлы, учтите, что вам понадобятся следующие пакеты.
Необходимы:
- Двоичный файл CUPS OS/2
- Двоичный файл GhostScript OS/2
- По меньшей мере один из следующих пакетов драйверов (выберите тот, который поддерживает ваш принтер):
Gutenprint (много принтеров)
- Splix (принтеры Samsung/Xerox) - также требует custom GCC runtime: http://smedley.info/gcc432.zip
HPLIP
- Драйвер порта eCups (CUPS.PDR)
- Драйвер печати eCups (ECUPS.DRV) - специальный CUPS-драйвер PostScript-принтера
- Libc-файлы, необходимые для CUPS - ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip (эти файлы у вас уже могут быть, особенно если ваша ОС - eComStation)
Могут понадобится:
- USB helper driver (нужен только для печати по USB) - USBCALLS
(этой драйвер уже присутствует в eComStation 1.2.5 и выше).
- PRNDRV.EXE (это программа "почистит" записи о принтерах в INI-файлах) -
http://www.os2site.com/sw/comm/faxworks/prndrv.exe
-
USB-бекэнд (если вы используете USB-принтер) -
http://download.smedley.info/cups-usb-backend-20090309.zip
(Замечание: этот пакет нужен только для старых версий CUPS. Новые (1.4.4 и выше)
релизы zip-файла CUPS уже содержат этот бекэнд, и его не нужно загружать.
Ссылка приведена на всякий случай).
Далее следует более подробное описание.
Краткое описание пакетов программ
CUPS состоит из нескольких работающих совместно пакетов, которые эмулируют
PostScript-печать на растровых принтерах. Ключевые компоненты для всех
платформ - демон CUPS, GhostScript, и пакеты драйверов (Gutenprint, Splix,
HPLIP и пр.).
Остальные пакеты характерны для порта OS/2 port (a.k.a. eCups):
- Файлы Libc и GCC необходимы для поддержки (GCC runtime нужен для Splix).
- PRNDRV.EXE - полезная утилита командной строки для перечисления установленных принтеров и удаления ненужных. (Замечание: используйте 'prndrv -d' с осторожностью т.к. легко удалить ключ PM_DEVICE_DRIVERS -> ECUPS [= путь к ECUPS.DRV] из OS2.INI - это приведет к неработоспособности всех ECUPS-принтеров до тех пор, пока не будет вручную исправлен INI-файл или не будет установлено новое ECUPS-устройство.)
- Драйвер принтера eCups (ECUPS.DRV) является измененной версией PostScript-
драйвера OS/2 (PSCRIPT.DRV), в него уже включено большинство популярных
CUPS PPD-файлов. Помимо этого, файл можно обновлять по мере того, как поддержка
новых принтеров появляется в CUPS. Внесено несколько улучшений и исправлены
ошибки для лучшей работы с CUPS. (По этой причине использовать оригинальный
PostScript-драйвер от IBM для работы с CUPS не рекомендуется, хотя, он и может
заработать в вашем случае.)
- Драйвер порта принтера eCups (CUPS.PDR) обеспечивает "взаимодействие" между
OS/2 Printer Object и, собственно, принтером CUPS.
Компонент порта драйвера особенно важен т. к. обычные приложения OS/2 знают
только о том, как печатать в OS/2 Printer Object, а не в принтер CUPS!
Происходит следующее: OS/2 Printer Object посылает данные печати на порт
(скажем, параллельный/последовательный/USB-порт или на сетевую очередь LPR и пр.),
который определен драйвером порта. В этом случае мы реализуем еще один тип
порта, доступный как и предыдущие. Этот драйвер позволяет "движку" печати OS/2
общаться с демоном CUPS. Демон же общается с физическим принтером через сеть,
либо по USB-соединению (используя т. н. "бекэнд", который является собственным
внутренним эквивалентом драйвера порта).
Обратите внимание на то, что драйвер USB порта OS/2 не используется при работе
с USB-принтером через CUPS - всегда используется драйвер порта CUPS, а затем
демон CUPS контролирует непосредственный IO-трафик к принтеру. То же самое
происходит и с другими соединениями, напр., сетевыми - во всех случаях
соединением управляет CUPS.
Пока CUPS не работает с внешними программами, поток данных представляет собой
следующее:
ПРИНТЕР <-> "бекэнд" драйвера ввода-вывода <-> демон CUPS (CUPSD.exe)
<-- веб-страница администрирования CUPS (настройка, тестовая печать и пр.)
Приведенного выше достаточно для печати с использованием собственных внутренних
механизмов CUPS. Драйвер порта совместно с OS/2 Printer Object позволяет
обычным программам OS/2 (которые и понятия не имеют о CUPS) использовать для
печати CUPS-принтеры. Поток данных становится таким:
ПРИНТЕР <-> "бекэнд" драйвера ввода-вывода <-> демон CUPS (CUPSD.exe) <-> драйвер
порта eCups (CUPS.PDR) <-> драйвер PostScript-принтера (ECUPS.PDR) <-> OS/2
поддержка принтера <-> приложение OS/2.
Установка
В настоящее время доступен WarpIN-пакет (см. страницу
CupsPort), но он все еще
экспериментальный и может не соответствовать последней версии. Поэтому в
дальнейшем будем предполагать ручную установку из zip-файлов.
Базовая установка CUPS (используя Gutenprint) заключается в распаковке пакетов
в корневой каталог диска (диск не должен быть загрузочным):
Остальные файлы могут быть распакованы сразу же или позже по мере надобности и размещены
следующим образом:
- Драйвер принтера eCups можно поместить в любой каталог чтобы в диалоге установки принтера указать на него во время инсталляции. OS/2 автоматически скопирует файлы в `\OS2\DLL\ECUPS' (если не существует, путь будет создан).
- Драйвер порта принтера eCups - скопируйте cupslpr.exe в \tcpip\bin,
а cups.pdr в \os2\dll
Если вы устанавливаете один из поддерживаемых пакетом Splix принтеров Samsung
или Xerox, установите Splix вместо Gutenprint. Аналогично для HPLIP.
Замечание: использование Splix или HPLIP не рассматривается.
Настройка CUPS-принтера
Локальные принтеры, подключенные через параллельный порт
CUPS в настоящее время не поддерживает напрямую печать на принтеры, подключенные
через параллельный порт, но решение проблемы есть.
- 1] Создайте Printer object используя Null printer driver и выберите порт LPTn
в качестве Output Port в свойствах printer object.
- 2] Запустите OS/2 lpd daemon (\tcpip\bin\lpd.exe). Чтобы lpd.exe не печатал
тестовую страницу (зачем бумагу расходовать?), укажите параметр "-c".
Создавая принтер CUPS в секции ниже (CUPS-принтер), используйте
lpd://localhost/ в качестве URI устройства: где
- физическое имя OS/2 Printer object - как указано в Properties,
- View page создано в 1] выше.
Замечание: View page может отличаться от имени, данного принтеру при создании.
Напр., если вы создали принтер с именем объекта Canon iP4000, в папке Printers
откройте свойства этого принтера и проверьте имя, отображаемое на странице View
- оно будет CanoniP4. Соотв., в примере выше URI устройства должен быть
lpd://localhost/CanoniP4
Хочу выразить благодарность Rodney и всем тем, кто сообщил эту информацию про использование
локально-подключенных принтеров с CUPS.
Локальные принтеры, подключенные через USB-порт
Установка проводилась на eComStation 2.0 RC6a. Известно, что старые версии
файлов поддержки USB в системе могут вызывать проблемы, поэтому установите
свежие файлы поддерки USB для OS перед началом настройки принтера.
(т. е. USBCALLS)
Если ваш принтер подключается по USB, загрузите USB-бекэнд распакуйте zip-файл
в каталог \cups\lib\cups\backend.
Мне известно, что последние версии пакета CUPS уже содержат usb.exe, поэтому
остается лишь убедиться, что он находится в каталоге \cups\lib\cups\backend.
Для этого из командной строки зайдите в этот каталог, убедитесь, что принтер
включен и выполните usb.exe без параметров - должно получиться следующее:
[J:\cups\lib\cups\backend]usb.exe
INFO: list_devices INFO: usb_find_busses=1 INFO: usb_find_devices=1 INFO: open_device
direct usb://HP/Officejet%206300%20series?serial=CN88TFB0P504J4&interface=1 "HP
Officejet 6300 series" "HP Officejet 6300 series" "MFG:HP;MDL:Officejet 6300 ser
ies;CMD:MLC,PCL,PML,DW-PCL,DESKJET,DYN;1284.4DL:4d,4e,1;CLS:PRINTER;DES:Q8061A;S
N:CN88TFB0P504J4;S:038000C484001021002c1800007c2880011;J: ;Z:
0102,0503d549016449,0600;BT:000000000000,4F66666963656A6574203633303020736572696
573,0000008F,60;" ""
INFO: close_device
Если подобное сообщение не выводится, убедитесь, что поддержка USB работает
нормально и что вы подключили принтер заведомо исправным кабелем к заведомо
исправному порту.
[By putting usb.exe into the backends directory when cupsd.exe starts it knows
that when asked by the web administration page, that it should check USB ports
as well as network and other ports for new devices. - ???]
вариант перевода этого кусочка:
[Поставив (Установленный) usb.exe в каталог бэкэнды в момент, когда cupsd.exe
запускает его, знает, что на запрос веб-страницы администрирования, он должен проверить
USB-порты, а также проверить сети и другие порты для новых устройств.]
Инсталляция CUPS принтера
Выполните \cups\sbin\cupsd.exe
[I created a program object for this with the Start Minimized and Close Window
on exit checked in the Properties, Session tab; - ???]
Я создал программный объект для этого в начале свернутое и закрытое окно
при выходе проверяются в Свойствах, вкладке сессии;
в свойствах объекта также нужно указать Working directory: Drive:\cups\sbin
(где Drive имя диска, на котором установлена система печати CUPS).
Этот объект может быть помещен в папку Startup - и cupsd.exe будет запускаться
автоматически при загрузке.
Вы также можете добавить следующие строки в файл \startup.cmd
(или в файл инициализации сети \MPTN\BIN\setup.cmd)
CD \cups\sbin
start /min cupsd.exe
Я советую использовать веб-интерфейс CUPS для установки нового принтера.
Зайдите по адресу http://localhost:631/ (страница CUPS) и щелкните Add Printer.
Я добавил (подключенный по сети) цветной растровый inkjet-принтер Canon PIXMA
и буду использовать его в качестве примера.
Текст после "-" содержит пояснения.
Имя: PIXMA - имя, которое вы дали вашему принтеру.
Местоположение: Router LPT1 - физическое местоположение принтера; т. е.
подключенный к порту LPT1 роутера.
Описание: Canon PIXMA iP4000 Inkjet - краткое описание принтера
Continue - нажмите если настройки вас устраивают и вы готовы продолжить
Device: выберите соответствующий тип подключения устройства т. е. LPD/LPR Host
или Printer
IPP для USB-принтеров - обнаруженный принтер должен быть доступен для выбора.
Для других типов подключения потребуется дополнительная информация.
Пример: Device URI: lpd://192.168.2.1/lpt1 - адрес устройства для
LPD-принтера
Continue - если настройки вас устраивают, нажмите эту кнопку
[Make: Canon - select printer make - for USB printers, an attempt will be made
to confirm the correct PPD file to use - ???]
[Canon - выбрать принтер сделать - для USB-принтеров, будет сделана попытка,
чтобы подтвердить правильный файл PPD использовать]
Continue - если настройки вас устраивают, нажмите эту кнопку
Model: Canon PIXMA iP4000 - CUPS+Gutenprint v5.2.0-beta3(en) Simplified - выберите корректный драйвер; рекомендуется Simplified
Add Printer - если настройки вас устраивают, нажмите эту кнопку
После нажатия на кнопку "Add Printer" интерфейс сообщит о том, что принтер был добавлен и загрузит параметры принтера - это может занять некоторое время. Советуем просмотреть параметры и убедиться, что они вам подходят. Особенно это касается Media Size, Resolution и Image Type. Если настройки вас устраивают, нажмите кнопку "Set Printer Options" и программа сообщит, что "Printer PIXMA has been configured successfully."
Затем я нажал на вкладку Printers и на кнопку Print Test Page. Вскоре тестовая
страница показалась из принтера.
Все довольно просто...
Обратившись к файлу readme.os2, я воспользовался командной строкой чтобы
напечатать двухстраничный документ; открыв окно командной строки в \cups\bin,
я набрал:
[H:\cups\bin]lpr -P PIXMA \cups\share\cups\data\PReCS20.ps
После недолгой паузы принтер "зашевелился" и "выплюнул" 2 качественно напечатанных страницы.
Нет ничего проще...
Пошаговое руководство по установке принтера (подключенного по сети или через USB)
для работы с CUPS в картинках
Прежде всего, откройте в браузере страницу http://localhost:631/
Откройте вкладку Administration
Затем нажмите "Find new printers"
В данном случае, поскольку мой принтер подключен к сети и соединен USB-кабелем
с моим ПК, перечислены оба подключения - выберите тот, который хотите настроить.
Описание уже заполнено, но вы можете изменить текст по своему усмотрению.
Выберите подходящий драйвер принтера - в моем случае, поскольку Officejet 6310
в списке отсутствовал, я выбрал OJ 7110 т. к. выяснил, что он работает хорошо
(этот выбор всегда можно изменить).
Установите параметры для принтера, используемые по умолчанию.
Готово! Вы настроили ваш принтер для работы с CUPS - нажмите "send test page"
чтобы распечатать тестовую страницу. Следующий этап - создание OS/2 print
object для печати на CUPS Daemon - подробнее см. ниже.
Создание Desktop Printer Object для работы с CUPS
Теперь займемся сопряжением CUPS с операционной системой чтобы иметь возможность
печати в CUPS из приложений, таких как OpenOffice.org Writer (текстовый
процессор) и PMView (графика).
- 1] Распакуйте пакет драйвера eCUPS (на момент написания ecups-20090323.zip)
в каталог \os2\dll\ecups - это позволит избежать проблем с существующим
postscript-драйвером в \os2\dll\pscript.
- 2] Дважды щелкните по объекту 'install printer' в папке Printers и выберите
локальный принтер, либо откройте папку Desktop -> Templates и перетащите
шаблон принтера на Desktop чтобы начать создание принтера. Нажмите кнопку
'install new printer driver'. Выберите 'other ecomstation printer driver'.
В поле "directory" введите \os2\dll\ecups и нажмите Refresh чтобы увидеть
список принтеров.
Укажите имя принтера - в данном случае "PIXMA"
Выберите порт вывода - я изначально использовал LPT1 и установил драйвер порта
принтера cups позже.
Выберите (pscript) драйвер для принтера - Canon PIXMA iP4000
- 3] Распакуйте пакет драйвера порта eCuPS (на момент написания
cupsportdriver-20090410.zip), поместив файлы следующим образом:
- cups.pdr в \os2\dll
- cupslpr.exe в \tcpip\bin
- 4] Щелкните правой кнопкой мыши по новому объекту Desktop Printer Object и выберите Properties
Выберите вкладку 'Printer driver'
Убедитесь, что драйвер принтера по умолчанию выбран верно
Установите свойства печати (Job Properties): параметры Paper Size
(размер бумаги), Tray (способ подачи), Media Type (тип носителя),
Resolution (разрешение) должны совпадать с настройками CUPS-принтера - и
нажмите Save
Выберите вкладку 'Output port'
Нажмите кнопку 'Install new port'
Выберите "CUPS port" и нажмите 'Install'
- каждый подключенный через CUPS дополнительный принтер, который вы хотите
установить, получит свой собственный CUPS-порт: CUPS1, CUPS2, CUPS3 и т.д.)
Если порт не отображается, а файл CUPS.pdr находится в каталоге \os2\dll,
нажмите "install new port/New port drivers", укажите каталог \os2\dll и
нажмите 'Refresh'. CUPS-порт должен появиться, выберите его и нажмите
"install".
Щелкните правой кнопкой мыши по CUPSx CUPSPORTx и выберите свойства.
Для работы CUPS-порта нужно указать настройки:
- Host: localhost - или укажите 127.0.0.1
- Printer: PIXMA (имя должно быть таким же, как и имя, используемое для
создания CUPS-принтера с помощью административного веб-интерфейса CUPS),
нажмите OK.
- Выберите 'send as binary file".
Закройте 'свойства принтера'.
На этом настройка завершена. Пришло время напечатать тестовую страницу.
- Перед началом печати, убедитесь что cupsd.exe запущен
- Перетащите файл \cups\share\cups\data\testprint.ps на новый объект Desktop Printer Object
- Выберите Printer-specific в следующем диалоге
Вы должны получить тестовую страницу, напечатанную из вашего OS/2 Desktop
Printer Object
Следующий шаг - напечатать многостраничный документ из вашего любимого текстового
процессора, а затем попробовать используя ваш новый OS/2 Desktop Printer
печатать документы разных типов из различных приложений, напр., фотографии из
PMView.
Пошаговое руководство по настройке OS2 printer object для CUPS-принтера в
картинках
Откройте папку принтеров и нажмите "add printer":
Выберите local printer.
Нажмите "install printer driver", затем "other printer driver location" и
укажите, куда вы поместили драйвер принтера eCUPS ( \OS2\DLL\CUPS , как
говорилось ранее) - затем нажмите refresh. Отобразятся все принтеры в файле
CUPS, выберите драйвер вашего принтера (или подобного) и нажмите Install.
Нажмите ОК чтобы загрузить драйвер. Измените имя принтера "printer" на что-то
более осмысленное и нажмите "создать" - printer object будет создан и диалог
установки закроется (но это еще не все...).
Откройте свойства вашего нового объекта принтера, выберите вкладку "printer driver", убедитесь что новый драйвер указан в каждом из полей.
Теперь вы можете нажать кнопку "job properties" если хотите, но вы убедитесь,
что настройки точно такие же как те, что вы указали при создании принтера на
странице администрирования CUPS. Если вы откроете свойства драйвера принтера,
то сможете тоже установить несколько параметров. Обычно я оставляю их как есть. Теперь нажмите на вкладку "output port", а затем "install new port":
Т.к. вы поместили eCUPS Port Driver в каталог OS2\DLL ранее, сейчас вам будет
доступно для выбора огромное количество драйверов CUPS - просто выберите CUPS1
и нажмите "install"
Щелкните дважды на новом драйвере порта, отобразится панель настройки - здесь
можно "связать" систему печати OS/2 с системой печати CUPS!
Первое поле с надписью "localhost" оставляем как есть т.к. принтер подключен к
этому ПК. Если бы он был подключен к CUPS, выполняющейся на другой машине,
здесь можно было бы указать IP-адрес или hostname того компьютера.
Важнее второе поле - это имя принтера в рамках конфигурации CUPS - как вы
видите, я загрузил веб-страницу администрирования CUPS чтобы показать это - в
данном случае указано имя "HP_Officejet_6300_series". Нажмите "save properties",
закройте панели настройки принтера... и готово!
И в подтверждение вышеизложенного...
Вот диалог печати Firefox с новым подключенным через CUPS принтером, готовым к
печати как и любой другой принтер OS/2!
Удачи и спасибо Paul Smedley за отличную работу!
- Источник: http://svn.netlabs.org/ecups/wiki/HowTo
- Автор: Peter Brown
- Перевод выполнен по заказу eCo Software
Другие авторы текста:
Revision 1 |
14/08/2008 |
Peter Brown |
Revisions to filenames | 29/12/2008 | Paul Smedley
| Revisions to USB section | 29/03/2009 | Paul Smedley
| Revisions to the list of required software and brief description of software sections | 11/04/2009 | Ed Durrant
| Additional details about using USB interface and visual instructions around set up of CUPS web admin printer install | 12/04/2009 | Ed Durrant
| Additional visual instructions around set up of OS/2 printer object to use CUPS attached printer | 13/04/2009 | Ed Durrant
| Changes to the desktop printer object setup based on the later versions of the files for clarification | 10/07/2009 | Ed Durrant
| Various formatting improvements and clarifications | 2010-11-08 | Alex Taylor
| Formatting improvements and clarifications, continued | 2010-12-11 | Alex Taylor
| Added warning about the (hard-learned) pitfalls of prndrv -d | 2011-02-17 | Alex Taylor
|
Попробуй программу:
|
Безопасна ли eComStation? Подробнее..
|
Комментарии: Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).
|
|
Готовая eComStation на SSD диске
Последний активный опрос: Какая высота барьера RPM?
[Google]
|
IBM OS/2 Warp
|