setup_x11_jarvis.sh
This commit is contained in:
106
setup_x11_jarvis.sh
Executable file
106
setup_x11_jarvis.sh
Executable file
@@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Abbrechen bei Fehlern
|
||||
set -e
|
||||
|
||||
echo "===================================================="
|
||||
echo "🚀 Starte J.A.R.V.I.S. Desktop OS - X11 Openbox Setup"
|
||||
echo "===================================================="
|
||||
|
||||
# Benutzererkennung
|
||||
REAL_USER="${SUDO_USER:-$(logname 2>/dev/null || whoami)}"
|
||||
REAL_HOME=$(getent passwd "$REAL_USER" | cut -d: -f6)
|
||||
|
||||
if [ -z "$REAL_USER" ] || [ "$REAL_USER" = "root" ]; then
|
||||
REAL_USER=$(id -nu 1000 2>/dev/null || echo "meik")
|
||||
REAL_HOME=$(getent passwd "$REAL_USER" | cut -d: -f6)
|
||||
fi
|
||||
|
||||
JARVIS_DIR="$REAL_HOME/jarvis-ai"
|
||||
|
||||
# 1. System aktualisieren & X11 / Openbox Pakete installieren
|
||||
echo "📦 Installiere X11-Server, Openbox und Automatisierungstools..."
|
||||
sudo apt update
|
||||
sudo apt install -y \
|
||||
xserver-xorg \
|
||||
xinit \
|
||||
x11-xserver-utils \
|
||||
openbox \
|
||||
tint2 \
|
||||
rofi \
|
||||
xdotool \
|
||||
wmctrl \
|
||||
firefox-esr \
|
||||
curl \
|
||||
wget \
|
||||
git \
|
||||
sudo \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-venv \
|
||||
tilix \
|
||||
geany \
|
||||
fonts-noto-color-emoji \
|
||||
pipewire \
|
||||
pipewire-audio-client-libraries \
|
||||
pipewire-pulse \
|
||||
wireplumber \
|
||||
alsa-utils \
|
||||
libasound2-dev \
|
||||
libportaudio2 \
|
||||
unzip
|
||||
|
||||
# 1.1 Gruppenrechte für Audio und Grafik setzen
|
||||
echo "👥 Setze Gruppenrechte für '$REAL_USER'..."
|
||||
sudo usermod -aG video,render,input,audio "$REAL_USER"
|
||||
|
||||
# 2. Openbox Konfigurationsverzeichnis erstellen
|
||||
echo "⚙️ Konfiguriere Openbox für '$REAL_USER'..."
|
||||
mkdir -p "$REAL_HOME/.config/openbox"
|
||||
|
||||
# 3. Autostart-Datei für Openbox erstellen
|
||||
cat << EOF > "$REAL_HOME/.config/openbox/autostart"
|
||||
# Tint2 Taskleiste im Hintergrund starten
|
||||
tint2 &
|
||||
|
||||
# Falls ein Hintergrundbild gewünscht ist (optional, benötigt 'feh'):
|
||||
# feh --bg-scale /pfad/zum/bild.jpg &
|
||||
|
||||
# J.A.R.V.I.S. Sprachsteuerung (Wakeword-Skript) starten
|
||||
if [ -f "$JARVIS_DIR/wakeword.py" ]; then
|
||||
echo "🎙️ Starte J.A.R.V.I.S. Sprachsteuerung..." >> "$JARVIS_DIR/data/desktop.log"
|
||||
"$JARVIS_DIR/venv/bin/python3" "$JARVIS_DIR/wakeword.py" >> "$JARVIS_DIR/data/wakeword.log" 2>&1 &
|
||||
fi
|
||||
EOF
|
||||
|
||||
chmod +x "$REAL_HOME/.config/openbox/autostart"
|
||||
|
||||
# 4. .xinitrc erstellen (ermöglicht den Start via 'startx' aus der Konsole)
|
||||
cat << EOF > "$REAL_HOME/.xinitrc"
|
||||
#!/bin/sh
|
||||
# X11 Umgebungsvariablen setzen falls nötig
|
||||
export QT_QPA_PLATFORM=xcb
|
||||
export GDK_BACKEND=x11
|
||||
|
||||
# Openbox Session starten
|
||||
exec openbox-session
|
||||
EOF
|
||||
|
||||
chmod +x "$REAL_HOME/.xinitrc"
|
||||
|
||||
# Eigentumsrechte korrigieren
|
||||
chown -R "$REAL_USER:$REAL_USER" "$REAL_HOME/.config" "$REAL_HOME/.xinitrc"
|
||||
|
||||
# 5. Virtuelle Python-Umgebung einrichten (falls noch nicht geschehen)
|
||||
if [ ! -d "$JARVIS_DIR/venv" ]; then
|
||||
echo "🐍 Richte virtuelles Python-Environment ein..."
|
||||
mkdir -p "$JARVIS_DIR"
|
||||
python3 -m venv "$JARVIS_DIR/venv"
|
||||
"$JARVIS_DIR/venv/bin/pip" install --upgrade pip
|
||||
"$JARVIS_DIR/venv/bin/pip" install -r requirements.txt
|
||||
fi
|
||||
|
||||
echo "===================================================="
|
||||
echo "✅ X11 Openbox-Umgebung erfolgreich eingerichtet!"
|
||||
echo "👉 Starte die grafische Oberfläche einfach mit dem Befehl: startx"
|
||||
echo "===================================================="
|
||||
Reference in New Issue
Block a user