kdm & X (доступ к X до логина пользователя в kdm)

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

F1AsH
Сообщения: 3
ОС: Fedora

kdm & X

Сообщение F1AsH »

Проблема примерно такова:
Есть некоторый скрипт, который должен отработать при авторизации пользователя, в котором есть необходимость в обращении к пользователю (через zenity или kdialog).
Если его запускать в pam-авторизации, то в иксах ничего не происходит.
выдаёт ошибку:
No protocol specified
(zenity:11560): Gtk-WARNING **: cannot open display: :0

Пробовал просто из консоли до логина пользователя от рута выполнить ту же команду, но результат почти тот же:
или просто говорит о невозможности открыть :0
или после export DISPLAY=:0 вдобавок ругается No protocol specified

xhost +si:localuser:$(id -nu) --- приводит к тем же ошибкам

в ковырянии Xaccess смысла не нашёл, потому что он для удалённого доступа к иксам придуман

в kdmrc не смог увидеть того, что могло бы помочь.

Парадокс так же состоит в том, что если выполнение скрипта вставить в Xsession, то всё работает, доступ к иксам есть.
И ещё: в gdm из рутовой консоли (до логина пользователя) kdialog и zenity выводят в иксы свои сообщения.

Пока не могу понять отчего root в kdm не может до определённого времени воспользоваться иксами, которые им же и запущены.
Кто ведает - просветите!
Проверял на Fedora 10,12,13
Спасибо сказали:

F1AsH
Сообщения: 3
ОС: Fedora

Re: kdm & X

Сообщение F1AsH »

Добавлю: проверял на Debian Lenny... Так что это не проблема дистра по-моему, а самого kdm.
Спасибо сказали:

F1AsH
Сообщения: 3
ОС: Fedora

Re: kdm & X

Сообщение F1AsH »

Понял гораздо позднее, а теперь пишу, вообще просто потому, что случайно вспомнил...
Несколько запутанно получится, но суть оказалась в том, что (???) почему-то kdm тех версий имел кукисы икс-сессии для рута изначально, а в описывемой мной ситуации на то время kdm отчего-то перезагружался повторно и, естесственно, кукисы изменялись и запросто ужэ нельзя было воспользоваться иксами дажэ и от рута (как от пользователя, а не из ядра разумеется).
Теперь, конечно, баг с перезагрузкой kdm исправили и руту решили не давать кукисы икс-сессии "от начала бытия" , как я понял, но в той ситуации я выкрутился импортом кукисов икс-сессии пользователя (в память [tmpfs], это в моём случае так надо было, потому что мне надо было перемонтировать каталог пользователя , а для этого мне надо было сохранить кукис "где-то ещё", но так, чтоб он долго не висел в системе -- tmpfs для этого лучше всего на мой взгляд ) из исполняемого скрипта, а далее -- по необходимости....
(man xauth)

# копируем кукис Х-сессии пользователя в память
cd $HOME && xauth extract /dev/shm/dsa $(xauth list $DISPLAY| cut -d' ' -f1)

# импортируем кукис нужному пользователю (исполнять от рута)
cd /home/USER && auth merge /dev/shm/dsa

# удаляем кукис из памяти в любом случае
rm /dev/shm/dsa
Спасибо сказали: