Принтер в Linux, доступ к принтеру по сети из систем Windows

Итак, возникла задача установить принтер в моей Linux, после чего разрешить доступ к нему из локальной сети, в том числе с машин под управлением Windows.
Прямо скажу, путь получился тернистым — установка принтера под Linux это еще полбеды, а вот разрешить доступ к нему с компьютеров с Windows, это уже загвоздка.
Итак к делу…

Прежде всего устанавливаем принтер. В моем случае это МФУ Samsung SCX 4500, поэтому я:
1. Проверил, что сервер cups установлен и запущен. В моем случае он был установлен, но небыл запущен.
Запустил его:

/etc/init.d/cupsd start

В ситемах RedHat может подойти команда

service cupsd start

Если он не установлен — его необходимо предварительно установить, например, командой yum install cups или emerge cups

2. установил пакет splix — в Linux Gentoo, для этого, я набрал команду:

emerge splix

В других ОС это будет команда yum install splix либо apt-get install splix, ну в общем установка пакетов к данной статье не относится.
Данный пакет нужен для принтеров Samsung.
Далее, скачал с сайта производителя драйвер под linux и установил его, запустив инсталлятор.

3. Перезапустил cups:

/etc/init.d/cupsd restart

Отправил на печать пробную страницу — она отпечаталсь. Отправил еще одну — ноль, результатов нет. Шаманил полчаса, прежде чем обнаружил что… нет бумаги. Блин. Проверьте бумагу, прежде, чем проверять принтер :-)
Окей, бумага загружена, жму печать — принтер работает.

Теперь осталось разрешить доступ к принтеру из локальной сети, с компьютеров под управлением Windows.
1. Для начала должна быть настроена сеть. Если сеть не настроена — настройте ее, описание настройки локальной сети не входит в данную статью — воспользуйтесь поиском по сайту, либо гуглом. Далее, должен быть установлен и запущен сервер samba. Если это не так — установите и запустите его. После запуска samba, его необходимо настроить. Описание настройки samba не входит в данную статью — воспользуйтесь поиском по сайту, либо гуглом.

Получили рабочую сеть, самое главное — получили доступ из Windows, к какой-либо директории в linux («расшареной» в настройках samba).

Теперь можно переходить непосредственно к настройке общего доступа к принтеру:

Открываем smb.conf (у меня он лежит по адресу /etc/samba/smb.conf ) и создаем в конце файла секцию настройки принтера.

У меня она выглядит так:

[printers]
printable = yes
printer name = scx4500
guest ok = yes
path = /var/spool/samba
use client driver = yes

Теперь по полочкам:

printable = yes

— что б печатало ;)

printer name = scx4500

— имя принтера scx4500

guest ok = yes

— разрешаем доступ гостям

path = /var/spool/samba

— черт знает что и сбоку бантик, в том плане, что четкого описания этой опции я не нагуглил, но без нее принтер не будет виден из локальной сети. Путь необходимо указать реальный. Мне пришлось очень долго гуглить и исследовать собственную систему. Если у Вас есть каталог /var/spool/samba то с вероятностью 99% этот путь подойдет. Так же встречался в описаниях путь /var/spool/lpd/lp, но у меня такого каталога нет, поэтому пришлось гуглить и искать подходящий.

use client driver = yes

— а вот без этой подлой строчки, из Windows печать может и не заработать, как вышло в моем случае, возникала ошибка «Нет доступа, подключиться не удалось». После того, как добавил эту строчку — доступ появился. Кстати, тоже пришлось по гуглить.., таков уж он — linux.

После этого можно перезапускать самбу.
Далее, идем в Windows, в панель управления, в раздел «Принтеры и факсы» (в Win XP) и добавляем принтер (сетевой). После того, как попросят драйвера — необходимо выбрать «установка с диска» и указать винде путь к .inf-файлу драйвера (он должен быть на диске, либо скачайте из интернета). Принтер добавлен, можно отправлять тестовую печать и… обнаружить, что документ отправляется на печать из Windows, но совершенно не вылазит из принтера :) А это самая подлая проблема, которая возникла на моем пути. Анализ лога sabma показал ошибку «client-error-document-format-not-supported» и в итоге нагуглилось решение:
1. проверить, что бы в файле /etc/cups/mime.types присутствовала и не была закомментирована строчка: application/octet-stream
2. проверить, что бы в файле /etc/cups/mime.convs присутствовала и не была закомментирована строчка: application/octet-stream
Вот на втором то файле собака и порылась — строчка эта была у меня закомментирована. Раскоментировал, на всякий случай рестартанул samba, рестартанул cups, отправил из Windows тестовую печать и о чудо — бумажка вылезла из принтера и там даже что-то было написано :)

Удачи!

P.S. Ссылка по теме…


Автор: Виктор Симон
www.man-linux.ru
Права копирования
Опубликовано 6 сентября 2008 - информация могла устареть.

Ответить