170 lines
7.0 KiB
Bash
170 lines
7.0 KiB
Bash
#!/bin/bash
|
|
|
|
# Résolution écran
|
|
xrandr -s 1920x1080_60.00
|
|
|
|
# Bannière
|
|
cat wibian.figlet
|
|
echo -ne "\n"
|
|
|
|
# Vérifie si le script est lancé avec les droits root
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "Vous devez avoir les privilèges root pour exécuter le script, utiliser la commande : sudo bash install.sh" 2>&1
|
|
exit 1
|
|
fi
|
|
|
|
username=$(id -u -n 1000)
|
|
builddir=$(pwd)
|
|
|
|
# Définition du nom d'hôte
|
|
echo "- Quel nom d'hôte voulez-vous donner à cette nouvelle machine ?"
|
|
read machinename
|
|
clear
|
|
hostnamectl set-hostname $machinename
|
|
sed -i '1i 127.0.0.1\t'$machinename /etc/hosts
|
|
|
|
# noatime
|
|
cp /etc/fstab /etc/fstab.bck
|
|
awk '!/^#/ && ($3 != "swap") && ($2 != "/media/cdrom0") { if(!match(/noatime/, $4)) $4=$4",noatime" } 1' /etc/fstab > /etc/fstab.tmp
|
|
mv /etc/fstab.tmp /etc/fstab
|
|
|
|
# swapiness
|
|
echo "vm.swappiness=1" >> /etc/sysctl.conf
|
|
echo "Désactivation et vidage de la mémoire swap - Veuillez patentier..."
|
|
swapoff -a
|
|
echo "Activation de la mémoire swap avec prise en compte de la valeur 1 "
|
|
swapon -a
|
|
sleep 3
|
|
|
|
# Désinstallation complète de LibreOffice
|
|
apt remove --purge libreoffice* -y
|
|
apt autoremove -y
|
|
|
|
# Modification pour la branche unstable alias "Sid"
|
|
cp /etc/apt/sources.list /etc/apt/sources.list.bck
|
|
cp sources.list /etc/apt/sources.list
|
|
|
|
# Update packages list and update system
|
|
apt update
|
|
apt upgrade -y
|
|
|
|
# Install nala
|
|
apt install nala -y
|
|
nala fetch --auto -y
|
|
|
|
# Installation et configuration du logiciel des gestion automatique des mises à jour
|
|
# Commande pour tester le bon fonctionnement : unattended-upgrades --dry-run --debug
|
|
nala install unattended-upgrades -y
|
|
cp 50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades
|
|
cp /usr/share/unattended-upgrades/20auto-upgrades /etc/apt/apt.conf.d/
|
|
sed -i 's/InhibitDelayMaxSec=30/InhibitDelayMaxSec=1800/g' /usr/lib/systemd/logind.conf.d/unattended-upgrades-logind-maxdelay.conf
|
|
|
|
# Installation des paquets
|
|
nala install caja-share caja-nextcloud celluloid cheese clementine foliate gparted hugin jami kazam lightdm-settings mate-desktop-environment-extras metadata-cleaner numlockx peek pinta printer-driver-all qshutdown redshift-gtk shutter stacer system-config-printer tilix tlp smtube variety xscreensaver-gl -y
|
|
|
|
# Installation des paquets utilitaires
|
|
nala install curl flatpak figlet htop libnotify-bin nmap speedtest-cli stress s-tui swaks testdisk tldr vim wmctrl xdotool -y
|
|
|
|
# Désinstallation des paquets non désirés
|
|
nala remove fortunes-min -y
|
|
|
|
# Logiciel hors dépôts : Applications Web
|
|
wget "http://packages.linuxmint.com/pool/main/w/webapp-manager/webapp-manager_1.2.8_all.deb" -P /tmp/wibian/
|
|
nala install /tmp/wibian/webapp-manager_*.deb -y
|
|
|
|
# Logiciel hors dépôts : PVE VDI Client
|
|
nala install python3-pip python3-proxmoxer python3-tk virt-viewer git -y
|
|
git clone https://github.com/joshpatten/PVE-VDIClient.git
|
|
cd ./PVE-VDIClient/
|
|
pip3 install PySimpleGUI --break-system-packages
|
|
cp vdiclient.py /usr/local/bin
|
|
chmod +x /usr/local/bin/vdiclient.py
|
|
|
|
# Logiciel hors dépots : Deskreen
|
|
wget "https://github.com/pavlobu/deskreen/releases/download/v2.0.4/deskreen_2.0.4_amd64.deb" -P /tmp/wibian/
|
|
nala install /tmp/wibian/deskreen_*.deb -y
|
|
|
|
# Installation des thèmes wibian-light et wibian-dark
|
|
nala install greybird-gtk-theme papirus-icon-theme -y
|
|
mkdir -p /home/$username/.themes
|
|
unzip $builddir/themes.zip -d /home/$username/.themes/
|
|
chown -R $username:$username /home/$username/.themes/
|
|
|
|
# Envoi du message de notification
|
|
notify-send -i $builddir/icones/sympatech_logo_bleu.png "Information" "Le script d'installation touche bientôt à sa fin" -t 0
|
|
notify-send -i $builddir/icones/sympatech_logo_rouge.png "Attention" "Redémarrage imminent après l'installation des paquets flatpak" -t 0
|
|
|
|
# Flatpak (reboot nécéssaire)
|
|
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
flatpak install flathub com.usebottles.bottles com.github.geigi.cozy io.crow_translate.CrowTranslate com.discordapp.Discord com.jgraph.drawio.desktop com.github.tchx84.Flatseal me.hyliu.fluentreader io.github.hmlendea.geforcenow-electron org.onlyoffice.desktopeditors org.jdownloader.JDownloader io.gitlab.librewolf-community org.gnome.World.PikaBackup flathub com.stremio.Stremio com.github.marinm.songrec io.github.hakandundar34coding.mini-system-monitor com.github.rajsolai.textsnatcher app.drey.Warp -y
|
|
|
|
# Scripts exécutés au premier redémarrage dans le dossier caché .runonce de l'utilisateur
|
|
mkdir -p /home/$username/.runonce
|
|
cp $builddir/runonce/* /home/$username/.runonce/
|
|
chown -R $username:$username /home/$username/.runonce/
|
|
chmod +x /home/$username/.runonce/*.sh
|
|
|
|
# Edition du fichier crontab pour déterminer les tâches à éxcuter au démarrage.
|
|
cp /etc/crontab /etc/crontab.bck
|
|
sed -i '$a@reboot root sleep 15; bash /home/'"$username"'/.runonce/reboot.sh' /etc/crontab
|
|
|
|
# Copie des lanceurs d'applications personnalisés dans le tableau de bord de Mate
|
|
mkdir -p /home/$username/.config/mate/panel2.d/default/launchers
|
|
cp $builddir/launchers/* /home/$username/.config/mate/panel2.d/default/launchers/
|
|
chown -R $username:$username /home/$username/.config/mate/
|
|
|
|
# Configuration du profil dconf de l'utilisateur pour synchroniser les paramètres via un fichier texte
|
|
mkdir -p /etc/dconf/profile
|
|
cp $builddir/dconf/user /etc/dconf/profile/user
|
|
rm /home/$username/.config/dconf/user
|
|
cp $builddir/dconf/user.txt /home/$username/.config/dconf/user.txt
|
|
|
|
# Restauration des paramètres de Variety
|
|
mkdir -p /home/$username/.config/variety
|
|
cp $builddir/variety/* /home/$username/.config/variety/
|
|
chown -R $username:$username /home/$username/.config/variety/
|
|
|
|
# Restauration des pramètres de Shutter
|
|
mkdir -p /home/$username/.shutter/profiles
|
|
cp $builddir/shutter/* /home/$username/.shutter/profiles/
|
|
chown -R $username:$username /home/$username/.shutter/
|
|
nohup shutter &>/dev/null &
|
|
sleep 10
|
|
wmctrl -c "Shutter"
|
|
|
|
# Lancement des commandes auto-éxecutées après le login utilisateur : Crow Translate, Shutter, Variety, Permissions Flatpak
|
|
mkdir -p /home/$username/.config/autostart
|
|
cp $builddir/autostart/* /home/$username/.config/autostart/
|
|
chown -R $username:$username /home/$username/.config/autostart/
|
|
|
|
# Mise à jour du répertoire /home pour les nouveaux utilisateurs via /etc/skel (Skeleton)
|
|
unzip $builddir/themes.zip -d /etc/skel/.themes/
|
|
mkdir -p /etc/skel/.runonce
|
|
cp $builddir/runonce/flatpak.sh /etc/skel/.runonce/
|
|
chmod +x /etc/skel/.runonce/flatpak.sh
|
|
mkdir -p /etc/skel/.config/mate/panel2.d/default/launchers
|
|
cp $builddir/launchers/* /etc/skel/.config/mate/panel2.d/default/launchers/
|
|
mkdir -p /etc/skel/.config/dconf
|
|
cp $builddir/dconf/user.txt /etc/skel/.config/dconf/user.txt
|
|
mkdir -p /etc/skel/.config/variety
|
|
cp $builddir/variety/* /etc/skel/.config/variety/
|
|
mkdir -p /etc/skel/.shutter/profiles
|
|
cp $builddir/shutter/* /etc/skel/.shutter/profiles/
|
|
mkdir -p /etc/skel/.config/autostart
|
|
cp $builddir/autostart/* /etc/skel/.config/autostart/
|
|
|
|
# Suppression des sources d'installation du script
|
|
rm -r $builddir
|
|
rm -r /tmp/wibian/
|
|
|
|
# Message de fin
|
|
echo "Bisous" | figlet -f big
|
|
echo -ne "\n"
|
|
|
|
# Décompte avant redémarrage
|
|
i=10
|
|
while [ $i -ge 0 ]; do printf "Redémarrage dans $i \r"; sleep 1; ((i--)); done
|
|
|
|
# redémarrage du système
|
|
reboot now
|