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.

(From OE-Core rev: 4e6ef156028cc48d21ff5b3f131bdb8882407395)

Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Breno Leitao
2019-05-09 11:03:24 +01:00
committed by Richard Purdie
parent f16d502f46
commit 837c786d60

View File

@@ -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