Назад | Перейти на главную страницу

Принтеры CUPS, обнаруженные при просмотре, отображаются как /// dev / null

У меня есть два сервера в одной подсети, один сервер CUPS и один, которому нужен доступ к принтерам, настроенным на сервере CUPS. Просмотр CUPS кажется частично работающим, но, согласно lpstat на клиенте, устройства ///dev/null вместо ipp устройство.

[username@clienthost ~]$ lpstat -t
scheduler is running
no system default destination
device for boardroom: ipp://oldprintserver.my.network:631/printers/boardroom
device for br: ipp://oldprintserver.my.network:631/printers/br
device for its: ///dev/null      <------ THIS IS BAD?

Конфигурация сервера - cupsd.conf

Browsing On
BrowseRemoteProtocols
BrowseAddress @LOCAL
BrowseLocalProtocols CUPS dnssd

Конфигурация клиента - cupsd.conf

Browsing On
BrowseOrder allow,deny
BrowseAllow @LOCAL
BrowsePoll therealprintservername.my.network
BrowseInterval 30

Используя tcpdump для анализа пакетов между хостами, ясно, что клиент опрашивает сервер через IPP. Сервер отвечает 200 OK. Кроме того, кажется, что клиент видит только классы, объявленные сервером печати, а не сами очереди печати.

Вот что я действительно хочу знать.

[Изменить: хотя lpstat -t говорит, что устройство /// dev / null, я все равно могу отправлять задания на печать на устройство. Похоже, что базовая печать работает, но мне все еще интересно, почему на клиенте она отображается как /// dev / null.]

Большинство моих проблем сводилось к неправильному пониманию файла (ов) конфигурации CUPS. Я наткнулся на отличную ссылку под названием HOWTO настроить небольшой сервер - сервер печати CUPS (chschneider.eu), который дал большинство ответов, которые я искал.

Классы принтеров имеют нулевые устройства

В: Согласно lpstat на клиенте, устройства /// dev / null вместо устройства ipp.

Классы принтеров никогда не связаны с конкретным устройством или портом. Вместо этого они содержат в качестве членов другие принтеры. Независимо от того, запускаете ли вы lpstat на сервере CUPS или на клиенте, классы принтеров всегда будут иметь /// dev / null в качестве целевого устройства. Это предполагаемое поведение.

Использование клиента CUPS без локального сервера

Если вы хотите, чтобы все ваши задачи печати выполнялись точно один Сервер печати CUPS, вам вообще не нужно настраивать локальный сервер CUPS. Просто добавьте следующую строку в /etc/cups/client.conf.

ServerName my_cups_server.my.network

В клиентском режиме все обычные команды печати, например lpstat и lpr будут отправлены непосредственно на удаленный сервер CUPS. Если client.conf пуст, команды печати будут искать локальный сервер CUPS.

Минимальная конфигурация

В: Какова минимальная конфигурация, необходимая для работы CUPS в той же локальной сети?

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

Опрос через IPP

Это идеально, если у вас всего несколько клиентов и вы хотите больше контролировать среду печати. Опрос является неотъемлемой частью CUPS, и никаких специальных директив для его включения не требуется. Просто убедитесь в следующем:

  • Каждая очередь принтера должна иметь Sharing включается индивидуально.
  • В <Location /> раздел должен разрешать соответствующие подсети и / или пользователей.
  • Будьте осторожны с настраиваемыми политиками, которые могут запретить доступ.

Просмотр через UDP-трансляции

Это идеально, если у вас много клиентов или серверов, и вы хотите упростить использование сервера печати. Если на сервере включен просмотр, он будет периодически отправлять широковещательные рассылки UDP.

Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL