93 lines
2.3 KiB
Bash
93 lines
2.3 KiB
Bash
#!/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 <<EOF | sudo tee /etc/systemd/system/getty@tty1.service.d/override.conf
|
|
[Service]
|
|
ExecStart=
|
|
ExecStart=-/sbin/agetty --autologin root --noclear %I \$TERM
|
|
EOF
|
|
|
|
# === Schritt 5: X automatisch bei Anmeldung starten ===
|
|
echo "Setze automatischen Start von X..."
|
|
cat <<EOF >> ~/.bash_profile
|
|
if [ -z "\$DISPLAY" ] && [ "\$(tty)" = "/dev/tty1" ]; then
|
|
startx
|
|
fi
|
|
EOF
|
|
|
|
# === Abschluss ===
|
|
echo "Setup abgeschlossen. Starte das System neu:"
|
|
echo " sudo reboot"
|