[GH-ISSUE #170] Issue with the GOW Docker container when the container restart policy is set to something other than None #53

Closed
opened 2026-10-15 12:48:27 +00:00 by bsakaguchi · 0 comments
Owner

Originally created by @yousecjoe on GitHub (Feb 11, 2024).
Original GitHub issue: https://github.com/games-on-whales/gow/issues/170

github.com/games-on-whales/gow@f795c69962/env/host-desktop.env (L9)

Ln9 sets the environment variable PULSE_SOCKET_HOST=/run/user/1000/pulse, which causes the path to get created by root instead of the user id 1000 at boot when the GOW container is set to start with the host.

Steps to reproduce

  1. Set the GOW container restart policy to Unless Stopped and start the container.
  2. Reboot the docker host system and log in.
  3. Check ownership of /run/user/1000/. The issue will happen at system boot because GOW automatically creates /run/user/1000/pulse owned by root, but it needs to be owned by 1000:1000.

This issue is not specific to GOW; it happens when any Docker container tries to create a volume in this unique directory /run/user/{USERID} and has a restart policy other than None.

For comparison, Wolf uses - ${PULSE_SOCKET_HOST}:/tmp/pulse/

Why
Because Docker starts before a user authenticates, container volume paths can be created and owned by root before it is rightfully created and owned by the user.

What
When the user ID does not own this path, it breaks many Linux systems that rely on the XDG specifications. Audio (Pulse) will stop working, snapd management fails, systemctl management will break, etc.

For further context, I found the issue is the same being seen here in this thread: https://bugs.launchpad.net/ubuntu/+bug/2017496

Originally created by @yousecjoe on GitHub (Feb 11, 2024). Original GitHub issue: https://github.com/games-on-whales/gow/issues/170 https://github.com/games-on-whales/gow/blob/f795c699629a6bc5bf3a6f7c77d85b1605a0e97c/env/host-desktop.env#L9 Ln9 sets the environment variable PULSE_SOCKET_HOST=`/run/user/1000/pulse`, which causes the path to get created by `root` instead of the user id `1000` at boot when the GOW container is set to start with the host. **Steps to reproduce** 1. Set the GOW container restart policy to `Unless Stopped` and start the container. 2. Reboot the docker host system and log in. 3. Check ownership of `/run/user/1000/`. The issue will happen at system boot because GOW automatically creates `/run/user/1000/pulse` owned by root, but it needs to be owned by `1000:1000`. This issue is not specific to GOW; it happens when any Docker container tries to create a volume in this unique directory `/run/user/{USERID}` and has a restart policy other than `None`. For comparison, Wolf uses `- ${PULSE_SOCKET_HOST}:/tmp/pulse/` **Why** Because Docker starts before a user authenticates, container volume paths can be created and owned by root before it is rightfully created and owned by the user. **What** When the user ID does not own this path, it breaks many Linux systems that rely on the XDG specifications. Audio (Pulse) will stop working, snapd management fails, systemctl management will break, etc. For further context, I found the issue is the same being seen here in this thread: https://bugs.launchpad.net/ubuntu/+bug/2017496
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/gow#53
No description provided.