пробемы с подключением принтера (принтер подключается но система его не видит)

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

Аватара пользователя
KvP
Сообщения: 20
ОС: Ubuntu 10.04

пробемы с подключением принтера

Сообщение KvP »

Может эта тема уже обсуждалась, но я все обыскал и ничего не нашёл, поэтому заранее извиняюсь.

У меня такая проблема - клиент в терминале не видит своего принтера.
Принтер подключается, это видно из логов, но если я захожу Система->Администрирование->Печать то там этого принтера нет, соответственно приложения принтера тоже не видят.
Вычитал, что для того чтобы cupsd увидел принтер пользователя в рабочей среде должна присутствовать переменная CUPS_SERVER, но она почему то отсутствует если посмотреть -
set | grep CUPS_SERVER.
порывшись в скрипте nxnode нашел следующую команду в процедуре cmd_node_addprinter()
export CUPS_SERVER=$(node_cupsd_get_socket)
и я выяснил, что эта команда успешно выполняется, переменной присваивается место расположение файла cups.sock (в домашней папке пользователя), но тем не менее в окружении пользователя она не появляется. Я предположил, что переменная назначается позже запуска пользовательской рабочей среды и соответственно в нее не экспортируется.

Тогда я сделал следующее: в функции startsession() сразу после команды
[ "$EXPORT_SESSIONID" = "1" ] && export NXSESSIONID="$sess_id"
поместил такую команду:
export CUPS_SERVER=$HOME/.nx/C-${NXSESSIONID}/cups/cups.sock

и принтер стал доступен для пользователя. Но согласитесь, это как то грубовато !!! Может быть Гуру подскажут более изящное решение ? Потому, как в случае если пользователь подключается в локальной сети и не подключает свой принтер, то данная конструкция только мешается, так как он не видит принтеров установленных в системе.

принтер в nxclient назначил публичным.

сервер UBUNTU 10.04
freenx-server-0.7.4-eter23ubuntu
nx-3.4.0-eter10ubuntu
nxsadmin-0.2.1-eter5ubuntu
opennx-0.16-eter4.svn444ubuntu
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1570
Статус: Подвинутый участник

Re: пробемы с подключением принтера

Сообщение dimbor »

Не включен ли ENABLE_SLAVE_MODE?
Спасибо сказали:
Аватара пользователя
KvP
Сообщения: 20
ОС: Ubuntu 10.04

Re: пробемы с подключением принтера

Сообщение KvP »

ENABLE_SLAVE_MODE по дефолту,

bash > grep -r ENABLE_SLAVE_MODE /etc/nxserver/*
/etc/nxserver/node.conf:# If ENABLE_SLAVE_MODE="1" the user will be just logged in _once_ and the
/etc/nxserver/node.conf:#ENABLE_SLAVE_MODE="1"
/etc/nxserver/node.conf.d_/01-auth.conf:# If ENABLE_SLAVE_MODE="1" the user will be just logged in _once_ and the
/etc/nxserver/node.conf.d_/01-auth.conf:#ENABLE_SLAVE_MODE="1"
/etc/nxserver/node.conf.sample:# If ENABLE_SLAVE_MODE="1" the user will be just logged in _once_ and the
/etc/nxserver/node.conf.sample:#ENABLE_SLAVE_MODE="1"

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

Re: пробемы с подключением принтера

Сообщение dimbor »

Предлагается попробовать выключить его, т.к. теоретически для --addprinter конструкция после else:

Код: Выделить всё

if [ "$CMD" = "--startsession" -o "$CMD" = "--resumesession" ]
then
     export SLAVE_PID="$$"
     ( echo "$CMDLINE" | "$0" "$CMD"; kill "$SLAVE_PID"; ) &
     NODE_SESSION="$!"
else
     DELIM=""
     [ -n "$NODE_SESSION" ] && DELIM="$NODE_SESSION->$CMD"
     ( echo "$CMDLINE" | "$0" "$CMD" "$DELIM"; ) &
fi

должна экспортировать переменную процессу-родителю, да только вот далеко не факт, что родитель еще жив - то, что до else наводит на сомнения.
Спасибо сказали:
Аватара пользователя
KvP
Сообщения: 20
ОС: Ubuntu 10.04

Re: пробемы с подключением принтера

Сообщение KvP »

dimbor писал(а):
03.12.2010 20:27
Предлагается попробовать выключить его, т.к. теоретически для --addprinter конструкция после else:

Код: Выделить всё

if [ "$CMD" = "--startsession" -o "$CMD" = "--resumesession" ]
then
     export SLAVE_PID="$$"
     ( echo "$CMDLINE" | "$0" "$CMD"; kill "$SLAVE_PID"; ) &
     NODE_SESSION="$!"
else
     DELIM=""
     [ -n "$NODE_SESSION" ] && DELIM="$NODE_SESSION->$CMD"
     ( echo "$CMDLINE" | "$0" "$CMD" "$DELIM"; ) &
fi

должна экспортировать переменную процессу-родителю, да только вот далеко не факт, что родитель еще жив - то, что до else наводит на сомнения.


попробовал.... не помогло :(
Спасибо сказали: