server: Use "normal" socket activation, not inetd

Systemd, when doing socket activation, pass file descriptors in a
non-stable order when there is multiples ones.

But we only use one, so we don't need to identify it, and the file
descriptors always start at 3.
So use 3 for the systemd service.

Source : sd_listen_fds (systemd man pages)

We also need to unset variables systemd pass to socket activated
process, since we don't need them and sub-process (footclient and
theirs forks) could be confused by those.

Closes #1107
This commit is contained in:
Max Gautier 2022-07-29 20:12:47 +02:00 committed by Daniel Eklöf
parent c0a7c7bf0d
commit ffdac61e2a
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 5 additions and 2 deletions

View file

@ -1,8 +1,8 @@
[Service]
ExecStart=@bindir@/foot --server=0
ExecStart=@bindir@/foot --server=3
Environment=WAYLAND_DISPLAY=%i
UnsetEnvironment=LISTEN_PID LISTEN_FDS LISTEN_FDNAMES
NonBlocking=true
StandardInput=socket
[Unit]
Requires=%N.socket