Информация об изменениях

Сообщение Re: Каких программ вам не хватает? от 06.01.2022 14:14

Изменено 06.01.2022 14:46 Miroff

Re: Каких программ вам не хватает?
Здравствуйте, Hank, Вы писали:

H>Пара вопросов, связанных с управлением процессами в терминальных сессиях.

H>Имеет смысл сразу сделать оговорку — разработкой системных приложений под линкус занят относительно недавно и нет хорошего уровня понимания работы системы. Только общие принципы, разработка прикладного софта. Поэтому иногда буду сбиваться в терминологию Windows и примеры оттуда же.

Было бы понятнее, если бы вы вместо употребления рандомных терминов, смысла которых вы не понимаете, описали вашу задачу нормальным языком.

H>1. Как отслеживать logon/logoff, блокировку сессии и т.д. из демона?


H>Как это реализовать в linux?


D-BUS, если мы говорим про GUI сессии. Терминальные сессии это совсем про другое.

H>2. Каким образом запустить процесс в нужной/указанной терминальной сессии? Допустим, нам необходимо после логона пользователя запустить из Демона в его сессии "агент".

H>В Windows это делается через связку WTSQueryUserToken — CreateProcessAsUser

H>Какой подход нужно использовать в linux?


Запускаешь под рутом демона, который слушает D-BUS и при логине пользователя запускает для него процесс, а при логауте этот процесс прибивает.

H>По обоим вопросам перелопатил очень много ресурсов, однако, безрезультатно, хотя, есть подозрение, что вопросы простые.


В линуксе принято делать просто. Процесс это процесс, демон это демон. Если тебе нужно запустить процесс, ты его запускаешь. Если нужно остановить, останавливаешь.
Re: Каких программ вам не хватает?
Здравствуйте, Hank, Вы писали:

H>Пара вопросов, связанных с управлением процессами в терминальных сессиях.

H>Имеет смысл сразу сделать оговорку — разработкой системных приложений под линкус занят относительно недавно и нет хорошего уровня понимания работы системы. Только общие принципы, разработка прикладного софта. Поэтому иногда буду сбиваться в терминологию Windows и примеры оттуда же.

Было бы понятнее, если бы вместо употребления рандомных терминов, смысла которых вы не понимаете, описали вашу задачу нормальным языком.

H>1. Как отслеживать logon/logoff, блокировку сессии и т.д. из демона?


H>Как это реализовать в linux?


D-BUS, если мы говорим про GUI сессии. Терминальные сессии это совсем про другое.

H>2. Каким образом запустить процесс в нужной/указанной терминальной сессии? Допустим, нам необходимо после логона пользователя запустить из Демона в его сессии "агент".

H>В Windows это делается через связку WTSQueryUserToken — CreateProcessAsUser

H>Какой подход нужно использовать в linux?


Запускаешь под рутом демона, который слушает D-BUS и при логине пользователя запускает для него процесс, а при логауте этот процесс прибивает.

H>По обоим вопросам перелопатил очень много ресурсов, однако, безрезультатно, хотя, есть подозрение, что вопросы простые.


В линуксе принято делать просто. Процесс это процесс, демон это демон. Если тебе нужно запустить процесс, ты его запускаешь. Если нужно остановить, останавливаешь.