Расшарить из-под винды для линукса принтер, для которого нет драйверов под линукс
Материал из Wiki.UnixForum.org
Содержание |
Введение
Как известно, для доступа к расшаренному из винды принтеру, драйверы на него должны быть на всех использующих его компьютерах. Винда расшаривает драйверы вместе с принтером, так что это не проблема при соединении windows-windows, т.к. они будут скачаны и установлены невидимо для пользователя. Однако расшариваемые виндой драйверы не подходят для Linux, и под него их ставить приходится самостоятельно. Если для этого принтера нет драйверов под Linux, это становится серьёзной проблемой.
В данной статье будет описан метод, позволяющий создать и расшарить под виндой виртуальный принтер, подходящий для линукса, и перенаправляющий печать на реальный принтер.
Требующиеся программы
Следует скачать и установить под винду
- GPL Ghostscript
(будем предполагать, что установится он в C:\Program Files\gs\) - GSView
- RedMon (64-bit version)
- Драйвера на ваш принтер ;)
(будем предполагать, что это Canon LBP2900; если другой, то вам потребуется ниже указывать его настоящее название, с точностью до пробела, взятое из окна "принтеры и факсы")
В 64-битных версиях винды необходимо использовать 64-битные версии Ghostscript и RedMon. 32-битные работать не будут.
В win7 как установку этих программ, так и выполнение всех последующих действий следует выполнять под администратором. Причём не просто под пользователем с правами администратора, а под спецпользователем с именем Администратор.
Следует установить под Линукс
- CUPS
- Samba
Обычно они идут вместе с дистрибутивом.
Настройка настоящего принтера
Откройте свойства вашего принтера.
Расшаривать его не обязательно. Можете убрать галочку.
Во вкладке "Advanced" выберите пункты "Spool print documents so program finishes printing faster" и "Start printing immediately".
Можете попробовать указать "Print directly to printer", это позволит избежать появления лишних окон на компьютере с виндой, но на некоторых принтерах сделает всю схему неработоспособной!!!
Создание виртуального принтера
Выберите пункт "Создать принтер" в левой части окна "Принтеры и факсы". Выберите опцию "локальный принтер". Уберите галочку "Автоматически определить принтер Plug-And-Play".
На следующем шаге выберите "Создать новый порт" (ни в коем случае не выбирайте один из существующих!), "Redirected Port". Когда спросят, введите "RPT1:". В качестве модели принтера выберите совместимый с Linux PostScript-принтер, соответствующий вашему по типу (цветной, ч-б, и т.д.). Например, "HP LaserJet 4/4M PS" или "HP Color LaserJet 4500 PS". Имя принтеру можете дать любое, например, "LinuxPostScript". Откажитесь от печати тестовой страницы, поскольку этот принтер пока не работает.
Распространённая ошибка на этом этапе - выбор не-PostScript принтера. Чтобы быть уверенным, выберите принтер от HP, название которого оканчивается на PS.
В win98 у вас не будет варианта "Redirected port". Здесь вам следует выбрать порт "FILE:", а после создания, в свойствах принтера, добавить порт "RPT1:".
Если в win7 вы при создании порта видите сообщение об ошибке, значит вы создаёте его не под администратором.
Настройка GhostScript
В каталоге GhostScript создайте файл mswinpr.rsp (у нас это будет C:\Program Files\gs\mswinpr.rsp) со следующим содержимым:
-I"C:\Program Files\gs\gs8.64\lib;C:\Program Files\gs\fonts" -sDEVICE=mswinpr2 -dNOPAUSE -dSAFER -sPAPERSIZE=a4 -sOutputFile="%printer%Canon LBP2900"
Внимание! В зависимости от версии GhostScript (у нас 8.64) первая строка может быть другой. В зависимости от модели (точнее, имени в окне "принтеры и факсы") настоящего принтера, последняя строка может быть другой.
Настройка RPT-порта
Откройте свойства виртуального принтера, вкладку "порты". Убедитесь, что галочка стоит только напротив "RPT1:". Если вы ранее выбрали порт "FILE:" и порта "RPT1:" здесь нет, создайте его.
Откройте свойства порта "RPT1:". В поле "Redirect this port to program" выберите программу gswin32c.exe (у нас - C:\Program Files\gs\gs8.64\bin\gswin32c.exe). В поле "Arguments for this program are" введите:
@"C:\Program Files\gs\mswinpr.rsp" -
Обратите внимание на пробел перед дефисом. Также учтите, что у вас путь к этому файлу может быть другим (мы его создали на прошлом шаге).
В остальных полях укажите "Copy temporary file to printer", "Canon LBP2900" (ваш настоящий принтер), и либо "Normal", либо "Hidden", в зависимости от ваших предпочтений. Вариант "Hidden" позволит выводить на экран винды меньше окон.
Во вкладке "Доступ" расшарьте принтер.
Настройка Linux
Осталось совсем немного. Просто добавьте расшаренный виртуальный принтер в CUPS. Например, откройте браузером его web-интерфейс (http://localhost:631/), во вкладке "администрирование" выберите "добавить принтер", укажите его адрес (например, smb://win-printing/LinuxPostScript) и драйвер (для выбранной при создании виртуального принтера модели).
Напечатайте тестовую страницу. Если удастся, значит, всё прошло хорошо.
