fix(tui): fix initial dialog interaction and user detection in interactive mode
Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
@@ -156,7 +156,11 @@ Dieses Repository ist ein modulares, automatisiertes Setup- und Konfigurations-F
|
||||
- `configure_network_all`: Zentraler Orchestrator zur vollständigen Netzwerkeinrichtung.
|
||||
|
||||
### `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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -85,7 +85,6 @@ tui_prompt_target_user() {
|
||||
done
|
||||
|
||||
export TARGET_USER="$chosen"
|
||||
echo "$chosen"
|
||||
}
|
||||
|
||||
# Confirmation dialog before running
|
||||
|
||||
@@ -142,11 +142,13 @@ else
|
||||
|
||||
read -r -a SELECTED_STAGES <<< "$TUI_SELECTION"
|
||||
|
||||
DETECTED_USER="${TARGET_USER:-$(get_target_user 2>/dev/null || true)}"
|
||||
TARGET_USER_NAME="$(tui_prompt_target_user "$DETECTED_USER")"
|
||||
export TARGET_USER="$TARGET_USER_NAME"
|
||||
DETECTED_USER="${TARGET_USER:-${SUDO_USER:-$(logname 2>/dev/null || id -un 2>/dev/null || true)}}"
|
||||
if [[ "$DETECTED_USER" == "root" ]]; then
|
||||
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."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user