From: Breno Leitao <lei...@debian.org>

This commit adds support for two variables (WESTON_USER and WESTON_TTY) that
would be passed to weston_launch. It allows starting weston as a non-root user.

Signed-off-by: Breno Leitao <lei...@debian.org>
---
 .../wayland/weston-init/weston-start            | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start 
b/meta/recipes-graphics/wayland/weston-init/weston-start
index 0c4fee23d5..86c68fc533 100755
--- a/meta/recipes-graphics/wayland/weston-init/weston-start
+++ b/meta/recipes-graphics/wayland/weston-init/weston-start
@@ -27,10 +27,19 @@ if [ -n "$WAYLAND_DISPLAY" ]; then
        echo "ERROR: A Wayland compositor is already running, nested Weston 
instance is not supported yet."
        exit 1
 fi
+
+if [ -n "$WESTON_USER" ]; then
+       if [ -z "$WESTON_TTY" ]; then
+               echo "ERROR: If you have WESTON_USER variable set, you also 
need WESTON_TTY."
+               exit 1
+       fi
+       weston_args_user="-u $WESTON_USER -t $WESTON_TTY"
+fi
+
 if [ -n "$DISPLAY" ]; then
        launcher="weston"
 else
-       launcher="weston-launch --"
+       launcher="weston-launch $weston_args_user --"
 fi
 
 openvt_args="-s"
@@ -59,11 +68,15 @@ if [ -d "$modules_dir" ]; then
 fi
 
 if test -z "$XDG_RUNTIME_DIR"; then
-       export XDG_RUNTIME_DIR=/run/user/`id -u`
+       export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}`
        if ! test -d "$XDG_RUNTIME_DIR"; then
                mkdir --parents $XDG_RUNTIME_DIR
                chmod 0700 $XDG_RUNTIME_DIR
        fi
+       if [ -n "$WESTON_USER" ]
+       then
+               chown $WEST_USER:$WESTON_USER $XDG_RUNTIME_DIR
+       fi
 fi
 
 exec openvt $openvt_args -- $launcher $weston_args 
--log=@LOCALSTATEDIR@/log/weston.log
-- 
2.17.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to