Сообщение Re: Демон и контроль процессов в сессиях от 08.01.2022 10:41
Изменено 08.01.2022 10:42 m2l
Re: Демон и контроль процессов в сессиях
Здравствуйте, Hank, Вы писали:
H>Имеется некая служба (демон systemd), которая слушает сокет и принимает определенные команды по сети. Задача — в каждой терминальной сессии (как это правильно называется в Линкус, так до конца и не понял) запускать некий "агент", от имени пользователя этой сессии. Данный Агент отображает GUI и коммуницирует через IPC с демоном. Отсюда возникает несколько вопросов:
H>1. Как отслеживать logon/logoff, блокировку сессии и т.д. из демона?
H>2. Каким образом запустить процесс в нужной/указанной терминальной сессии? Допустим, нам необходимо после логона пользователя запустить из Демона в его сессии "агент".
H>По обоим вопросам перелопатил очень много ресурсов, однако, безрезультатно, хотя, есть подозрение, что вопросы простые.
Ответ на оба вопроса очень простой — универсальным образом никак.
В разных дистрибутивах разные оболочки (DE), среды их запуска и по разному оформлен вход пользователя и его сессия. Универсального способа, даже только для GUI, просто нету.
Самый простой способ сделать желаемоене делать это вообще — как подсказали выше autostart (привязанный к настройкам DE конкретных дистрибутивов). Понятно, что ваше ПО это security & etc, для которого старт агента который может обойти пользователь не то, однако штатные средства безопасности части дистрибутивов и разнообразие окружений не дадут вам запускать что-то постраннее универсальным способом.
H>Имеется некая служба (демон systemd), которая слушает сокет и принимает определенные команды по сети. Задача — в каждой терминальной сессии (как это правильно называется в Линкус, так до конца и не понял) запускать некий "агент", от имени пользователя этой сессии. Данный Агент отображает GUI и коммуницирует через IPC с демоном. Отсюда возникает несколько вопросов:
H>1. Как отслеживать logon/logoff, блокировку сессии и т.д. из демона?
H>2. Каким образом запустить процесс в нужной/указанной терминальной сессии? Допустим, нам необходимо после логона пользователя запустить из Демона в его сессии "агент".
H>По обоим вопросам перелопатил очень много ресурсов, однако, безрезультатно, хотя, есть подозрение, что вопросы простые.
Ответ на оба вопроса очень простой — универсальным образом никак.
В разных дистрибутивах разные оболочки (DE), среды их запуска и по разному оформлен вход пользователя и его сессия. Универсального способа, даже только для GUI, просто нету.
Самый простой способ сделать желаемое
Re: Демон и контроль процессов в сессиях
Здравствуйте, Hank, Вы писали:
H>Имеется некая служба (демон systemd), которая слушает сокет и принимает определенные команды по сети. Задача — в каждой терминальной сессии (как это правильно называется в Линкус, так до конца и не понял) запускать некий "агент", от имени пользователя этой сессии. Данный Агент отображает GUI и коммуницирует через IPC с демоном. Отсюда возникает несколько вопросов:
H>1. Как отслеживать logon/logoff, блокировку сессии и т.д. из демона?
H>2. Каким образом запустить процесс в нужной/указанной терминальной сессии? Допустим, нам необходимо после логона пользователя запустить из Демона в его сессии "агент".
H>По обоим вопросам перелопатил очень много ресурсов, однако, безрезультатно, хотя, есть подозрение, что вопросы простые.
Ответ на оба вопроса очень простой — универсальным образом никак.
В разных дистрибутивах разные оболочки (DE), среды их запуска и по разному оформлен вход пользователя и его сессия. Универсального способа, даже только для GUI, просто нету.
Самый простой способ сделать желаемоене делать это вообще — как подсказали выше autostart (привязанный к настройкам DE конкретных дистрибутивов). Понятно, что ваше ПО это security & etc, для которого старт агента который может обойти пользователь не то, однако штатные средства безопасности части дистрибутивов и разнообразие окружений не дадут вам запускать что-то постраннее универсальным способом.
PS. Насчёт DBus & logon/logoff/lock — относительно универсально, но всё же не во всех дистрибутивах, при встрече с экзотическими менеджерами сессии с DBus тоже начинаются сложности.
H>Имеется некая служба (демон systemd), которая слушает сокет и принимает определенные команды по сети. Задача — в каждой терминальной сессии (как это правильно называется в Линкус, так до конца и не понял) запускать некий "агент", от имени пользователя этой сессии. Данный Агент отображает GUI и коммуницирует через IPC с демоном. Отсюда возникает несколько вопросов:
H>1. Как отслеживать logon/logoff, блокировку сессии и т.д. из демона?
H>2. Каким образом запустить процесс в нужной/указанной терминальной сессии? Допустим, нам необходимо после логона пользователя запустить из Демона в его сессии "агент".
H>По обоим вопросам перелопатил очень много ресурсов, однако, безрезультатно, хотя, есть подозрение, что вопросы простые.
Ответ на оба вопроса очень простой — универсальным образом никак.
В разных дистрибутивах разные оболочки (DE), среды их запуска и по разному оформлен вход пользователя и его сессия. Универсального способа, даже только для GUI, просто нету.
Самый простой способ сделать желаемое
PS. Насчёт DBus & logon/logoff/lock — относительно универсально, но всё же не во всех дистрибутивах, при встрече с экзотическими менеджерами сессии с DBus тоже начинаются сложности.