summaryrefslogtreecommitdiffstats
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:26 +0100
commit837c786d600ba697f8483a14088e24a562277a93 (patch)
tree8fb81c1e0d2a28853de7e67fdec40339afdf0acc
parentf16d502f4631989d2994441662984fc1d6ad220e (diff)
downloadpoky-837c786d600ba697f8483a14088e24a562277a93.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. (From OE-Core rev: 4e6ef156028cc48d21ff5b3f131bdb8882407395) Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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
27 echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet." 27 echo "ERROR: A Wayland compositor is already running, nested Weston instance is not supported yet."
28 exit 1 28 exit 1
29fi 29fi
30
31if [ -n "$WESTON_USER" ]; then
32 if [ -z "$WESTON_TTY" ]; then
33 echo "ERROR: If you have WESTON_USER variable set, you also need WESTON_TTY."
34 exit 1
35 fi
36 weston_args_user="-u $WESTON_USER -t $WESTON_TTY"
37fi
38
30if [ -n "$DISPLAY" ]; then 39if [ -n "$DISPLAY" ]; then
31 launcher="weston" 40 launcher="weston"
32else 41else
33 launcher="weston-launch --" 42 launcher="weston-launch $weston_args_user --"
34fi 43fi
35 44
36openvt_args="-s" 45openvt_args="-s"
@@ -59,11 +68,15 @@ if [ -d "$modules_dir" ]; then
59fi 68fi
60 69
61if test -z "$XDG_RUNTIME_DIR"; then 70if test -z "$XDG_RUNTIME_DIR"; then
62 export XDG_RUNTIME_DIR=/run/user/`id -u` 71 export XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}`
63 if ! test -d "$XDG_RUNTIME_DIR"; then 72 if ! test -d "$XDG_RUNTIME_DIR"; then
64 mkdir --parents $XDG_RUNTIME_DIR 73 mkdir --parents $XDG_RUNTIME_DIR
65 chmod 0700 $XDG_RUNTIME_DIR 74 chmod 0700 $XDG_RUNTIME_DIR
66 fi 75 fi
76 if [ -n "$WESTON_USER" ]
77 then
78 chown $WEST_USER:$WESTON_USER $XDG_RUNTIME_DIR
79 fi
67fi 80fi
68 81
69exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log 82exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log