weston-init: run login before start weston.service

When systemd start the weston.service, the script "weston-start" will
check if the dir "XDG_RUNTIME_DIR" (usually is /run/user/0) exits and
create it. Then weston will create a socket file "wayland-0" for communications
with clients in this dir.

If systemd is built with enabling "pam" feature, the login will call "run-user-0.mount"
to mount tmpfs at the dir "/run/user/0", then the socket file "wayland-0" will be
missing since it is created in the old "/run/user/0".

So add "PAMName=login" to let weston.service call login first, once tmpfs is mounted at
"/run/user/0", then call weston-start to create a socket file in it.

(From OE-Core rev: 3cb303ffee8610d41c9a0745d366556c24066bc3)

Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Wang Quanyang
2018-08-17 11:01:37 -04:00
committed by Richard Purdie
parent dac65465fb
commit 99506b0017

View File

@@ -4,6 +4,7 @@ RequiresMountsFor=/run
[Service]
User=root
PAMName=login
EnvironmentFile=-/etc/default/weston
ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS