87 lines
2.9 KiB
Bash
87 lines
2.9 KiB
Bash
#!/bin/bash
|
|
|
|
# Abbrechen bei Fehlern
|
|
set -e
|
|
|
|
echo "===================================================="
|
|
echo "🚀 Starte Debian 13 Automated Wayland & Jarvis Setup"
|
|
echo "===================================================="
|
|
|
|
# 1. System aktualisieren & Basispakete installieren
|
|
echo "📦 Aktualisiere Paketquellen und installiere Systemkomponenten..."
|
|
sudo apt update
|
|
sudo apt install -y labwc foot firefox-esr curl wget git python3 python3-pip python3-venv awk
|
|
|
|
# 2. Architektur erkennen und wdotool installieren
|
|
ARCH=$(uname -m)
|
|
echo "🔍 Erkannte Systemarchitektur: $ARCH"
|
|
|
|
if [ "$ARCH" = "x86_64" ]; then
|
|
echo "📥 Installiere vorkompiliertes .deb für amd64..."
|
|
wget https://github.com/cushycush/wdotool/releases/download/v0.5.3/wdotool_0.5.3-1_amd64.deb -O /tmp/wdotool.deb
|
|
sudo apt install -y /tmp/wdotool.deb
|
|
rm /tmp/wdotool.deb
|
|
elif [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then
|
|
echo "📥 Installiere via offizieller Shell-Installer (Kompilierung/Binary für arm64)..."
|
|
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/cushycush/wdotool/releases/download/v0.5.3/wdotool-installer.sh | sh
|
|
else
|
|
echo "❌ Unbekannte Architektur: $ARCH. Installation abgebrochen."
|
|
exit 1
|
|
fi
|
|
|
|
# 3. Den realen Installationspfad von wdotool ermitteln
|
|
echo "🛠️ Konfiguriere globalen wdotool-Wrapper..."
|
|
sleep 1
|
|
|
|
if [ -f "/usr/bin/wdotool" ]; then
|
|
REAL_WDOTOOL="/usr/bin/wdotool"
|
|
elif [ -f "$HOME/.cargo/bin/wdotool" ]; then
|
|
REAL_WDOTOOL="$HOME/.cargo/bin/wdotool"
|
|
elif [ -f "$HOME/.local/bin/wdotool" ]; then
|
|
REAL_WDOTOOL="$HOME/.local/bin/wdotool"
|
|
else
|
|
REAL_WDOTOOL=$(which wdotool || true)
|
|
fi
|
|
|
|
if [ -z "$REAL_WDOTOOL" ]; then
|
|
echo "❌ Fehler: wdotool wurde im System nicht gefunden!"
|
|
exit 1
|
|
fi
|
|
|
|
# Verschiebe die echte Binary an einen sicheren Ort, um Platz für den Wrapper zu machen
|
|
sudo mv "$REAL_WDOTOOL" /usr/local/bin/wdotool.real
|
|
|
|
# 4. Den intelligenten Umgebungsvariablen-Wrapper erstellen
|
|
sudo cat << 'EOF' | sudo tee /usr/local/bin/wdotool > /dev/null
|
|
#!/bin/bash
|
|
# Automatische Wayland-Umgebung laden
|
|
export XDG_RUNTIME_DIR=/run/user/1000
|
|
export WAYLAND_DISPLAY=wayland-0
|
|
|
|
# Transparent an die echte Binary übergeben
|
|
exec /usr/local/bin/wdotool.real "$@"
|
|
EOF
|
|
|
|
# Wrapper ausführbar machen
|
|
sudo chmod +x /usr/local/bin/wdotool
|
|
|
|
# 5. Desktop-Konfiguration (.config) im Home-Verzeichnis einrichten
|
|
echo "📂 Konfiguriere labwc Autostart..."
|
|
mkdir -p ~/.config/labwc
|
|
|
|
# Autostart-Datei schreiben (mit funktionierenden Grafik-Parametern für Firefox)
|
|
cat << 'EOF' > ~/.config/labwc/autostart
|
|
# Terminal starten
|
|
foot &
|
|
|
|
# Firefox absturzsicher im Software-Render-Modus starten
|
|
MOZ_WEBRENDER=software MOZ_ENABLE_WAYLAND=1 firefox-esr &
|
|
EOF
|
|
|
|
# Autostart ausführbar machen
|
|
chmod +x ~/.config/labwc/autostart
|
|
|
|
echo "===================================================="
|
|
echo "✅ Setup erfolgreich abgeschlossen!"
|
|
echo "👉 Starte das System neu oder führe 'labwc' aus."
|
|
echo "====================================================" |