Печать в Cups.

Настройка принтера, принтер XEROX Phaser 3122. в дистрибутиве Gentoo.
установить cups:

emerge -b cups

для принтера xerox и samsung установить пакет splix:

emerge -b splix

также устанавливаем пакеты foomatic-db, если они не поставились вместе с cups, возможно придётся доставить и дополнительные пакеты из foomatic.
после того как установили пакеты, приступаем к настройке.
запускаем браузер, например lynx 127.0.0.1:631 и далее из браузера настраиваем. новый принтер и по всем пунктам,проходим настройки.
далее рассмотрим как сделать принт-сервером на локальную сеть.

Принт-Сервер на CUPS.

Теперь приступим к настройке этого принтера для работы в сети.
для этого не обходимо поправить в /etc/cups/cupsd.conf , т.е. добавить рядом с:

Listen localhost:631

следующую строчку:

Listen 192.168.1.10:631

что даёт нам прослушку локальной сети, проверить можно следуещим образом:

netstat -pant|grep cups

что выдаст:

tcp    0    0 192.168.1.10:631    0.0.0.0:*    LISTEN    30994/cupsd
tcp    0    0 127.0.0.1:631 0.0.0.0:*    LISTEN    30994/cupsd


и да не забываем после внесения изменений перезапустить cups:

/etc/init.d/cupsys restart

Затем снова открываем в редакторе файл /etc/cups/cupsd.conf и секцию:

 # Restrict access to the server...
 <Location />
  Order allow,deny
 </Location>

Приводим к виду:

 # Restrict access to the server...
 <Location />
  Order deny,allow
  # Запрещаем доступ всем
  Deny from All
  # Разрешаем доступ самому себе
  Allow from 127.0.0.1
  # Разрешаем доступ локальной сети
  Allow from 192.168.1.*
 </Location>

Кроме того секцию:

  <Limit All>
  Order deny,allow
  </Limit>

Нужно привести к виду:

  <Limit All>
  Order deny,allow
  Deny from All
  Allow from 127.0.0.1
  Allow from 192.168.1.*
  </Limit>

И снова перезапустить cups:

/etc/init.d/cupsys restart

На этом настройке компьютера с подключенным принтером заканчивается. Переходим к настройке остальных компьютеров. Здесь настройка много проще: достаточно привести файл /etc/cups/printer.conf к виду:

  <Printer Main_Printer>
  Info
  Location
  # Здесь нужно указать правильный IP-адрес компьютера с принтером и имя принтера
  DeviceURI ipp://192.168.1.10/printers/Default_Printer
  State Idle
  StateTime 1220950496
  Accepting Yes
  Shared Yes
  JobSheets none none
  QuotaPeriod 0
  PageLimit 0
  KLimit 0
  OpPolicy default
  ErrorPolicy stop-printer
 </Printer>

И перезапустить cups.

Всё! Можно пользоваться.

Основным преимуществом такого подхода является простота замены принтера (в случае необходимости), поскольку при смене принтера достаточно дать новому принтеру в cups такое же имя, какое было у старого и тогда даже не придётся менять настройки на других компьютерах.

Второй вариант:
вместо возни с printer.conf, на клиентах, проще прописать в /etc/cups/client.conf

===========
servername 192.168.xx.xx
===========

И всё..., - это вариант работал на старом cups'e, на новом почему-то не захотел, заработало по первому... меня устраивает.

Ещё один момент:
в боевых условиях ErrorPolicy stop-printer не подходит. лучше ErrorPolicy abort-job . если есть желание постоянно принтер ручками в cups включать, то можно ErrorPolicy stop-printer оставить.
- не проверил ещё.

Литература:

  1. http://www.ylsoftware.com/news/461

Hosted by uCoz