~kennylevinsen/seatd

e7343ca96f3a59a4e5c846000d37b72f440afd44 — Kenny Levinsen 7 days ago 17cdbe0
man: Add simple seatd-launch(1) page
2 files changed, 50 insertions(+), 1 deletions(-)

A man/seatd-launch.1.scd
M meson.build
A man/seatd-launch.1.scd => man/seatd-launch.1.scd +49 -0
@@ 0,0 1,49 @@
seatd-launch(1)

# NAME

seatd-launch - Start a process with its own seatd instance

# SYNOPSIS

*seatd-launch* [options] [--] command

# OPTIONS

*-h*
	Show help message and quit.

*-s <path>*
	Where to create the seatd socket. Defaults to a unique file path.

*-v*
	Show the version number and quit.

# DESCRIPTION

seatd-launch starts a seatd instance with a dedicated socket path, waits for it
to be ready, and starts the specified command with SEATD_SOCK set
appropriately.  Once the specified command terminates, the seatd instance is
also terminated.

seatd requires root privileges to perform its tasks. This can be achieved
through SUID of seatd-launch, *sudo(8)*/*doas(1)*, or by running seatd-launch
as root. seatd-launch will drop privileges from the effective user to the real
user before running the specified command. If the real user is root, this is
simply a noop - only run directly as root if you intend for the specified
command to run as root as well.

seatd-launch serves a similar purpose to the libseat "builtin" backend, but is
superior to it for two reasons:
. The specified command never runs as root
. The standard seatd executable and libseat backend is used

# SEE ALSO

The libseat library, *<libseat.h>*, *seatd(1)*

# AUTHORS

Maintained by Kenny Levinsen <contact@kl.wtf>, who is assisted by other
open-source contributors. For more information about seatd development, see
https://sr.ht/~kennylevinsen/seatd.

M meson.build => meson.build +1 -1
@@ 247,7 247,7 @@ if scdoc.found()
	scdoc_prog = find_program(scdoc.get_variable(pkgconfig: 'scdoc'), native: true)
	mandir = get_option('mandir')

	foreach src : ['seatd.1.scd']
	foreach src : ['seatd.1.scd', 'seatd-launch.1.scd']
		topic = src.split('.')[0]
		section = src.split('.')[1]
		output = '@0@.@1@'.format(topic, section)