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.
|
- `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.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user