Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe

Автор: ANikolaev Дата: 06.11.2009 17:56 Добрый день !

Имеется две проблемы с принтерами:
Модели принтеров: HP LJ1300. Делал и под рутом, и под обычным пользователем - результат один.

1. Никак не получается подключить по сети к Linux-компьтеру принтер, подключенный к дугому Linux-компьютеру.
Принтер напрямую подключен к компьютеру с IP-адресом 192.168.0.65. С подключением принтера напрямую проблем не возникло. Все работает.

Пытаюсь подключить принтер к компьютеру с IP-адресом 192.168.0.61

Все параметры сети (шлюз, DNS и т.д.) введены. Сеть работает, видит доступные файлы пользователей на другом ПК Linux.

Пытаюсь добавить принтер с помощью утилиты по настройке принтера Система - Администрирование - Печать
Выбираю вид подключения Internet Printing Protocol, в поле "Узел" ввожу 192.168.0.65. Что вводить в поле "Очередь" не понятно. По умолчанию стоит /printers/. При нажатии. "Поиск очереди"Пишет "Невозможно получить список очередей с узла" и кнопка Прменить и Проверить не доступна. Стираю содержимое поля "Очередь". Кнопка Применить становится доступной, но кнопка "Проверить" и кнопка "Применить" выдают ошибку.

2. Пытаюсь подключить принтер, расположенный на Windows машине, в указанной выше утилите. Выбираю Windows Printer via Samba. Через обзор нахожу нужный мне компьютер и подключенный к нему принтер. Выбираю драйвер принтера. Для верификации ввожу Agrabod/A.Nikolaev (имя пользователя домена в MS Windows) и пароль. Доступ срабатывает. Пробную страницу печатает.
Нажимаю Применить. Проверяю печатью из Опен Оффиса - печатает.
Но стоит только перезагрузиться - печать на принтер не производится, пишет что-то про авторизацию.
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 06.11.2009 19:22lg >Что вводить в поле "Очередь" не понятно. По умолчанию стоит /printers/.
/printers/имя принтера (например /printers/CUPS-PDF)
По умолчанию cups принимает задания только с localhost, разберитесь с сервером сначала
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 06.11.2009 21:57BigAndy
Что вводить в поле "Очередь" не понятно. По умолчанию стоит /printers/

в cups есть страшно развитая подсказка по синтаксису подклюений к любому сетевому интерфейсу.
Далее: Какой смысл в ipp подключении к Linux-принтеру? поднимите lpd демон. (входит в состав cups-lpd)
В CUPS 1.4.......x по умолчанию включен.
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 09.11.2009 15:21ANikolaev Вот содержимое файла etc/cups/cupsd.conf:
-------------------------------------------------

MaxLogSize 0
#
# "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $"
#
# Sample configuration file for the Common UNIX Printing System (CUPS)
# scheduler. See "man cupsd.conf" for a complete description of this
# file.
#

# Log general information in error_log - change "info" to "debug" for
# troubleshooting...
LogLevel info

# Administrator user group...
SystemGroup sys root


# Only listen for connections from the local machine.
Port 631
#Listen localhost:631
#Listen 192.168.0.65:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
#BrowseAllow all
BrowseAllow 192.168.0.*
BrowseAddress 192.168.0.*

# Default authentication type, when authentication is required...
DefaultAuthType Basic

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

# Restrict access to the admin pages...
<Location /admin>
Encryption Required
Order allow,deny
Allow 192.168.0.*
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow 192.168.0.*
</Location>

# Set the default printer/job policies...
<Policy default>
# Job-related operations must be done by the owner or an administrator...
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
Require user @OWNER @SYSTEM
Order deny,allow
Allow 192.168.0.*
</Limit>

# All administration operations require an administrator to authenticate...
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow 192.168.0.*
</Limit>

# All printer operations require a printer operator to authenticate...
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow 192.168.0.*
</Limit>

# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
Allow 192.168.0.*
</Limit>

<Limit All>
Order deny,allow
Allow 192.168.0.*
</Limit>
</Policy>

#
# End of "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $".
#

-------------------------------------------------

Принтер подключен к ПК с IP-адресом 192.168.0.65

Окно настройки cups в броузере открывается http: //127.0.0.1:631


