[sisyphus] gdm и xinit.d

Alexey Rusakov =?iso-8859-1?q?ktirf_=CE=C1_users=2Esf=2Enet?=
Пн Дек 27 00:35:44 MSK 2004


Denis Klykvin wrote:

>>Я его никак не пытаюсь запускать, я хочу, чтобы он запускался в начале
>>каждой X-сессии. Ручками запущенный он все прекрасно делает, но
>>ручками мне уже надоело, до и неправильно это.
>>    
>>
>Создайте на него ссылку в ~/.xsession.d
>(или просто скрипт на sh, вызывающий его -- точно не помню)
>  
>
Yuri N. Sedunov wrote:

>Сделал 
>ln -s /usr/X11R6/bin/enable_X11_numlock .xsession.d/numlock
>Работает.
>

Я, конечно, понимаю, что это круто, но поясните мне: я должен это делать 
в ~root/.xsession.d? В ~/.xsession.d? А если у меня пользователей не 
один на машине (да, все хотят жить с включенным NumLock, странное дело)?

Обход /etc/X11/xinit.d/ (вроде бы) происходит в /etc/X11/Xsession. В 
xinit.d/ наличествует скрипт numlock, вызывающий enable_X11_numlock, 
однако он не вызывается. Закидывание в xinit.d/ элементарного скрипта, 
создающего файл в /tmp (и несрабатывание этого скрипта при запуске 
сессии), приводит к мысли о том, что xinit.d/ не просматривается в 
Xsession. Но закидывание этого же скрипта в /etc/X11/profile.d/ приводит 
к ожидаемому результату! Вот выдержка из этого самого Xsession:

# Source shell scripts from system /etc/X11/profile.d/
for f in /etc/X11/profile.d/*.sh; do
    # Don't run *.rpm* and *~ scripts
    [ "${f%.rpm*}" == "$f" -a "${f%\~}" == "$f" ] || continue

    SourceIfNotEmpty "$f" "$@"
done

# Source shell scripts from user ~/.xprofile
SourceIfNotEmpty "$HOME"/.xprofile "$@"

# Run system scripts from /etc/X11/xinit.d/
for f in /etc/X11/xinit.d/*; do
    # Don't run *.rpm* and *~ scripts
    [ "${f%.rpm*}" == "$f" -a "${f%\~}" == "$f" ] || continue

    if [ -x "$f" ]; then
        "$f" &
    fi
done

Может быть, я слепой, но кто-нибудь может объяснить, что происходит?

-- 
  Alexey "Ktirf" Rusakov




Подробная информация о списке рассылки Sisyphus