summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorBreno Leitao <leitao@debian.org>2019-05-09 11:03:24 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-05-12 09:04:05 +0100
commit4e6ef156028cc48d21ff5b3f131bdb8882407395 (patch)
treeee5b46312f81c6ad8aa3962b2d7c3415682ee4e8 /meta
parent82e97de432bfd553fb84b62666e2c860be2ecfeb (diff)
downloadopenembedded-core-contrib-4e6ef156028cc48d21ff5b3f131bdb8882407395.tar.gz
weston-init: Add support for non-root start
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>
Diffstat (limited to 'meta')
-rwxr-xr-xmeta/recipes-graphics/wayland/weston-init/weston-start17
1 files 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 d631c2f1e9..d19dbcbf75 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