]> code.ossystems Code Review - openembedded-core.git/commit
weston-init: Stop running weston as root
authorJoshua Watt <JPEWhacker@gmail.com>
Thu, 19 Nov 2020 22:58:53 +0000 (16:58 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 24 Nov 2020 10:27:38 +0000 (10:27 +0000)
commitdd83fb40f76749c6689807afabc63b9d5c2a4065
tree944b8188c95f60d2f89c69b9471d8a51024bca56
parent38e499e04d04934b40a29af469592754842d92d3
weston-init: Stop running weston as root

Running the weston compositor as the root user is an insecure default
behavior for OE-core. We can do much better, at least when using
systemd. Change the recipe to create a dedicated "weston" user and start
weston as this user. The systemd service and socket units are no longer
template units, as there were several inconsistencies in the templates.
Instead, there is now a global /run/wayland-0 socket that gets created,
and systemd will start weston on demand when a client connects to that
socket or when attempting to reach graphical.target, whichever comes
first. This also allows downstream users to easily change the behavior
so that weston *only* starts on demand by adding a drop file. Access to
the global socket is controlled by a "wayland" group; any user that is a
member of the group can use the socket to talk to the compositor. This
also satisfies another use case where another systemd service might
start a graphical application that needs to display with weston (e.g. a
single function device in kiosk mode). Finally, the udev rules for
starting weston with the existance of a DRM device have been removed.
Being WantedBy= a graphical target should eliminate the need for this
behavior, and having it present makes it difficult for downstream users
to start weston on demand (having to override the udev rules).

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/wayland/weston-init.bb
meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules [deleted file]
meta/recipes-graphics/wayland/weston-init/weston.service [moved from meta/recipes-graphics/wayland/weston-init/weston@.service with 83% similarity]
meta/recipes-graphics/wayland/weston-init/weston.socket [new file with mode: 0644]
meta/recipes-graphics/wayland/weston-init/weston@.socket [deleted file]