#! /bin/bash
#
# befehl.sh [-r] [Befehl]
#
# Version 0.5
# 10.11.2021
##################################

for session in $(screen -ls | grep -o '[0-9]\+\.mausdaemon_befehl')
do
  screen -S "${session}" -X quit
done

screen -d -m -S mausdaemon_befehl
sleep 1
echo "screen-session fuer Befehl gestartet."

if [ "$1" = "-r" ]; then
  screen -S mausdaemon_befehl -X stuff $"$2\n"
  screen -S mausdaemon_befehl -X stuff $'exit\n'
else
  DP=":0"
  if [ -e "/etc/linuxmuster-client/maus/X11_last_user_display" ]; then
    DPx=$(cat /etc/linuxmuster-client/maus/X11_last_user_display)
    if [[ $DPx =~ ^:[0-3]$ ]]; then
      DP=$DPx
    fi
  fi
  screen -S mausdaemon_befehl -X stuff $"export DISPLAY=$DP\n"


  BENUTZER=$(who -u | awk -v dp="$DP" '$2==dp { print $1 }' | head -1)

  if [ -z "$BENUTZER" ]; then
    BENUTZER=$(who -u | awk '{ print $1 }' | head -1)
  fi

#  screen -S mausdaemon_befehl -X stuff $"su -l $BENUTZER\n"
  screen -S mausdaemon_befehl -X stuff $"sudo -u $BENUTZER $1\n"
  screen -S mausdaemon_befehl -X stuff $'exit\n'
fi

exit 0

