Не пробрасываются сетевые принтеры с локального CUPS на терминальных станциях

Модераторы: dimbor, Модераторы разделов

khmyr
Сообщения: 2

Не пробрасываются сетевые принтеры с локального CUPS на терминальных станциях

Сообщение khmyr »

Добрый день, уважаемые форумчане!
Прошу помочь со следующей проблемой!

Имеется терминальный сервер CentOS 6.4 ( ядро 2.6.32-358.2.1.el6.x86_64, GNOME 2.28.2 ) + FreeNX ( в редакции от dimbor, http://files.mail.ru/CA9BF8D67E13444E9B235E474D8C9FE9 ) + CUPS 1.4.2.

Клиенты - тонкий клиент от фирмы Kraftway ( http://www.kraftway.ru/products/6/tonkie-klienty/vv18/ ), в качестве прошивки имеет Kraftway Terminal Linux v3.23 ( Linux 3.5.7 + CUPS 1.5.2 + клиенты NoMachine ).

Тонкие клиенты территориально очень сильно разбросаны ( по области ) по 3-4 на подразделение.

К каждому тонкому клиенту физически через usb подключен принтер - Brother 2132 и пара точно таких же принтеров с соседних тонких клиентих ( подключены на локальном CUPS через ipp, например ipp://x.x.x.x:631/printers/034_buh ). Все они прекрасно работают с локальных CUPS.

Соответственно при подключении к сессии NX c локальных CUPS-ов тонких клиентов происходит проброс установленных принтеров на терминальный сервер. И всё это достаточно хорошо работает.

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

Для исправления ситуации был применено следующее решение:
Не подключать клиентскую сессию к службе печати терминального сервера, а перенаправить работу на службу печати клиента напрямую. Тогда клиент будет видеть только "свои" принтеры. Решается это прописыванием строчки вида "ServerName x.x.x.x" в файле ~/.cups/client.conf где x.x.x.x клиентский ip.
Реализация следующая:
- устанавливаются cups-libs.i686 и cups-libs.x86_64
- lалее на NX сервере необходимо включается публикация переменной NXUSERIP, для этого модифицируется:
# echo EXPORT_USERIP="1" >> /etc/nxserver/node.conf.d/99-centos-dimbor.conf
# service freenx-server restart
- кладется скрипт foreign_cups.sh в папку /etc/profile.d (скрипт ( http://files.mail.ru/D4F827A7D2654BC89DA5A906EFA34240 ) имеет следующую логику - проверяет подключен ли клиент по NX, и имеет ли клиент сконфигурированные принтеры - только в этом случае CUPS будет перенаправлен. Так же скрипт может перенаправлять CUPS на другой произвольный адрес, например в случае если в кабинете два рабочих места, и принтер подключен к одному из них. Для этого в папку /etc/cups ложиться файл cups_iptable ( http://files.mail.ru/329E10F879544B4C87E4BBD152F97D47 ) в котором надо прописать пары "клиентский_ip серверный_ip". )
Уточнение: скрипт сам создаёт ~.cups/client.conf и прописывает там IP тонкого клиента при подключении пользователя к NX-сессии.

В результате список принтеров которые видит пользователь ограничивается только списком принтеров установленных на локальном CUPS тонкого клиента.

А теперь собственно сама проблема: при таком решении пробрасывается ТОЛЬКО физически подключенные принтеры ( по usb ), сетевые же настроенные с соседних терминалок и которые видны в локальном CUPS-е при управлении тонким клиентом через браузер, в NX-сессии не видны.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Не пробрасываются сетевые принтеры с локального CUPS на терминальных станциях

Сообщение dimbor »

В описанные тонкости конфигурирования купса пока не въезжал за недостатком времени и, походу, соображения. У меня проблемы печати в другой город пока возникают только на уровне "хи-хи". Встанут колом - буду ковырять в сторону убирания гостя из пермишенсов сессионного принтера. (nxnode, cmd_node_addprinter(), строчка PUBLIC="-u allow:$USER,guest,root"). Либо прикручивания к этой строчке каких-то вариантов, потому как печать в другую сессию частенько используется штатно, в случае малограмотного кладовщика например.

Может как-то не так понял, но при ipp печати всегда считал фичей неважность расположения принтера у клиента - был бы в клиентском купсе. (На виндовых клиентах вообще нагораживать надо, чтобы до сетевых дотянуться.)
Спасибо сказали:

khmyr
Сообщения: 2

Re: Не пробрасываются сетевые принтеры с локального CUPS на терминальных станциях

Сообщение khmyr »

В том то и проблема, что при пробросе в терминальную сессию с локального купса пробрасываются только физически подключенные принтеры, хотя по идее сетевые тоже должны пробрасываться.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Не пробрасываются сетевые принтеры с локального CUPS на терминальных станциях

Сообщение dimbor »

Тогда следует установить, в чем между нами разница. Логично? CUPS_SERVER_MODE используется? Враперы на клиентах для скачки драйверов сервером?
Спасибо сказали: