Печать c Windows-клиента на Linux-сервер CUPS

Бывает необходимо печатать с компьютера под управлением Windows на принтере, подключенном к компьютеру с Linux. В этой статье я напишу, как настроить подобное подключение принтера.

Полагаем, что на машине с Linux все отлично. Уже установлен и настроен CUPS – сервер печати для UNIX-подобных операционных систем, а принтер подключен и печатает все что от него требуют.

Прежде всего, необходимо настроить разделение принтера с другой системой. Это необходимо сделать, если вы планируете использовать принтер как сетевой. Откройте файл /etc/cups/cupsd.conf и разрешите доступ к серверу, изменив строчки с тэгом Location. Например:

<Location />
  Order Deny,Allow
  Deny From All
  Allow From 127.0.0.1
  Allow From 192.168.0.*
</Location>

Добавьте IP адреса компьютера клиента в строчке Allow From client_ip_address. После того как вы внесли исправления, перезапустите CUPS.

С этого момента к принтеру могут подключаться и печатать другие клиенты согласно списка разрешений.

Теперь о настройке клиентов. О настройке Linux-клиента писать не буду (раз вы осилили настройку локального принтера значит настроите и сетевой). Напишу о подключении с Windows-машины.

Существует два способа подключения.

Первый способ использует Samba. Для этого потребуется установить и настроить Samba, поэтому использовать его мы не будем (хотя этот способ единственный для тех, кто использует Windows версии меньше чем Windows 2000).

Второй способ – использовать непосредственно протокол CUPS (годится для Windows 2000, Windows XP, Windows 7).

На компьютере с Windows, зайдите в Панель Управления -> Принтеры и выберите «Добавить новый принтер». Потом выберите опцию «Подключиться к принтеру в Интернете, в домашней сети или интрасети». В поле для URL введите адрес вашего принтера:

http://host_ip_address:631/printers/printer_name

где host_ip_address – это IP адрес вашего Linux сервера, а printer_name – это имя принтера, к которому вы подключаетесь. После этого установите драйвера для принтера на компьютер с Windows. Все установка завершена. Проверьте ваши настройки, попробовав напечатать тестовую страницу. Если тестовая страница распечаталась, на этом все.

А что делать, если тестовая страница не распечаталась? Первым делом смотрим логи CUPS. Проверяем очередь заданий. Поступало что-нибудь на печать, было ли выполнено.

Если на печать ничего не поступало, проверяем разрешения на доступ к серверу CUPS, настройки файрвола.

Если задание на печать поступало, но не выполнено, значит, проверяем сам принтер, проблема в нем, либо в настройках порта принтера.

Если задание на печать поступало и выполнено, но принтер ничего не напечатал, значит, проблема в настройках CUPS. Ваш сервер CUPS не печатает данные в формате RAW (бывает, что по умолчанию эта возможность отключена). Чтобы это исправить, необходимо отредактировать следующие файлы: /etc/cups/mime.convs и /etc/cups/mime.types. Добавьте или раскомментируйте следующие строки:

в mime.convs:

application/octet-stream        application/vnd.cups-raw        0       -

в mime.types:

application/octet-stream

Перезапустите CUPS. Должно работать.


Комментарии

  1. (#)   sapr94-2:

    Ох уж этот рав-формат! Намучался пока свой Samsung SCX-4300 подключал. Целый день потерял, пока разобрался. :(
    Подключается, на печать документы уходят, принтер жужжит, а не печатает ничего. А все из-за отключенного raw.

  2. (#)   aaaaa-raz:

    Автору РЕСПЕКТ !!!!! , аналогично потратил весь день на танцы с бубнам при попытке связать cups и samba вместе ! принтер Samsung SCX-4300 , в сети появляется . коряво подключается затем после перезагрузки отваливается совсем , вычитал массу конфигов с различных форумов . Способ автора самое простое и доступное решение . Спасибо !


Оставить комментарий

Ответ на Печать c Windows-клиента на Linux-сервер CUPS