diff options
| author | Breno Leitao <leitao@debian.org> | 2019-05-09 11:03:24 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-05-12 09:04:26 +0100 |
| commit | 837c786d600ba697f8483a14088e24a562277a93 (patch) | |
| tree | 8fb81c1e0d2a28853de7e67fdec40339afdf0acc | |
| parent | f16d502f4631989d2994441662984fc1d6ad220e (diff) | |
| download | poky-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-x | meta/recipes-graphics/wayland/weston-init/weston-start | 17 |
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 |
| 29 | fi | 29 | fi |
| 30 | |||
| 31 | if [ -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" | ||
| 37 | fi | ||
| 38 | |||
| 30 | if [ -n "$DISPLAY" ]; then | 39 | if [ -n "$DISPLAY" ]; then |
| 31 | launcher="weston" | 40 | launcher="weston" |
| 32 | else | 41 | else |
| 33 | launcher="weston-launch --" | 42 | launcher="weston-launch $weston_args_user --" |
| 34 | fi | 43 | fi |
| 35 | 44 | ||
| 36 | openvt_args="-s" | 45 | openvt_args="-s" |
| @@ -59,11 +68,15 @@ if [ -d "$modules_dir" ]; then | |||
| 59 | fi | 68 | fi |
| 60 | 69 | ||
| 61 | if test -z "$XDG_RUNTIME_DIR"; then | 70 | if 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 | ||
| 67 | fi | 80 | fi |
| 68 | 81 | ||
| 69 | exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log | 82 | exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log |
