BastionGuard/data/scripts/BastionGuard-export-env.sh
specialworld83 d34e319fbe Public release
2026-02-27 21:37:06 +01:00

39 lines
918 B
Bash
Executable file

#!/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"