#!/bin/bash # Paso 1: Seleccionar los componentes components=$(yad --list --title="Seleccionar componentes" \ --text="Selecciona los componentes que deseas configurar:" \ --checklist --multiple \ --column="Seleccionar" --column="Componente" \ FALSE "ogCore" \ FALSE "ogGui" \ FALSE "ogDhcp" \ FALSE "ogBoot" \ --width=400 --height=300 --center) # Verificar si el usuario seleccionó algún componente if [[ -z "$components" ]]; then yad --info --text="No seleccionaste ningún componente. Saliendo..." --center exit 1 fi # Procesar los componentes seleccionados, eliminando la primera columna (TRUE) echo $components IFS="|" read -r -a selected_components <<< "$components" for component in "${selected_components[@]}"; do # Extraer solo el nombre del componente (segundo campo) component_name=$(echo "$component" | cut -d '|' -f 2) # Pedir la configuración específica para cada componente seleccionado config=$(yad --form --title="Configuración para $component_name" \ --field="IP del servidor" \ --field="Ruta del fichero de configuración" \ --width=400 --height=200 --center) # Dividir la configuración en IP y ruta del fichero server_ip=$(echo "$config" | cut -d '|' -f 1) config_path=$(echo "$config" | cut -d '|' -f 2) # Verificar si los campos no están vacíos if [[ -z "$server_ip" || -z "$config_path" ]]; then yad --error --text="Debes proporcionar la IP del servidor y la ruta del fichero para $component_name." --center exit 1 fi # Guardar la configuración en un archivo (cada componente tiene su archivo JSON) config_file="./${component_name}_config.json" echo "{\"server_ip\": \"$server_ip\", \"config_path\": \"$config_path\"}" > "$config_file" # Mostrar un mensaje de éxito yad --info --text="Configuración guardada en $config_file para $component_name." --center done # Una vez se ha configurado todo, se puede proceder a la instalación de los componentes # Ejecutar la instalación con calamares y enviar el log a un archivo #calamares > installer.log 2>&1 & disown calamares > installer.log 2>&1