59 lines
2.1 KiB
Bash
59 lines
2.1 KiB
Bash
#!/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
|