Файл cupsd.conf был поправлен по рекомендации (была добавлена возможность для полного доступа к принтеру со всех IP-адресов диапазона192.168.0.*.

Не могу понять, как подключить принтер к другому ПК в сети (IP-адрес 192.168.0.62).
Открываю на том ПК также http: //127.0.0.1:631, нажимаю Add Printer, ввожу вручную Name, Location, Description, дальше предлагается ввести Device, и тут мне непонятно, что выбирать и как действовать дальше.

Что бы я не выбрал (IPP, HTTP. LPD), предлагается ввести тестом и приведены примеры:

Examples:

http: //hostname:631/ipp/
http: //hostname:631/ipp/port1

ipp://hostname/ipp/
ipp://hostname/ipp/port1

lpd://hostname/queue

socket://hostname
socket://hostname:9100

See "Network Printers" for the correct URI to use with your printer.

Когда смотрю инструкцию, там моего принтера нет
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 09.11.2009 20:03BigAndy
Цитата:
Когда смотрю инструкцию, там моего принтера нет

Имеется ввиду очередь, которую в создали на сервере.

Цитата:
Что бы я не выбрал (IPP, HTTP. LPD)

Не вижу смысла в ipp на линуксе

Цитата:
дальше предлагается ввести Device

Ваш девайс. Это либо локальное устройство, либо локальная очередь, либо удаленная очередь.
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 10.11.2009 09:43ANikolaev я набирал lpd://195.168.0.65/Имя_Принтера, не помогло (Имя_Принтера - имя принтера, как оно значится на компьютере, к которому он подключен)

BigAndy, подскажите пожалуйста, что за очередь на сервере.
Как ее создать, где прописать.

Я специально никаких очередей не создавал. Просто подключил принтер (кстати, он обнаружился автоматически), выбрал драйвера, попытался подключить по сети - не вышло, затем на ПК, к которому подключен принтер, по рекомендациям книг подредактировал файл cupsd.conf (пример выше), чтобы разрешить доступ к принтеру с других ПК сети. (указал диапазон IP-адресов).

С ПК, к которому подключен, он печатает прекрасно.
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 10.11.2009 12:04ANikolaev Вот что я вычитал в инете:

LPT #1 — принтер, подключенный непосредственно к компьютеру через параллельный порт или порт USB.

Serial Port #1 — принтер, подключенный непосредственно к компьютеру через последовательный порт.

AppSocket/HP JetDirect — принтер, подключенный непосредственно по сети через HP JetDirect, а не к компьютеру.

Bluetooth printer — принтер, оснащенный встроенным модулем беспроводной связи Bluetooth. Модуль Bluetooth обеспечивает возможность беспроводного подключения к принтеру, что позволяет располагать принтер не обязательно рядом с компьютером, и получить доступ к такому принтеру нескольких компьютеров даже при отсутствии локальной сети.

Internet Printing Protocol (ipp) — принтер, доступ к которому может быть получен по сети TCP/IP через протокол Internet Printing Protocol, также известный как IPP (например, принтер, подключенный по сети к другому компьютеру с НауЛинукс, на котором выполняется CUPS).

LPD/LPR Host or Printer — принтер, подключенный к другой UNIX-системе, доступ к которой может быть получен по сети TCP/IP (например, принтер, подключенный по сети к другому компьютеру с НауЛинукс, на котором выполняется LPD).

Windows Printer via Samba — принтер, подключенный к другой системе с предоставлением принтера по протоколу SMB (например, принтер, подключенный к машине с Microsoft Windows™).

Другой — другие типы принтеров.

-----------------

Т.е. я так понял, что мне нужно все организовывать через LPD/LPR Host or Printer в случае, когда принтер подключен к ПК Linux, и Windows Printer via Samba - когда к ПК Windows/

Правда, теперь мне непонятно, как включить этот самый LPD, в списке служб его нет.
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 10.11.2009 15:42ANikolaev Кстати, при попытке добавить принтер по сети удается увидеть принтер только тогда, когда в сетевом компьютере выбираю Internet Printing Protocol (ipp). В поле "Узел" ввожу IP-адрес компьютера, нажимаю "Поиск очереди", и в окне Броузер IPP принтер находится. Вот только потом, при нажатии на кнопку "Проверить" выдается ошибка идентификации.
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 10.11.2009 16:02BigAndy
Вот только потом, при нажатии на кнопку "Проверить" выдается ошибка идентификации.

631/tcp порт отрыт?

Цитата:
BigAndy, подскажите пожалуйста, что за очередь на сервере.
Как ее создать, где прописать

Смотрите в свой /etc/printcap (собственно то, что вы прописываете в cups и есть имя очереди).

Цитата:
Правда, теперь мне непонятно, как включить этот самый LPD, в списке служб его нет.

В CUPS 1.3* требуется пакет cups-lpd
CUPS 1.3x немного неправильно бродкастится имя ipp очереди. Иногда достаточно просто указать ip/printers$/. Но чаще - бесполезно для CUPS Поэтому либо шаманить и подбирать руками, либо просто использовать lpd. Ибо в данном случае преимущества ipp уничтожаются. (собственно их практически нет).
В CUPS 1.4.x -ничего не надо. Веб-морда прекарсно понимает другие cups-сервера (и ipp и jetdirect) CUPS 1.4 я выдрал из src.rpm 11й федоры. но можно стащить и с офсайта.
С другой стороны я никогда не пользуюсь веб-мордой CUPS, мне достаточно консольных команд. На крайний случаай - system-config-printer, который, право умеет больше, нжели веб-морда CUPS.

Ошибки ищите в /var/log/cups. Для более полного логирования - замените уровень LogLevel .

нажимаю "Поиск очереди"
Воспользуйтесь обычным снифером. С его помощью быстрее найдете "збродкащенное" имя принтера(ов)
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 11.11.2009 10:23ANikolaev Большое спасибо, BigAndy, попробую
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 12.11.2009 15:08ANikolaev 1-я часть получилась. (ПК Linux увидел принтер на другом ПК Linux и получилось напечатать документ).
Что я сделал:
На том ПК, к которому подключен компьютер, в броузере зашел http: //127.0.0.1:631.
Убедился на вкладке Printers, что принтер виден
На вкладке Administration поставил все галочки кроме Use Kerberos autentification и Allow printing from the Internet
Затем нажал Change Setting.
(Я так понимаю, данные действия внесли необходимые изменения в etc/cups/cupsd.conf, добавив в нужные разделы Allow All)

После этого перезагрузил этот ПК и другие ПК в сети, и другие ПК, когда в них заходишь http: //127.0.0.1:631, увидели этот принтер. Вот только для того, чтобы поставить этот принтер по умолчанию, нужно воспользоваться Администрирование-Печать, и, выбрав принтер, поставить "Использовать по умолчанию". Через веб-интерфейс это сделать не получится - выдает ошибку доступа.

(CUPS-сервер 1.3.7)
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 12.11.2009 19:09BigAndy
Цитата:
добавив в нужные разделы Allow All)

