The systemd uses /run/wayland-0 as global socket and it is important to
align the behavior so it avoids diverging when using sysvinit. Another
change is installing the ${sysconfdir}/profile.d/weston-socket.sh script
also aligning the behaviors.
The commit modifies the behavior of the weston-init script when running
in sysvinit. It mimics the behavior of systemd by exporting the
WAYLAND_DISPLAY variable and using it as the socket for the weston
command.
The changes include:
- The installation of the weston-socket.sh script in the /etc/profile.d
directory, which sets the WAYLAND_DISPLAY variable to /run/wayland-0 if
it is not already set.
- Modifying the weston-start script to check if the WAYLAND_DISPLAY
variable is set. If not, it sets it to /run/wayland-0.
These changes ensure that the weston command uses the same socket
defined in the WAYLAND_DISPLAY variable, allowing compatibility with
systems using sysvinit and systemd.
Fixes: 2818cbc730 ("weston-init: add profile to point users to global socket")
Tested-by: Tom Hochstein <[email protected]>
Signed-off-by: Otavio Salvador <[email protected]>
---
meta/recipes-graphics/wayland/weston-init.bb | 4 +++-
meta/recipes-graphics/wayland/weston-init/weston-start | 6 +++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-graphics/wayland/weston-init.bb
b/meta/recipes-graphics/wayland/weston-init.bb
index 024e400665..6c8dc36467 100644
--- a/meta/recipes-graphics/wayland/weston-init.bb
+++ b/meta/recipes-graphics/wayland/weston-init.bb
@@ -40,13 +40,15 @@ do_install() {
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};
then
install -D -p -m0644 ${WORKDIR}/weston.service
${D}${systemd_system_unitdir}/weston.service
install -D -p -m0644 ${WORKDIR}/weston.socket
${D}${systemd_system_unitdir}/weston.socket
- install -D -p -m0644 ${WORKDIR}/weston-socket.sh
${D}${sysconfdir}/profile.d/weston-socket.sh
sed -i -e s:/etc:${sysconfdir}:g \
-e s:/usr/bin:${bindir}:g \
-e s:/var:${localstatedir}:g \
${D}${systemd_system_unitdir}/weston.service
fi
+ # Export the WAYLAND_DISPLAY in case it is using the global socket
+ install -D -p -m0644 ${WORKDIR}/weston-socket.sh
${D}${sysconfdir}/profile.d/weston-socket.sh
+
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -p -m0644 ${WORKDIR}/weston-autologin
${D}${sysconfdir}/pam.d/weston-autologin
fi
diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start
b/meta/recipes-graphics/wayland/weston-init/weston-start
index 01670cd4f5..7b898bb436 100755
--- a/meta/recipes-graphics/wayland/weston-init/weston-start
+++ b/meta/recipes-graphics/wayland/weston-init/weston-start
@@ -68,4 +68,8 @@ if test -z "$XDG_RUNTIME_DIR"; then
fi
fi
-su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args
--log=/tmp/weston.log" $WESTON_USER
+if [ -z "$WAYLAND_DISPLAY" ]; then
+ WAYLAND_DISPLAY=/run/wayland-0
+fi
+
+su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args
--socket=$WAYLAND_DISPLAY --log=/tmp/weston.log" $WESTON_USER
--
2.41.0
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185541):
https://lists.openembedded.org/g/openembedded-core/message/185541
Mute This Topic: https://lists.openembedded.org/mt/100553774/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-