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 <tom.hochst...@nxp.com> Signed-off-by: Otavio Salvador <ota...@ossystems.com.br> --- 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: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-