According to FSH UNIX Sockets shall be created in /run
(or on legacy distros in /var/run
). I am trying to create a socket in a non-root application in that directory and get error 13. Is /run
only for services started via systemd/init? If so, where do you put UNIX sockets from user applications?
CodePudding user response:
Is /run only for services started via systemd/init?
For root, yes.
where do you put UNIX sockets from user applications?
On modern systems in $XDG_RUNTIME_DIR
if the variable is set, with fallback to /run/user/$UID
if not set. For portability, you can use /tmp
.
Usually $XDG_RUNTIME_DIR
will be just set to /run/user/$uid
.
https://renenyffenegger.ch/notes/Linux/fhs/run/user/uid/index https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html