setup-desktop.sh braucht laufende XFCE-Session und die Hardware-Fixes aus setup-base.sh (GPU-Blacklist, Treiber) erfordern einen Reboot. Daher: setup-base.sh sofort ausführen, setup-desktop.sh als XFCE- Autostart einrichten, Reboot dazwischen.
57 lines
3.1 KiB
Bash
57 lines
3.1 KiB
Bash
#!/bin/bash
|
|
# macbook-setup/setup.sh
|
|
# Post-Install-Skript für Linux auf MacBook Pro
|
|
# Startet setup-base.sh und richtet setup-desktop.sh als Autostart ein
|
|
#
|
|
# Verwendung: curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup.sh | bash
|
|
|
|
SETUP_RAW="https://git.motocamp.de/rene/macbook-setup/raw/branch/main"
|
|
|
|
# ── Farben ──────────────────────────────────────────────────────────────
|
|
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
|
|
ok() { echo -e "${GREEN}✓ $*${NC}"; }
|
|
warn() { echo -e "${YELLOW}⚠ $*${NC}"; }
|
|
fail() { echo -e "${RED}✗ $*${NC}"; exit 1; }
|
|
|
|
# ── Root-Check ───────────────────────────────────────────────────────────
|
|
[[ $EUID -eq 0 ]] && fail "Nicht als root ausführen. sudo wird intern verwendet."
|
|
|
|
# ── Modell ermitteln ─────────────────────────────────────────────────────
|
|
if [[ "$1" == "13" || "$1" == "16" ]]; then
|
|
MODEL="$1"
|
|
else
|
|
echo ""
|
|
echo "Welches MacBook Pro?"
|
|
echo " 13 = MBP 13\" Late 2013"
|
|
echo " 16 = MBP 16\" Mid 2014 (Intel + AMD Radeon)"
|
|
read -rp "Modell [13/16]: " MODEL
|
|
[[ "$MODEL" != "13" && "$MODEL" != "16" ]] && fail "Ungültiges Modell: $MODEL"
|
|
fi
|
|
|
|
echo ""
|
|
echo "════════════════════════════════════════════"
|
|
echo " macbook-setup für MBP $MODEL\""
|
|
echo "════════════════════════════════════════════"
|
|
|
|
# ── Phase 1: System-Setup (als root) ────────────────────────────────────
|
|
echo -e "\n>>> Phase 1: setup-base.sh (System)"
|
|
curl -fsSL "$SETUP_RAW/setup-base.sh" | sudo bash -s -- "$MODEL"
|
|
ok "Phase 1 abgeschlossen"
|
|
|
|
# ── Phase 2: Desktop-Setup als Autostart einrichten ──────────────────────
|
|
echo -e "\n>>> Phase 2: setup-desktop.sh wird als Autostart eingerichtet"
|
|
mkdir -p ~/.config/autostart
|
|
printf '[Desktop Entry]\nType=Application\nName=MacBook Setup Desktop\nExec=bash -c "curl -fsSL %s/setup-desktop.sh | bash 2>&1 | tee /tmp/setup-desktop.log"\nHidden=false\nX-GNOME-Autostart-enabled=true\n' "$SETUP_RAW" \
|
|
> ~/.config/autostart/macbook-setup-desktop.desktop
|
|
ok "Autostart für setup-desktop.sh eingerichtet"
|
|
|
|
echo ""
|
|
echo "════════════════════════════════════════════"
|
|
echo -e " ${GREEN}Phase 1 abgeschlossen!${NC}"
|
|
echo "════════════════════════════════════════════"
|
|
echo ""
|
|
echo "Nächster Schritt:"
|
|
echo " sudo reboot"
|
|
echo ""
|
|
echo "Nach dem Reboot in XFCE einloggen —"
|
|
echo "setup-desktop.sh startet automatisch."
|