LINUX.ORG.RU

Автозапуск и автокилл irexec


0

1

Необходимо автоматически запускать в текущей сессии гнома (или юнити) irexec -d, что решается простым добавлением его в автозагрузку. Проблема в следующем: он не прибивается при завершении сессии, т.е. если я заново зайду в сессиию, то у меня окажутся уже два irexec'а и так далее.
Кто виноват? Что делать?

★★★

а чего вдруг он должен киляться, если при -d он демонизируется

anonymous ()
Ответ на: комментарий от anonymous

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

lyset ★★★ ()
Ответ на: комментарий от lyset

Менеджер сессии по выходу должен килять то, что запустил при входе, не?

С чего бы вдруг?

aidaho ★★★★★ ()
Ответ на: комментарий от aidaho

С чего бы вдруг?

А зачем он тогда нужен? Я наивно полагал, что основная задача менеджера сессии - запускать и прибивать программы, составляющие эту самую сессию, разве нет?

Короче, как мне заставить irexec дохнуть при окончании сессии?

lyset ★★★ ()
Ответ на: комментарий от lyset

Я наивно полагал, что основная задача менеджера сессии - запускать и прибивать программы, составляющие эту самую сессию, разве нет?

Нет, основная задача менеджера сессии — сохранять и восстанавливать, в меру возможностей, эти самые сессии. Всё, что лежит во всяких ~/.config/autostart будет запущено всегда, в независимости от восстанавливаемой сессии, т.к. менеджер сессий авторанами не заведует.

Короче, как мне заставить irexec дохнуть при окончании сессии?

А это что вообще такое? Если у него есть опция запуска как демона, то логично просто засунуть его в иксовый runlevel. Если оно нужно исключительно в гномосесии, то в скрипте, лежащем в ~/.config/autostart нужно сначала проверить $DESKTOP_SESSION, потом запустить софтину и сохранить pid. По завершении сессии дёрнуть скрипт, который этот pid убъёт. Куда класть последний — нужно спросить гномеров, я кдеешник.

aidaho ★★★★★ ()
Ответ на: комментарий от aidaho

Нет, основная задача менеджера сессии — сохранять и восстанавливать, в меру возможностей, эти самые сессии.

P.S. Где сессия — это набор иксовых приложений с окошками разбросанными по рабочим столам и их геометрией. Всё что окошек не имеет менеджера сессии не интересует.

aidaho ★★★★★ ()
Ответ на: комментарий от aidaho

А это что вообще такое?


Это демон, работающий с LIRC, который выполняет действия по нажатиям клавиш на пульте.


Если оно нужно исключительно в гномосесии, то в скрипте, лежащем в ~/.config/autostart нужно сначала проверить $DESKTOP_SESSION, потом запустить софтину и сохранить pid. По завершении сессии дёрнуть скрипт, который этот pid убъёт.


OMG, я лучше простым killall обойдусь. Вот только есть ли где-нибудь аналог /.config/autostart, только для завершения сессии?

lyset ★★★ ()

а запустить просто без -d?

irexec &

dikiy ★★☆☆☆ ()
Ответ на: комментарий от dikiy

Читай выше. Я всё перепробовал: и с -d и без, и т.д.

lyset ★★★ ()
Ответ на: комментарий от lyset

OMG, я лучше простым killall обойдусь.

А если больше одной сессии от одного пользователя?
Ответа на второй вопрос я не знаю.

aidaho ★★★★★ ()

irexec -d

А у него нет какого-то параметра, чтобы он работал в foreground, не демонизируясь?

gentoo_root ★★★★★ ()
Ответ на: комментарий от gentoo_root

Его можно запустить без -d, и он будет работать в фореграунде. Однако менеджер сессии его всё равно не киляет.

lyset ★★★ ()
Ответ на: комментарий от aidaho

А если больше одной сессии от одного пользователя?

Не важно. Я всё равно комп так не использую, а если вдруг соберусь, то с irexec'ом возникнут ещё более странные проблемы.

lyset ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.