Это дырка в безопасности, в особенности если есть принтеры с RISC- процессорами. пропишите только те адреса, которые надо действительно слушать.

Цитата:
После этого перезагрузил этот ПК и другие ПК

O_0 Зачем???

Цитата:
нужно воспользоваться Администрирование-Печать

lpadmin чем не подходит?

Цитата:
Через веб-интерфейс это сделать не получится - выдает ошибку доступа.

Забудьте про него...
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 13.11.2009 09:44ANikolaev BigAndy Пишет:
-------------------------------------------------------
> добавив в нужные разделы Allow All)
> Это дырка в безопасности, в особенности если есть
> принтеры с RISC- процессорами. пропишите только
> те адреса, которые надо действительно слушать.
>


Я пытался добавить 2 адреса, 192.168.0.61 и 192.168.0.62
Вставлял cupsd заместо Allow All (а это резервирвал)
1:
Allow From 192.168.0.61
Allow From 192.168.0.62

2: Allow From 192.168.0.61 192.168.0.62

Эти варианты не сработали

Сработало по-моему Allow From 192.168.0.* (но на все IP-адреса)

И сработало разрешение на конкретный Allow From 192.168.0.61



> После этого перезагрузил этот ПК и другие ПК
> O_0 Зачем???

Соглачен, можно было просто службы перезапустить.

> нужно воспользоваться Администрирование-Печать
> lpadmin чем не подходит?

Я написал, как это у меня получилось. Если получилось так, то зачем набирать что-то в коммандной строке.
Тем более администрирование-печать по-моему вызывает config-deamon-cups, а не lpadmin


>
> Через веб-интерфейс это сделать не получится -
> выдает ошибку доступа.

> Забудьте про него...

Все остальное через Веб-Интерфейс прекрасно получилось, поэтому тем, кто не знаком со структурой файла cupsd.conf, мне кажется, вполне можно его рекомендовать. Тем более далеко не всегда стоит задача разрешить печать с конкретных адресов.

Извините, BigAndy, я не являюсь серьезным техническим специалистом в области компьютерног ожелеза(я 1С-программист), поэтому не совсем разбираюсь в терминах типа RISC-процессы, снифер т и.д. Пожалуйста, пишите поржалуйсиа более понятным языком. Я просто стараюсь, решив проблему, донести до людей, не являющихся компьютерными специалистами (тем более в Linux), как эту проблему решить.

