run: replace only owned launcher instance

This commit is contained in:
2026-08-14 03:30:29 +09:00
parent c4b0141413
commit 24e380651c
2 changed files with 199 additions and 4 deletions

View File

@@ -129,9 +129,12 @@ font-file arguments replace these defaults:
that it starts. It waits for that daemon's IPC socket and IBus address file
before reporting success. With `DISPLAY` set it then starts XIM; without a
display it keeps the headless daemon in the foreground and does not start
XIM. A signal or XIM exit stops and reaps the launcher's daemon. The
launcher never replaces an existing daemon: an occupied per-user socket is a
visible startup failure.
XIM. A signal or XIM exit stops and reaps the launcher's daemon. On repeated
invocation, it stops a previous live `run.sh` only after confirming that the
old launcher directly owns the daemon serving the same IPC and IBus
endpoints and that the daemon carries that launcher's PID and process-start
identity. A manually started or orphaned daemon is left untouched and
reported as a visible startup failure.
The IPC socket is placed at `$XDG_RUNTIME_DIR/strans.sock` when
`XDG_RUNTIME_DIR` is an absolute path. Otherwise strans uses the per-user