setup.sh: Reboot zwischen Phase 1 und 2, Autostart für Desktop-Setup
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.
This commit is contained in:
parent
b0202cb285
commit
14d6ed084c
1 changed files with 20 additions and 15 deletions
35
setup.sh
35
setup.sh
|
|
@ -1,21 +1,20 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# macbook-setup/setup.sh
|
# macbook-setup/setup.sh
|
||||||
# Vollautomatisches Post-Install-Skript für Linux auf MacBook Pro
|
# Post-Install-Skript für Linux auf MacBook Pro
|
||||||
# Ruft setup-base.sh (als root) und setup-desktop.sh (als User) auf
|
# 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
|
# Verwendung: curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup.sh | bash
|
||||||
# Oder: bash setup.sh [13|16] (Modell optional, wird sonst abgefragt)
|
|
||||||
|
|
||||||
set -e
|
|
||||||
SETUP_RAW="https://git.motocamp.de/rene/macbook-setup/raw/branch/main"
|
SETUP_RAW="https://git.motocamp.de/rene/macbook-setup/raw/branch/main"
|
||||||
|
|
||||||
# ── Farben ──────────────────────────────────────────────────────────────
|
# ── Farben ──────────────────────────────────────────────────────────────
|
||||||
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
|
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
|
||||||
ok() { echo -e "${GREEN}✓ $*${NC}"; }
|
ok() { echo -e "${GREEN}✓ $*${NC}"; }
|
||||||
err() { echo -e "${RED}✗ $*${NC}"; exit 1; }
|
warn() { echo -e "${YELLOW}⚠ $*${NC}"; }
|
||||||
|
fail() { echo -e "${RED}✗ $*${NC}"; exit 1; }
|
||||||
|
|
||||||
# ── Root-Check ───────────────────────────────────────────────────────────
|
# ── Root-Check ───────────────────────────────────────────────────────────
|
||||||
[[ $EUID -eq 0 ]] && err "Nicht als root ausführen. sudo wird intern verwendet."
|
[[ $EUID -eq 0 ]] && fail "Nicht als root ausführen. sudo wird intern verwendet."
|
||||||
|
|
||||||
# ── Modell ermitteln ─────────────────────────────────────────────────────
|
# ── Modell ermitteln ─────────────────────────────────────────────────────
|
||||||
if [[ "$1" == "13" || "$1" == "16" ]]; then
|
if [[ "$1" == "13" || "$1" == "16" ]]; then
|
||||||
|
|
@ -24,14 +23,14 @@ else
|
||||||
echo ""
|
echo ""
|
||||||
echo "Welches MacBook Pro?"
|
echo "Welches MacBook Pro?"
|
||||||
echo " 13 = MBP 13\" Late 2013"
|
echo " 13 = MBP 13\" Late 2013"
|
||||||
echo " 16 = MBP 16\" Mid 2014 (Intel + Nvidia)"
|
echo " 16 = MBP 16\" Mid 2014 (Intel + AMD Radeon)"
|
||||||
read -rp "Modell [13/16]: " MODEL
|
read -rp "Modell [13/16]: " MODEL
|
||||||
[[ "$MODEL" != "13" && "$MODEL" != "16" ]] && err "Ungültiges Modell: $MODEL"
|
[[ "$MODEL" != "13" && "$MODEL" != "16" ]] && fail "Ungültiges Modell: $MODEL"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "════════════════════════════════════════════"
|
echo "════════════════════════════════════════════"
|
||||||
echo " macbook-setup für MBP $MODEL\" (komplett)"
|
echo " macbook-setup für MBP $MODEL\""
|
||||||
echo "════════════════════════════════════════════"
|
echo "════════════════════════════════════════════"
|
||||||
|
|
||||||
# ── Phase 1: System-Setup (als root) ────────────────────────────────────
|
# ── Phase 1: System-Setup (als root) ────────────────────────────────────
|
||||||
|
|
@ -39,14 +38,20 @@ echo -e "\n>>> Phase 1: setup-base.sh (System)"
|
||||||
curl -fsSL "$SETUP_RAW/setup-base.sh" | sudo bash -s -- "$MODEL"
|
curl -fsSL "$SETUP_RAW/setup-base.sh" | sudo bash -s -- "$MODEL"
|
||||||
ok "Phase 1 abgeschlossen"
|
ok "Phase 1 abgeschlossen"
|
||||||
|
|
||||||
# ── Phase 2: Desktop-Setup (als User) ───────────────────────────────────
|
# ── Phase 2: Desktop-Setup als Autostart einrichten ──────────────────────
|
||||||
echo -e "\n>>> Phase 2: setup-desktop.sh (Desktop)"
|
echo -e "\n>>> Phase 2: setup-desktop.sh wird als Autostart eingerichtet"
|
||||||
curl -fsSL "$SETUP_RAW/setup-desktop.sh" | bash
|
mkdir -p ~/.config/autostart
|
||||||
ok "Phase 2 abgeschlossen"
|
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 "════════════════════════════════════════════"
|
echo "════════════════════════════════════════════"
|
||||||
echo -e " ${GREEN}Komplett-Setup abgeschlossen!${NC}"
|
echo -e " ${GREEN}Phase 1 abgeschlossen!${NC}"
|
||||||
echo "════════════════════════════════════════════"
|
echo "════════════════════════════════════════════"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Neustart empfohlen: sudo reboot"
|
echo "Nächster Schritt:"
|
||||||
|
echo " sudo reboot"
|
||||||
|
echo ""
|
||||||
|
echo "Nach dem Reboot in XFCE einloggen —"
|
||||||
|
echo "setup-desktop.sh startet automatisch."
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue