#!/bin/bash OUT="/run/BastionGuard.env" rm -f "$OUT" # Trova la sessione grafica attiva SESSION=$(loginctl list-sessions --no-legend | awk '$3 ~ /tty|wayland|x11/ {print $1; exit}') if [ -z "$SESSION" ]; then exit 0 fi USER=$(loginctl show-session "$SESSION" -p Name --value) UID=$(id -u "$USER") RUNTIME="/run/user/$UID" # DISPLAY DISPLAY=$(loginctl show-session "$SESSION" -p Display --value) # Se non c'รจ DISPLAY, prova Wayland if [ -z "$DISPLAY" ] && [ -e "$RUNTIME/wayland-0" ]; then DISPLAY="" WAYLAND_DISPLAY="wayland-0" fi # DBus session bus BUS="unix:path=$RUNTIME/bus" # Scrivi l'ambiente { echo "BastionGuard_USER=$USER" echo "BastionGuard_UID=$UID" echo "XDG_RUNTIME_DIR=$RUNTIME" echo "DBUS_SESSION_BUS_ADDRESS=$BUS" [ -n "$DISPLAY" ] && echo "DISPLAY=$DISPLAY" [ -n "$WAYLAND_DISPLAY" ] && echo "WAYLAND_DISPLAY=$WAYLAND_DISPLAY" } > "$OUT" chmod 644 "$OUT"