-
Notifications
You must be signed in to change notification settings - Fork 0
/
gui-installer
117 lines (100 loc) · 2.28 KB
/
gui-installer
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
#!/bin/bash
session_manager=(sddm)
desktop=(
xfce4
gtk3-engines-xfce
tango-icon-theme
blackbird-gtk-theme
blueman
network-manager-gnome
)
tools=(
bluealsa
gthumb
gparted
meld
mousepad
thunar-volman
volumeicon-alsa
xarchiver
xfce4-cpugraph-plugin
xfce4-notifyd
xfce4-screenshooter
xfce4-taskmanager
xfce4-terminal
)
office=(
libreoffice-l10n-de
libreoffice-writer
libreoffice-calc
libreoffice-impress
)
main() {
if [ $(whoami) != "root" ]; then
echo "Ohne Root-Rechte geht's nicht!"
exit 1
fi
restore_baschrc
change_password
option_gui_installation
cleanup
sleep 4
reboot
}
change_password() {
while [ -z "$new_pw" ]; do
new_pw=$( whiptail --passwordbox "Passwort wurde vorhin zurückgesetzt.
Hier kannst du einen neuen angeben:" 9 40 3>&1 1>&2 2>&3 )
done
echo -e "$SUDO_USER:$new_pw" | chpasswd
}
cleanup() {
rm /etc/systemd/system/getty@tty1.service.d/autologin.conf
rm base-config file-list gui-installer
}
install_packages() {
attempts=1
while true; do
if [ "$attempts" -gt 1 ]; then
echo "Fehler bei der Installation. Versuche zu reparieren:"
apt update --fix-missing
apt -y upgrade
sleep 4
fi
apt -y install "$@"
if [ $? -ne 0 -a "$attempts" -lt 3 ]; then
((attempts++))
else
break;
fi
done
if [ "$attempts" -eq 3 ]; then
echo "Alle Versuche sind fehlgeschlagen. Die Installation kann nicht mehr fortgesetzt werden."
exit 1
fi
}
option_gui_installation() {
if ( whiptail --yesno "Möchtest du Xfce als grafische Oberfläche installieren?" 9 40 ); then
sed -i "s/\[all\]/\[all\]\ndtoverlay=vc4-fkms-v3d\ngpu_mem=128/g" /boot/config.txt
echo "Die Installation erfolgt jetzt:"
install_packages "${session_manager[@]}"
install_packages "--no-install-recommends" "${desktop[@]}"
install_packages "${tools[@]}"
install_packages "${office[@]}"
xfconf-query -c xsettings -p /Net/ThemeName -s "Blackbird"
echo '[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=VolumeIcon
Comment=Volume Icon for ALSA
Exec=volumeicon' > /etc/xdg/autostart/VolumeIcon.desktop
fi
}
restore_baschrc() {
if [ -f .bashrc.backup ]; then
rm .bashrc
mv .bashrc.backup .bashrc
chown $SUDO_USER:$SUDO_USER .bashrc
fi
}
main "$@"