]> code.ossystems Code Review - openembedded-core.git/commitdiff
weston-init: Add support for non-root start
authorBreno Leitao <leitao@debian.org>
Thu, 9 May 2019 10:03:24 +0000 (11:03 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 12 May 2019 08:04:05 +0000 (09:04 +0100)
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 <leitao@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/wayland/weston-init/weston-start

index d631c2f1e9c44ab887bc3321c6265046443e9904..d19dbcbf7566201b1c6e94bbb8652dd53897b27d 100755 (executable)
@@ -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