#!/bin/sh set -e active_wayland_user= active_wayland_uid= while true; do for session in $(loginctl list-sessions --no-legend | awk '{ print $1 }'); do if [ "$(loginctl show-session --value -p Type ${session})" != "wayland" ]; then continue fi if [ "$(loginctl show-session --value -p Class ${session})" != "user" ]; then continue fi if [ "$(loginctl show-session --value -p Remote ${session})" != "no" ]; then continue fi if [ "$(loginctl show-session --value -p State ${session})" != "active" ]; then continue fi active_wayland_user="$(loginctl show-session --value -p Name ${session})" active_wayland_uid="$(loginctl show-session --value -p User ${session})" break done if [ "${active_wayland_user}" == "" ]; then echo "No active wayland session found, waiting for one" sleep 5 continue fi if [ ! -S "/run/user/${active_wayland_uid}/wayland-0" ]; then echo "No wayland socket for user ${active_wayland_user} found, waiting a bit longer" sleep 2 continue fi break done chown ${active_wayland_user}:appsupport-wayland /run/user/${active_wayland_uid}/wayland-0 chmod 775 /run/user/${active_wayland_uid}/wayland-0 rm -f /tmp/appsupport/aliendalvik/* mkdir -p /tmp/appsupport/aliendalvik/ cp -r /opt/alien/config/* /tmp/appsupport/aliendalvik/ sed -i "s/__UID__/${active_wayland_uid}/g" /tmp/appsupport/aliendalvik/10-bsp_config sed -i "s/__UID__/${active_wayland_uid}/g" /tmp/appsupport/aliendalvik/20-privilege_config mkdir -p /home/${active_wayland_user}/.local/share/appsupport/data/ chown ${active_wayland_user}:${active_wayland_user} /home/${active_wayland_user}/.local/share/appsupport/ data_dir="/home/${active_wayland_user}/.local/share/appsupport/data/" chown appsupport-root:appsupport-root ${data_dir} sed -i "s|__DATA_DIR__|${data_dir}|g" /tmp/appsupport/aliendalvik/10-bsp_config