fix(tui): fix initial dialog interaction and user detection in interactive mode

Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
2026-09-06 16:30:28 +02:00
co-authored by Junie
parent f093cce7dc
commit 2f02c1b74a
3 changed files with 11 additions and 6 deletions
+5 -1
View File
@@ -156,7 +156,11 @@ Dieses Repository ist ein modulares, automatisiertes Setup- und Konfigurations-F
- `configure_network_all`: Zentraler Orchestrator zur vollständigen Netzwerkeinrichtung. - `configure_network_all`: Zentraler Orchestrator zur vollständigen Netzwerkeinrichtung.
### `lib/tui.sh` ### `lib/tui.sh`
- `tui_show_stage_selection`: Zeigt ein `whiptail` Checklist-Menü zur interaktiven Auswahl der auszuführenden Phasen. - `tui_check_whiptail`: Stellt sicher, dass `whiptail` installiert ist.
- `tui_welcome`: Zeigt den Begrüßungsdialog.
- `tui_select_stages`: Zeigt ein `whiptail` Checklist-Menü zur interaktiven Auswahl der auszuführenden Phasen.
- `tui_prompt_target_user [default_user]`: Bestätigt oder erfragt den Desktop-Zielbenutzer per Dialog und exportiert `TARGET_USER`.
- `tui_confirm_execution "stages" "user"`: Bestätigungsdialog vor dem Start der Installation.
--- ---
-1
View File
@@ -85,7 +85,6 @@ tui_prompt_target_user() {
done done
export TARGET_USER="$chosen" export TARGET_USER="$chosen"
echo "$chosen"
} }
# Confirmation dialog before running # Confirmation dialog before running
+6 -4
View File
@@ -142,11 +142,13 @@ else
read -r -a SELECTED_STAGES <<< "$TUI_SELECTION" read -r -a SELECTED_STAGES <<< "$TUI_SELECTION"
DETECTED_USER="${TARGET_USER:-$(get_target_user 2>/dev/null || true)}" DETECTED_USER="${TARGET_USER:-${SUDO_USER:-$(logname 2>/dev/null || id -un 2>/dev/null || true)}}"
TARGET_USER_NAME="$(tui_prompt_target_user "$DETECTED_USER")" if [[ "$DETECTED_USER" == "root" ]]; then
export TARGET_USER="$TARGET_USER_NAME" DETECTED_USER=""
fi
tui_prompt_target_user "$DETECTED_USER"
if ! tui_confirm_execution "${SELECTED_STAGES[*]}" "$TARGET_USER_NAME"; then if ! tui_confirm_execution "${SELECTED_STAGES[*]}" "$TARGET_USER"; then
log_info "Installation aborted by user." log_info "Installation aborted by user."
exit 0 exit 0
fi fi