Мне кажется - сначала надо попытаться решить проблему более простым путем, а потом пепрейти к более сложному.
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 13.11.2009 10:38BigAndy
Цитата:
Мне кажется - сначала надо попытаться решить проблему более простым путем, а потом пепрейти к более сложному

Именно.. И вы то думаете, если бы через cups-морду можно было бы настроить все, эта самая морда предлагала бы напрямую редактировать cups.conf???
изучив lpadmin (потратив двадцать минут на это) можно было бы практически все делать, быстрее и проще...

Вот только я до сих пор не сообразил, как cupsd мапит ppd файлы на демоны печати.
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 19.11.2009 10:11ANikolaev Вкрадце подитожу, с чет я смог разобраться:

1. Подключение принтера, подключенного к Linux-компьютеру, к другому Linux-компьютеру:
В кратце рецепт - установить пакет cups, в cupsd.conf на ПК, к которому подключен принтер, прописать разрешения на просмотр/использование (т.е. IP-адреса разрешенных компьютеров) - и принтер будет увиден теми ПК, IP-адреса которых прописаны в cupsd.conf.
Как прописать -напишу чуть позднее.

2. Подключение принтера, подключенного к Linux-компьютеру, к Windows-компьютеру:
На ПК Linux проверить, существует ли файл /etc/xinetd.d/cups-lpd
Если файл существует, то нужно под root-ом поменять строку disable=no на disable=yes
Если файл не существует, то нужно установить пакет cups-lpd, и тогда файл появится, и внести в него приведенные выше изменения.
Перезапустить службу xinetd

Затем в Windows добавить новый принтер, тип локальный, создать новый порт Standart TCP/IP, в настройках порта указать IP-адрес ПК, к которому подключен принтер, протокол LPR, имя оxереди - имя принтера в Linux, поставить галочку - разрешен просмотр байт в LPR и установить Win драйвер принтера. И все должно заработать.

3. Пока осталась нерешенной последняя проблема - подключение Windows принтера к ПК Linux. Напомню - сеть Windows у меня имеет домен.

Я вычитал следующие советы с [mydebianblog.blogspot.com]:


Сетевая печать из Linux на Windows принтер используя SAMBA

Select Language English Задача: есть принтер, подключённый к машине Windows по локальной сети, и есть компьютер с Linux и установленной там системой печати CUPS. Нужна печатать с Linux-машины на Windows-машину.
Решение: с помощью веб-формы CUPS добавляем принтер в Linux и указываем логин guest для печати на Windows машину.

Рассматривать будем на рабочем примере: есть компьютер под Windows XP по адресу 192.168.1.1, на нём по SAMBA виден расшаренный принтер LaserJet 1200, который имеет сетевое имя HPLaserJ. С других машин под Windows печать на него идёт, но через CUPS при попытке отправить задание на печать вылезает ошибка.



При использовании SMB протокола пишет:
Connection failed with error NT_STATUS_ACCESS_DENIED

Если пытаюсь печатать через IPP, получаю:
Unable to connect to SAMBA host, will retry in 60 seconds...foomatic-rip version $Revision$ running...


Пароля на принтеры нет.

Решение проблемы просто до смешного. Добавляем в веб-форме CUPS принтер, как сказано здесь, выбираем способ подключения Windows printer via Samba. Далее в строке адреса пишем:

smb://guest@192.168.1.1/HPLaserJ


И всё! Печать пошла!

И почему в гигантской, хотя и бестолковой, документации CUPS это не выделено ярким шрифтом?

В приложениях KDE нужно выставить адрес службы печати на локальный: 127.0.0.1:631.

Если же в вашей Windows-машине используется авторизация через домен, то надо в строке адреса указывать пароль и имя пользователя.

smb://usrername:userpassword@domainname/computername/printername

Во избежание излишних нервных перенапряжений, не рекомендую пользоваться именами принтеров с пробелами и кириллицей.

Ссылки:
Решение было найдено, страшно сказать, на ЛОРе. Что поражает, так это то, что такую простую вещь никто нигде не освещает. Надеюсь, это поможет кому-то ещё.

Копируете статью - поставьте ссылку на оригинал!

-----------------

Сделал все, как рекомендовано, но не помогло
Re: Проблемы при подключении сетевых принтеров в Linux Cobalt Deluxe 19.11.2009 11:12BigAndy И почему в гигантской, хотя и бестолковой, документации CUPS это не выделено ярким шрифтом?
потому что в српавке есть таблица с фоматами uri подключения к сетевым притерам.
RSS-материал