From 0de210d07ce8ce4cd9cb855d5b745e11334e8e44 Mon Sep 17 00:00:00 2001 From: "sebastian.serfling" Date: Tue, 15 Apr 2025 11:30:12 +0000 Subject: [PATCH] =?UTF-8?q?setup.sh=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup.sh | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 setup.sh diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..39dee06 --- /dev/null +++ b/setup.sh @@ -0,0 +1,92 @@ +#!/bin/bash + +# === Schritt 1: System aktualisieren und Pakete installieren === +echo "System wird aktualisiert..." +sudo apt update && sudo apt upgrade -y + +echo "Pakete werden installiert..." +sudo apt install --no-install-recommends \ + xserver-xorg \ + xinit \ + openbox \ + yad \ + freerdp2-x11 \ + xautolock \ + xscreensaver \ + ifupdown \ + curl \ + -y + +# === Schritt 2: Hostname setzen anhand der MAC-Adresse === +echo "Ermittle MAC-Adresse der ersten Netzwerkkarte..." +IFACE=$(ip -o link show | awk -F': ' '{print $2}' | grep -v lo | head -n1) +MAC=$(cat /sys/class/net/$IFACE/address) +HOSTNAME="rdp-$(echo $MAC | tr -d ':')" + +echo "Setze Hostnamen auf: $HOSTNAME" +sudo hostnamectl set-hostname "$HOSTNAME" + +# === Schritt 3: .xinitrc mit RDP-Login (inkl. Domäne) === +echo "Erstelle .xinitrc für den Benutzer..." +cat <<'EOF' > ~/.xinitrc +#!/bin/bash + +# Bildschirm-Timeouts setzen +xset s 300 300 +xset +dpms +xset dpms 300 300 300 + +# Automatische Sperre nach Inaktivität +xautolock -time 10 -locker "xscreensaver -lock" & + +# Starte Fenstermanager +openbox & + +# Login-Fenster +while true; do + FORM=$(yad --form --center \ + --title="RDP Login" \ + --field="Benutzername" \ + --field="Passwort:HP" \ + "" "" "") + + [ $? -ne 0 ] && break + + USER=$(echo "$FORM" | cut -d'|' -f1) + PASS=$(echo "$FORM" | cut -d'|' -f2) + HOST="172.19.1.5" + + yad --info --title="Verbindung" --text="Verbinde zu $HOST als $DOMAIN\\$USER..." --timeout=2 + + xfreerdp /u:"$USER" /p:"$PASS" /v:"$HOST" /f +auto-reconnect /rfx + + # Nach Trennung: Rückfrage + yad --question --text="Verbindung beendet. Erneut verbinden?" --timeout=10 + [ $? -ne 0 ] && break +done + +#poweroff +EOF + +chmod +x ~/.xinitrc + +# === Schritt 4: Autologin für den Benutzer === +echo "Aktiviere Autologin für rdpuser..." +sudo mkdir -p /etc/systemd/system/getty@tty1.service.d +cat <> ~/.bash_profile +if [ -z "\$DISPLAY" ] && [ "\$(tty)" = "/dev/tty1" ]; then + startx +fi +EOF + +# === Abschluss === +echo "Setup abgeschlossen. Starte das System neu:" +echo " sudo reboot"