-
Notifications
You must be signed in to change notification settings - Fork 2
/
update-minino.sh
executable file
·136 lines (98 loc) · 3.09 KB
/
update-minino.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/bash
# =============================================================================
# Script para ejecutar en la iso y añadir mejoras.
# =============================================================================
# -----------------------------------------------------------------------------
# Definición de las funciones utilizadas en el script
# -----------------------------------------------------------------------------
# Establece la hora al inicio
# ---
function ntp-fix {
sudo dpkg-reconfigure tzdata
sudo cp ./ntp/fix-ntp /usr/bin
sudo chmod +x /usr/bin/fix-ntp
sudo chown root:root ./ntp/zz-fix-ntp
sudo chmod 0440 ./ntp/zz-fix-ntp
sudo cp ./ntp/zz-fix-ntp /etc/sudoers.d/
sudo cp ./ntp/fix-ntp.desktop /etc/xdg/autostart/
}
# Instala Gimp en el sistema
# ---
function instalarGimp {
sudo apt-get install gimp -y
}
# Instala GIT en el sistema
# ---
function instalarGit {
# Añadir paquete "git" para descargar directamente al sistema desde Github.
sudo apt update && sudo apt-get install git -y
}
# Activa el autologin para el usuario "usuario"
# ---
function activarAutoLogin {
cat << EOF >> /etc/lightdm/lightdm.conf
[Seat:*]
pam-service=lightdm
pam-autologin-service=lightdm-autologin
autologin-user=usuario
autologin-user-timeout=0
session-wrapper=/etc/X11/Xsession
greeter-session=lightdm-greeter
EOF
}
# Corrige la opción de menú duplicidad para ImageMagick
# ---
function corregirImageMagick {
# Menú gráficos duplicados en ImageMagik-corregido
sudo rm /usr/share/applications/display-im6.q16.desktop
}
# Ejecuta la función correspondiente a cada una de las opciones del script
# ---
function ejecutarAccionOpcional {
echo "Ejecutamos $1()"
($1)
}
# Invocamos ("callback") las funciones asociadas a las opciones
# seleccionadas por el usuario
# ---
function procesarAccionesOpcionales {
# Dividimos (el separador es "|" ) las opciones seleccionadas por el usuario
# ---
IFS="|" read -a vals <<< $1
# Solicitamos (una a una) que se procesen dichas opciones
for i in "${vals[@]}"
do
ejecutarAccionOpcional $i
done
}
# -----------------------------------------------------------------------------
# Cuerpo del script
# -----------------------------------------------------------------------------
# Realizamos las opciones por defecto de nuestro script
# ---
instalarGit
corregirImageMagick
# Permitimos seleccionar opciones personalizadas
# ---
# Mostramos las opciones personalizables
opc=$( \
zenity \
--list \
--title="Elija las personalizaciones que desea apliar" \
--checklist \
--column="Aplicar" \
--column="funcionAEjecutar" \
--column="Descripción" \
--hide-column=2 \
True activarAutoLogin "Inicio de sesión automático" \
False instalarGimp "Instalar Gimp" \
True ntp-fix "Corregir hora" \
)
# Comprobamos que no se pulse el botón Cancelar
if [[ "$?" != 0 ]]; then
echo "Sin problemas, ya personalizaremos Minino otro día ;)"
exit 0
fi
# Procesamos las opciones elegidas por el usuario
# ---
procesarAccionesOpcionales $opc