On 2022-10-17 23:42, Peter Shkenev wrote: > ... > 1) User services are services running as a given user and started at a > boot time > This option is a trivial one with s6. > > 2) User services are services defined by users and running supervised > when the user wants it. > You can implement this with s6-usertree-maker [1], which would provide > you with a supervision tree rooted in a system one which can be managed > by user. User will have its own scandir and they can use all commands > provided by s6/s6-rc on their scandir.
Thanks Peter, this was actually helpful and enchanced my mental model. I think I get get away for now with a user's tree rooted in the system tree. My graphics environment (sway) can start necessary services when it is started. > > - Minor: a test utility for svscan dir would be nice > > - Minor: a test utility for live dir would be nice > > If you use s6-rc, those are the same directories, filled by s6-rc-init > and changed by s6-rc-update. So the test would actually test those > utilities, I guess. By testing I meant checking if the directory has an active process watching it. I believe there is a function in skalibs fd_lock [1] that svscan uses to check if another svscan runs there. I think it is just a matter of exposing that function as standalone executable. [1] https://github.com/skarnet/skalibs/blob/master/src/libstddjb/fd_lock.c Ihor