Divers améliorations
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
# Locale et langue par défaut : français suisse
|
||||
d-i debian-installer/locale string fr_CH.UTF-8
|
||||
|
||||
# Configuration réseau automatique
|
||||
d-i netcfg/choose_interface select auto
|
||||
d-i netcfg/get_hostname string skylanix
|
||||
@@ -36,38 +33,52 @@ tasksel tasksel/first multiselect minimal
|
||||
# Paquets essentiels Skylanix : environnement GNOME et outils système
|
||||
d-i pkgsel/include string \
|
||||
gnome-core \
|
||||
gnome-tweaks \
|
||||
vim \
|
||||
fish \
|
||||
git \
|
||||
wget \
|
||||
curl \
|
||||
gpg \
|
||||
htop \
|
||||
btop \
|
||||
fastfetch \
|
||||
flatpak \
|
||||
pavucontrol \
|
||||
easyeffects \
|
||||
gnome-software-plugin-flatpak \
|
||||
ffmpeg \
|
||||
libavcodec-extra \
|
||||
libavformat-extra \
|
||||
spice-vdagent \
|
||||
cmatrix
|
||||
dkms \
|
||||
libdw-dev \
|
||||
clang \
|
||||
lld \
|
||||
llvm
|
||||
|
||||
# gnome: environnement de bureau GNOME
|
||||
# gnome-core: Environnement de bureau GNOME
|
||||
# gnome-tweaks: Outil de personnalisation GNOME
|
||||
# vim: Éditeur de texte
|
||||
# fish: Shell moderne
|
||||
# git: Gestionnaire de versions
|
||||
# wget: Téléchargeur HTTP/FTP
|
||||
# curl: Client HTTP/FTP
|
||||
# gpg: Chiffrement/signatures
|
||||
# htop: Moniteur système interactif
|
||||
# btop: Moniteur système moderne
|
||||
# fastfetch: Info système colorée
|
||||
# flatpak: Gestionnaire d'apps universelles
|
||||
# pavucontrol: Contrôleur audio PulseAudio
|
||||
# easyeffects: Effets audio avancés
|
||||
# gnome-software-plugin-flatpak: Plugin Flatpak pour GNOME Software
|
||||
# ffmpeg: Codecs audio/vidéo
|
||||
# libavcodec-extra: Codecs supplémentaires
|
||||
# libavformat-extra: Formats multimédias supplémentaires
|
||||
# spice-vdagent: Agent SPICE pour machine virtuelle
|
||||
# cmatrix: Effet Matrix dans terminal
|
||||
# dkms: Système de modules kernel dynamiques
|
||||
# libdw-dev: Bibliothèque de débogage DWARF
|
||||
# clang: Compilateur C/C++/Objective-C
|
||||
# lld: Éditeur de liens LLVM
|
||||
# llvm: Infrastructure de compilation modulaire
|
||||
|
||||
# Installation GRUB avec support multi-OS
|
||||
d-i grub-installer/only_debian boolean true
|
||||
@@ -78,7 +89,7 @@ d-i grub-installer/bootdev string default
|
||||
|
||||
# Configuration post-installation : suppression navigateurs par défaut, installation Firefox Mozilla, kernel XanMod et configuration système
|
||||
d-i preseed/late_command string \
|
||||
in-target apt-get remove --purge -y firefox-esr konqueror ; \
|
||||
in-target apt-get remove --purge -y firefox-esr ; \
|
||||
in-target mkdir -p /etc/apt/keyrings ; \
|
||||
in-target timeout 30 wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O /etc/apt/keyrings/packages.mozilla.org.asc ; \
|
||||
in-target sh -c 'echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" > /etc/apt/sources.list.d/mozilla.list' ; \
|
||||
@@ -94,13 +105,20 @@ d-i preseed/late_command string \
|
||||
sh -c 'cp /cdrom/preseeds/install_gaming.sh /target/usr/bin/install_gaming.sh ; \
|
||||
chmod +x /target/usr/bin/install_gaming.sh' ; \
|
||||
sh -c 'cp "/cdrom/preseeds/Debian Gaming Deployment Tool.desktop" /target/usr/share/applications/ ; \
|
||||
chmod 644 /target/usr/share/applications/"Debian Gaming Deployment Tool.desktop"' ; \
|
||||
sh -c 'mkdir -p /target/etc/apt/keyrings' ; \
|
||||
sh -c 'mkdir -p /target/etc/apt/sources.list.d' ; \
|
||||
sh -c 'wget -qO /target/etc/apt/keyrings/xanmod-archive-keyring.gpg https://dl.xanmod.org/archive.key' ; \
|
||||
sh -c 'echo "deb [signed-by=/etc/apt/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org trixie main" > /target/etc/apt/sources.list.d/xanmod.list' ; \
|
||||
chmod 644 /target/usr/share/applications/"Debian Gaming Deployment Tool.desktop"' ; \ in-target mkdir -p /etc/apt/keyrings ; \
|
||||
in-target mkdir -p /etc/apt/sources.list.d ; \
|
||||
in-target wget -qO /etc/apt/keyrings/xanmod-archive-keyring.gpg https://dl.xanmod.org/archive.key ; \
|
||||
in-target sh -c 'echo "deb [signed-by=/etc/apt/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org trixie main non-free" > /etc/apt/sources.list.d/xanmod.list' ; \
|
||||
in-target apt-get update ; \
|
||||
in-target apt-get install -y linux-xanmod-x64v3 ;
|
||||
in-target apt-get install -y linux-xanmod-x64v3 ; \
|
||||
in-target mkdir -p /etc/skel/.config/autostart ; \
|
||||
in-target sh -c 'printf "[Desktop Entry]\nType=Application\nName=Skylanix Setup\nExec=sh -c \"gsettings set org.gnome.desktop.wm.preferences button-layout \":minimize,maximize,close\" && rm ~/.config/autostart/skylanix-setup.desktop\"\nNoDisplay=true\nStartupNotify=false\n" > /etc/skel/.config/autostart/skylanix-setup.desktop' ; \
|
||||
in-target mkdir -p /etc/dconf/profile ; \
|
||||
in-target sh -c 'echo "user-db:user\nsystem-db:local" > /etc/dconf/profile/user' ; \
|
||||
in-target mkdir -p /etc/dconf/db/local.d ; \
|
||||
in-target sh -c 'printf "[org/gnome/desktop/wm/preferences]\nbutton-layout=\":minimize,maximize,close\"\n" > /etc/dconf/db/local.d/00-skylanix-wm' ; \
|
||||
in-target dconf update ;
|
||||
in-target sh -c 'if lspci | grep -i nvidia | grep -E "(GTX 16[0-9]{2}|RTX [2-4][0-9]{3}|RTX [5-9][0-9]{3}|Tesla|Quadro.*T[0-9]{3,4}|A[0-9]{2,4})" > /dev/null; then echo "Carte NVIDIA compatible détectée"; lspci | grep -i nvidia; echo "Installation des drivers NVIDIA 580 open source..."; in-target apt-get update && in-target apt-get install -y nvidia-driver-580-open; echo "Installation terminée. Redémarrage requis."; else echo "Aucune carte NVIDIA série 1600+ détectée"; lspci | grep -i vga; fi' ;
|
||||
|
||||
# Finalisation : redémarrage automatique
|
||||
d-i finish-install/reboot_in_progress note
|
||||
|
||||
8
files_to_inject/preseeds/gaming_installer.log
Normal file
8
files_to_inject/preseeds/gaming_installer.log
Normal file
@@ -0,0 +1,8 @@
|
||||
=== Debian Gaming Deployment Tool Log - Démarré le mer 10 sep 2025 21:21:44 CEST ===
|
||||
Fichier de log: ./gaming_installer.log
|
||||
Utilisateur: sky
|
||||
Répertoire de travail: /home/sky/Documents/gitea/custom-debian-iso/files_to_inject/preseeds
|
||||
|
||||
[2025-09-10 21:21:44] INFO: Script démarré avec succès
|
||||
[2025-09-10 21:21:44] INFO: Vérification du système de logging
|
||||
[2025-09-10 21:21:44] INFO: Fichier de log créé dans: /home/sky/Documents/gitea/custom-debian-iso/files_to_inject/preseeds/gaming_installer.log
|
||||
@@ -123,9 +123,6 @@ show_installation_summary() {
|
||||
summary_text+="\n📝 Note : Redémarrage de session recommandé pour Flatpak\n"
|
||||
fi
|
||||
|
||||
if [[ " ${INSTALLED_APPS[*]} " =~ " Drivers NVIDIA " ]]; then
|
||||
summary_text+="\n🔄 Important : Redémarrage système requis pour les drivers NVIDIA\n"
|
||||
fi
|
||||
|
||||
zenity 2>/dev/null --info --title="Installation achevée" --text="$summary_text" --width=500 --extra-button="Voir les logs"
|
||||
if [ $? -eq 1 ]; then
|
||||
@@ -341,6 +338,72 @@ show_progress() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Fonction pour créer une progression continue pendant l'exécution d'une commande
|
||||
run_with_continuous_progress() {
|
||||
local title="$1"
|
||||
local message="$2"
|
||||
local command="$3"
|
||||
|
||||
if [ "$BATCH_INSTALL_MODE" = "true" ]; then
|
||||
# En mode groupé, pas de barre de progression individuelle
|
||||
log_info "[$BATCH_CURRENT_APP/$BATCH_TOTAL_APPS] $title: $message"
|
||||
eval "$command"
|
||||
return $?
|
||||
fi
|
||||
|
||||
# Créer un pipe nommé pour la communication
|
||||
local progress_pipe=$(mktemp -u)
|
||||
mkfifo "$progress_pipe"
|
||||
|
||||
# Fonction de progression continue en arrière-plan
|
||||
continuous_progress() {
|
||||
local percent=0
|
||||
local direction=1
|
||||
|
||||
while true; do
|
||||
echo "$percent"
|
||||
echo "# $message"
|
||||
|
||||
# Augmenter ou diminuer le pourcentage
|
||||
percent=$((percent + direction * 2))
|
||||
|
||||
# Inverser la direction aux extrêmes
|
||||
if [ $percent -ge 95 ]; then
|
||||
direction=-1
|
||||
elif [ $percent -le 5 ]; then
|
||||
direction=1
|
||||
fi
|
||||
|
||||
sleep 0.1
|
||||
done > "$progress_pipe" &
|
||||
|
||||
local progress_pid=$!
|
||||
|
||||
# Afficher la barre de progression
|
||||
zenity 2>/dev/null --progress \
|
||||
--title="$title" \
|
||||
--text="$message" \
|
||||
--percentage=0 \
|
||||
--width=400 \
|
||||
--auto-close < "$progress_pipe" &
|
||||
|
||||
local zenity_pid=$!
|
||||
|
||||
# Exécuter la commande
|
||||
eval "$command" > /dev/null 2>&1
|
||||
local result=$?
|
||||
|
||||
# Nettoyer les processus en arrière-plan
|
||||
kill $progress_pid 2>/dev/null || true
|
||||
kill $zenity_pid 2>/dev/null || true
|
||||
rm -f "$progress_pipe"
|
||||
|
||||
return $result
|
||||
}
|
||||
|
||||
continuous_progress
|
||||
}
|
||||
|
||||
# Fonction wrapper pour zenity 2>/dev/null progress en mode individuel
|
||||
run_individual_progress() {
|
||||
local app_name="$1"
|
||||
@@ -376,7 +439,6 @@ ensure_flathub_sources() {
|
||||
# Vérifier si Flatpak est installé
|
||||
if ! command -v flatpak &> /dev/null; then
|
||||
log_info "Flatpak n'est pas installé, installation en cours..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
echo "$password" | timeout $TIMEOUT_INSTALL sudo -S apt-get install -y flatpak >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "flatpak" "installation"; then
|
||||
log_error "Échec de l'installation de Flatpak"
|
||||
@@ -410,15 +472,13 @@ show_unified_selection() {
|
||||
--extra-button="Désinstaller" \
|
||||
--cancel-label="Annuler" \
|
||||
--separator="|" \
|
||||
FALSE "ACTION_UNINSTALL" "SPECIAL" "🗑️ MODE DÉSINSTALLATION - Cochez ceci pour désinstaller au lieu d'installer" \
|
||||
FALSE "nvidia" "APT" "💻 NVIDIA + CUDA - Pilotes graphiques professionnels" \
|
||||
FALSE "flatpak" "APT" "📦 Flatpak + Flathub - Gestionnaire d'applications universelles" \
|
||||
FALSE "steam" "APT" "🎮 Steam - Plateforme de jeux numériques Valve" \
|
||||
FALSE "heroic" "GitHub" "🎮 Heroic Game Launcher - Client Epic Games et GOG" \
|
||||
FALSE "lutris" "APT" "🎮 Lutris - Gestionnaire de bibliothèque de jeux" \
|
||||
FALSE "retroarch" "Flatpak" "🕹️ RetroArch - Plateforme d'émulation multi-systèmes" \
|
||||
FALSE "goverlay" "APT" "⚡ GOverlay - Monitoring des performances (FPS, CPU, GPU)" \
|
||||
FALSE "protonup" "Flatpak" "🔄 ProtonUp-Qt - Gestionnaire de versions Proton" \
|
||||
FALSE "proton plus" "Flatpak" "🔄 ProtonUp-Qt - Gestionnaire de versions Proton" \
|
||||
FALSE "wine" "APT" "🍷 Wine + Winetricks - Couche de compatibilité Windows" \
|
||||
FALSE "bottles" "Flatpak" "🍷 Bottles - Gestionnaire Wine moderne" \
|
||||
FALSE "discord" "Flatpak" "💬 Discord - Plateforme de communication gaming" \
|
||||
@@ -450,41 +510,30 @@ install_steam() {
|
||||
|
||||
# Fonction interne pour l'installation
|
||||
install_steam_steps() {
|
||||
show_progress "Steam" 10 "Mise à jour des sources..."
|
||||
log_info "Début mise à jour des sources pour Steam"
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
local result=$?
|
||||
log_info "Résultat apt-get update: $result"
|
||||
if ! check_apt_success $result "sources" "mise à jour"; then
|
||||
log_error "Échec mise à jour des sources pour Steam"
|
||||
if ! run_with_continuous_progress "Steam" "Installation des dépendances..." \
|
||||
"echo '$password' | timeout $TIMEOUT_APT sudo -S apt-get install -y wget curl >> '$LOG_FILE' 2>&1"; then
|
||||
log_error "Échec installation dépendances Steam"
|
||||
return 1
|
||||
fi
|
||||
|
||||
show_progress "Steam" 30 "Installation des dépendances..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get install -y wget curl >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "wget curl" "installation"; then
|
||||
if ! run_with_continuous_progress "Steam" "Ajout de l'architecture 32-bit..." \
|
||||
"echo '$password' | timeout $TIMEOUT_APT sudo -S dpkg --add-architecture i386 >> '$LOG_FILE' 2>&1"; then
|
||||
log_error "Échec ajout architecture i386 Steam"
|
||||
return 1
|
||||
fi
|
||||
|
||||
show_progress "Steam" 50 "Ajout de l'architecture 32-bit..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S dpkg --add-architecture i386 >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "architecture i386" "ajout"; then
|
||||
if ! run_with_continuous_progress "Steam" "Mise à jour après ajout architecture..." \
|
||||
"echo '$password' | timeout $TIMEOUT_APT sudo -S apt-get update >> '$LOG_FILE' 2>&1"; then
|
||||
log_error "Échec mise à jour sources Steam"
|
||||
return 1
|
||||
fi
|
||||
|
||||
show_progress "Steam" 70 "Mise à jour des sources..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources" "mise à jour"; then
|
||||
if ! run_with_continuous_progress "Steam" "Installation de steam-installer..." \
|
||||
"echo '$password' | timeout $TIMEOUT_INSTALL sudo -S apt-get install -y steam-installer >> '$LOG_FILE' 2>&1"; then
|
||||
log_error "Échec installation steam-installer"
|
||||
return 1
|
||||
fi
|
||||
|
||||
show_progress "Steam" 90 "Installation de steam-installer..."
|
||||
echo "$password" | timeout $TIMEOUT_INSTALL sudo -S apt-get install -y steam-installer >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "steam-installer" "installation"; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
show_progress "Steam" 100 "Vérification de l'installation..."
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -531,11 +580,11 @@ install_steam() {
|
||||
}
|
||||
|
||||
# Fonction d'installation ProtonUp-Qt
|
||||
install_protonup() {
|
||||
install_proton_plus() {
|
||||
log_info "Début de l'installation de ProtonUp-Qt"
|
||||
|
||||
# Vérifier si ProtonUp-Qt est déjà installé
|
||||
if flatpak list | grep -q "net.davidotek.pupgui2"; then
|
||||
if flatpak list | grep -q "com.vysp3r.ProtonPlus"; then
|
||||
log_info "ProtonUp-Qt déjà installé"
|
||||
zenity 2>/dev/null --info --title="Composant déjà présent" --text="ProtonUp-Qt est déjà installé sur le système."
|
||||
return
|
||||
@@ -546,37 +595,36 @@ install_protonup() {
|
||||
return
|
||||
fi
|
||||
|
||||
(
|
||||
echo "40" ; echo "# Vérification des sources Flathub..."
|
||||
# Installation avec barres de progression continues
|
||||
if [ "$BATCH_INSTALL_MODE" = "true" ]; then
|
||||
# Mode groupé: installation directe sans barres individuelles
|
||||
if ! ensure_flathub_sources; then
|
||||
echo "# Erreur lors de la configuration de Flathub"
|
||||
exit 1
|
||||
log_error "Échec de la configuration de Flathub pour ProtonUp-Qt"
|
||||
return
|
||||
fi
|
||||
|
||||
echo "70" ; echo "# Installation de ProtonUp-Qt via Flatpak..."
|
||||
echo "$password" | timeout $TIMEOUT_INSTALL sudo -S flatpak install -y flathub net.davidotek.pupgui2 >> "$LOG_FILE" 2>&1
|
||||
echo "$password" | timeout $TIMEOUT_INSTALL sudo -S flatpak install -y flathub com.vysp3r.ProtonPlus >> "$LOG_FILE" 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_error "Échec de l'installation de ProtonUp-Qt"
|
||||
echo "# Erreur lors de l'installation de ProtonUp-Qt"
|
||||
exit 1
|
||||
return
|
||||
fi
|
||||
else
|
||||
# Mode individuel: utiliser les barres de progression continues
|
||||
if ! run_with_continuous_progress "ProtonUp-Qt" "Vérification des sources Flathub..." \
|
||||
"ensure_flathub_sources"; then
|
||||
log_error "Échec de la configuration de Flathub pour ProtonUp-Qt"
|
||||
return
|
||||
fi
|
||||
|
||||
echo "100" ; echo "# Vérification de l'installation..."
|
||||
) | zenity 2>/dev/null --progress \
|
||||
--title="Installation de ProtonUp-Qt" \
|
||||
--text="Initialisation..." \
|
||||
--percentage=0 \
|
||||
--width=400 \
|
||||
--auto-close
|
||||
|
||||
# Vérifier le code de sortie du processus
|
||||
if [ ${PIPESTATUS[0]} -ne 0 ]; then
|
||||
show_error_logs "Échec de l'installation de ProtonUp-Qt"
|
||||
return
|
||||
if ! run_with_continuous_progress "ProtonUp-Qt" "Installation de ProtonUp-Qt via Flatpak..." \
|
||||
"echo '$password' | timeout $TIMEOUT_INSTALL sudo -S flatpak install -y flathub com.vysp3r.ProtonPlus >> '$LOG_FILE' 2>&1"; then
|
||||
log_error "Échec de l'installation de ProtonUp-Qt"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
# Vérifier si l'installation a réussi
|
||||
if flatpak list | grep -q "net.davidotek.pupgui2"; then
|
||||
if flatpak list | grep -q "com.vysp3r.ProtonPlus"; then
|
||||
log_info "Installation ProtonUp-Qt réussie"
|
||||
INSTALLED_APPS+=("ProtonUp-Qt")
|
||||
INSTALLATION_MESSAGES+=("ProtonUp-Qt a été installé avec succès via Flatpak")
|
||||
@@ -603,30 +651,23 @@ install_lutris() {
|
||||
fi
|
||||
|
||||
(
|
||||
echo "10" ; echo "# Mise à jour des sources..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources" "mise à jour"; then
|
||||
echo "# Erreur lors de la mise à jour des sources"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "20" ; echo "# Installation des dépendances..."
|
||||
echo "15" ; echo "# Installation des dépendances..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get install -y wget curl >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "dépendances" "installation"; then
|
||||
echo "# Erreur lors de l'installation des dépendances"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "50" ; echo "# Ajout de l'architecture 32-bit..."
|
||||
echo "35" ; echo "# Ajout de l'architecture 32-bit..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S dpkg --add-architecture i386 >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "architecture i386" "ajout"; then
|
||||
echo "# Erreur lors de l'ajout de l'architecture i386"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "70" ; echo "# Mise à jour des sources..."
|
||||
echo "55" ; echo "# Mise à jour après ajout architecture..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources" "mise à jour"; then
|
||||
if ! check_apt_success $? "sources après i386" "mise à jour"; then
|
||||
echo "# Erreur lors de la mise à jour des sources"
|
||||
exit 1
|
||||
fi
|
||||
@@ -739,13 +780,6 @@ install_wine() {
|
||||
fi
|
||||
|
||||
(
|
||||
echo "5" ; echo "# Mise à jour des sources..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources" "mise à jour"; then
|
||||
echo "# Erreur lors de la mise à jour des sources"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "10" ; echo "# Installation des dépendances..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get install -y wget curl >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "dépendances" "installation"; then
|
||||
@@ -916,14 +950,7 @@ install_flatpak() {
|
||||
fi
|
||||
|
||||
(
|
||||
echo "20" ; echo "# Mise à jour des sources..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources" "mise à jour"; then
|
||||
echo "# Erreur lors de la mise à jour des sources"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "50" ; echo "# Installation de Flatpak..."
|
||||
echo "30" ; echo "# Installation de Flatpak..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get install -y flatpak >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "flatpak" "installation"; then
|
||||
echo "# Erreur lors de l'installation de Flatpak"
|
||||
@@ -990,23 +1017,18 @@ install_flatseal() {
|
||||
|
||||
# Fonction interne pour l'installation
|
||||
install_flatseal_steps() {
|
||||
show_progress "Flatseal" 40 "Vérification des sources Flathub..."
|
||||
if ! ensure_flathub_sources; then
|
||||
if ! run_with_continuous_progress "Flatseal" "Vérification des sources Flathub..." \
|
||||
"ensure_flathub_sources"; then
|
||||
log_error "Échec de la configuration de Flathub pour Flatseal"
|
||||
return 1
|
||||
fi
|
||||
|
||||
show_progress "Flatseal" 70 "Installation de Flatseal via Flatpak..."
|
||||
log_info "Installation de Flatseal via Flatpak"
|
||||
echo "$password" | timeout $TIMEOUT_INSTALL sudo -S flatpak install -y flathub com.github.tchx84.Flatseal >> "$LOG_FILE" 2>&1
|
||||
local result=$?
|
||||
log_info "Résultat installation Flatseal: $result"
|
||||
if [ $result -ne 0 ]; then
|
||||
if ! run_with_continuous_progress "Flatseal" "Installation de Flatseal via Flatpak..." \
|
||||
"echo '$password' | timeout $TIMEOUT_INSTALL sudo -S flatpak install -y flathub com.github.tchx84.Flatseal >> '$LOG_FILE' 2>&1"; then
|
||||
log_error "Échec de l'installation de Flatseal via Flatpak"
|
||||
return 1
|
||||
fi
|
||||
|
||||
show_progress "Flatseal" 100 "Vérification de l'installation..."
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -1298,27 +1320,12 @@ install_mumble() {
|
||||
|
||||
# Fonction interne pour l'installation
|
||||
install_mumble_steps() {
|
||||
show_progress "Mumble" 20 "Mise à jour des sources..."
|
||||
log_info "Début mise à jour des sources pour Mumble"
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
local result=$?
|
||||
log_info "Résultat apt-get update: $result"
|
||||
if ! check_apt_success $result "sources" "mise à jour"; then
|
||||
log_error "Échec mise à jour des sources pour Mumble"
|
||||
return 1
|
||||
fi
|
||||
|
||||
show_progress "Mumble" 70 "Installation de Mumble..."
|
||||
log_info "Installation du paquet Mumble"
|
||||
echo "$password" | timeout $TIMEOUT_INSTALL sudo -S apt-get install -y mumble >> "$LOG_FILE" 2>&1
|
||||
local result=$?
|
||||
log_info "Résultat installation Mumble: $result"
|
||||
if ! check_apt_success $result "mumble" "installation"; then
|
||||
if ! run_with_continuous_progress "Mumble" "Installation de Mumble..." \
|
||||
"echo '$password' | timeout $TIMEOUT_INSTALL sudo -S apt-get install -y mumble >> '$LOG_FILE' 2>&1"; then
|
||||
log_error "Échec installation Mumble"
|
||||
return 1
|
||||
fi
|
||||
|
||||
show_progress "Mumble" 100 "Vérification de l'installation..."
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -1383,14 +1390,7 @@ install_heroic() {
|
||||
fi
|
||||
|
||||
(
|
||||
echo "10" ; echo "# Mise à jour des sources..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources" "mise à jour"; then
|
||||
echo "# Erreur lors de la mise à jour des sources"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "20" ; echo "# Installation des dépendances..."
|
||||
echo "15" ; echo "# Installation des dépendances..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get install -y wget curl >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "wget curl" "installation"; then
|
||||
echo "# Erreur lors de l'installation des dépendances"
|
||||
@@ -1449,101 +1449,6 @@ install_heroic() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Fonction d'installation drivers NVIDIA
|
||||
install_nvidia() {
|
||||
log_info "Début de l'installation des drivers NVIDIA"
|
||||
|
||||
# Vérifier si les drivers NVIDIA sont déjà installés
|
||||
if dpkg -l | grep -q "^ii.*nvidia-open" || dpkg -l | grep -q "^ii.*cuda-toolkit"; then
|
||||
log_info "Drivers NVIDIA déjà installés"
|
||||
zenity 2>/dev/null --info --title="Composants déjà présents" --text="Les drivers NVIDIA ou CUDA sont déjà installés sur le système."
|
||||
return
|
||||
fi
|
||||
|
||||
# Utiliser le mot de passe global ou demander un nouveau
|
||||
if ! use_global_password_or_ask "drivers NVIDIA"; then
|
||||
return
|
||||
fi
|
||||
|
||||
(
|
||||
echo "5" ; echo "# Mise à jour des sources..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources" "mise à jour"; then
|
||||
echo "# Erreur lors de la mise à jour des sources"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "15" ; echo "# Installation de wget..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get install -y wget >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "wget" "installation"; then
|
||||
echo "# Erreur lors de l'installation de wget"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "25" ; echo "# Téléchargement de la clé CUDA..."
|
||||
timeout $TIMEOUT_DOWNLOAD wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb -P /tmp/ >> "$LOG_FILE" 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_error "Échec du téléchargement de la clé CUDA"
|
||||
echo "# Erreur lors du téléchargement de la clé CUDA"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "35" ; echo "# Installation du paquet de clé..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S dpkg -i /tmp/cuda-keyring_1.1-1_all.deb >> "$LOG_FILE" 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_error "Échec de l'installation du paquet de clé CUDA"
|
||||
echo "# Erreur lors de l'installation du paquet de clé"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "45" ; echo "# Mise à jour des sources..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources après ajout clé CUDA" "mise à jour"; then
|
||||
echo "# Erreur lors de la mise à jour après ajout de clé"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "65" ; echo "# Installation de CUDA Toolkit..."
|
||||
echo "$password" | timeout $TIMEOUT_INSTALL sudo -S apt-get -y install cuda-toolkit-12-9 >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "cuda-toolkit-12-9" "installation"; then
|
||||
echo "# Erreur lors de l'installation de CUDA Toolkit"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "85" ; echo "# Installation des drivers NVIDIA..."
|
||||
echo "$password" | timeout $TIMEOUT_INSTALL sudo -S apt-get install -y nvidia-open >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "nvidia-open" "installation"; then
|
||||
echo "# Erreur lors de l'installation des drivers NVIDIA"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "95" ; echo "# Nettoyage..."
|
||||
rm -f /tmp/cuda-keyring_1.1-1_all.deb
|
||||
|
||||
echo "100" ; echo "# Vérification de l'installation..."
|
||||
) | zenity 2>/dev/null --progress \
|
||||
--title="Installation des drivers NVIDIA" \
|
||||
--text="Initialisation..." \
|
||||
--percentage=0 \
|
||||
--width=400 \
|
||||
--auto-close
|
||||
|
||||
# Vérifier le code de sortie du processus
|
||||
if [ ${PIPESTATUS[0]} -ne 0 ]; then
|
||||
show_error_logs "Échec de l'installation des drivers NVIDIA"
|
||||
return
|
||||
fi
|
||||
|
||||
# Vérifier si l'installation a réussi
|
||||
if dpkg -l | grep -q "^ii.*nvidia-open" && dpkg -l | grep -q "^ii.*cuda-toolkit"; then
|
||||
log_info "Installation drivers NVIDIA réussie"
|
||||
INSTALLED_APPS+=("Drivers NVIDIA")
|
||||
INSTALLATION_MESSAGES+=("Les drivers NVIDIA ont été installés avec succès (redémarrage requis)")
|
||||
else
|
||||
log_error "Drivers NVIDIA non trouvés après installation"
|
||||
show_error_logs "Drivers NVIDIA non trouvés après installation"
|
||||
fi
|
||||
}
|
||||
|
||||
# Fonction d'installation des GOverlay
|
||||
install_GOverlay() {
|
||||
@@ -1566,14 +1471,7 @@ install_GOverlay() {
|
||||
fi
|
||||
|
||||
(
|
||||
echo "15" ; echo "# Mise à jour des sources..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources" "mise à jour"; then
|
||||
echo "# Erreur lors de la mise à jour des sources"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "40" ; echo "# Installation de gamemode..."
|
||||
echo "25" ; echo "# Installation de gamemode..."
|
||||
echo "$password" | timeout $TIMEOUT_INSTALL sudo -S apt-get install -y gamemode >> "$LOG_FILE" 2>&1
|
||||
gamemode_success=$?
|
||||
|
||||
@@ -1727,11 +1625,11 @@ uninstall_steam_silent() {
|
||||
}
|
||||
|
||||
# Fonction de désinstallation ProtonUp-Qt
|
||||
uninstall_protonup() {
|
||||
uninstall_proton_plus() {
|
||||
log_info "Début de la désinstallation de ProtonUp-Qt"
|
||||
|
||||
# Vérifier si ProtonUp-Qt est installé
|
||||
if ! flatpak list | grep -q "net.davidotek.pupgui2"; then
|
||||
if ! flatpak list | grep -q "com.vysp3r.ProtonPlus"; then
|
||||
log_info "ProtonUp-Qt non installé"
|
||||
zenity 2>/dev/null --info --title="Non installé" --text="ProtonUp-Qt n'est pas installé sur le système."
|
||||
return
|
||||
@@ -1756,7 +1654,7 @@ uninstall_protonup() {
|
||||
|
||||
(
|
||||
echo "50" ; echo "# Désinstallation de ProtonUp-Qt..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y net.davidotek.pupgui2 >> "$LOG_FILE" 2>&1
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.vysp3r.ProtonPlus >> "$LOG_FILE" 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_error "Échec de la désinstallation de ProtonUp-Qt"
|
||||
echo "# Erreur lors de la désinstallation de ProtonUp-Qt"
|
||||
@@ -1778,7 +1676,7 @@ uninstall_protonup() {
|
||||
fi
|
||||
|
||||
# Vérifier si la désinstallation a réussi
|
||||
if ! flatpak list | grep -q "net.davidotek.pupgui2"; then
|
||||
if ! flatpak list | grep -q "com.vysp3r.ProtonPlus"; then
|
||||
log_info "Désinstallation ProtonUp-Qt réussie"
|
||||
zenity 2>/dev/null --info --title="Succès" --text="ProtonUp-Qt a été désinstallé avec succès !"
|
||||
else
|
||||
@@ -1787,25 +1685,25 @@ uninstall_protonup() {
|
||||
fi
|
||||
}
|
||||
|
||||
uninstall_protonup_silent() {
|
||||
uninstall_proton_plus_silent() {
|
||||
local password="$1"
|
||||
log_info "Début de la désinstallation de ProtonUp-Qt (mode silencieux)"
|
||||
|
||||
# Vérifier si ProtonUp-Qt est installé
|
||||
if ! flatpak list | grep -q "net.davidotek.pupgui2"; then
|
||||
if ! flatpak list | grep -q "com.vysp3r.ProtonPlus"; then
|
||||
log_info "ProtonUp-Qt non installé"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Désinstaller sans confirmation ni interface graphique
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y net.davidotek.pupgui2 >> "$LOG_FILE" 2>&1
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S flatpak uninstall -y com.vysp3r.ProtonPlus >> "$LOG_FILE" 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
log_error "Échec de la désinstallation de ProtonUp-Qt"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Vérifier si la désinstallation a réussi
|
||||
if ! flatpak list | grep -q "net.davidotek.pupgui2"; then
|
||||
if ! flatpak list | grep -q "com.vysp3r.ProtonPlus"; then
|
||||
log_info "ProtonUp-Qt désinstallé avec succès"
|
||||
return 0
|
||||
else
|
||||
@@ -2924,126 +2822,7 @@ uninstall_heroic_silent() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Fonction de désinstallation drivers NVIDIA
|
||||
uninstall_nvidia() {
|
||||
log_info "Début de la désinstallation des drivers NVIDIA"
|
||||
|
||||
# Vérifier si les drivers NVIDIA sont installés
|
||||
if ! dpkg -l | grep -q "^ii.*nvidia-open" && ! dpkg -l | grep -q "^ii.*cuda-toolkit"; then
|
||||
log_info "Drivers NVIDIA non installés"
|
||||
zenity 2>/dev/null --info --title="Non installés" --text="Les drivers NVIDIA ne sont pas installés sur le système."
|
||||
return
|
||||
fi
|
||||
|
||||
# Demander confirmation avec avertissement
|
||||
if ! zenity 2>/dev/null --question --title="Confirmation - ATTENTION" --text="ATTENTION: La désinstallation des drivers NVIDIA peut affecter votre affichage.\n\nÊtes-vous sûr de vouloir continuer ?"; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Demander le mot de passe sudo
|
||||
password=$(zenity 2>/dev/null --password --title="Authentification - Désinstallation NVIDIA" --text="Mot de passe sudo requis pour désinstaller les drivers NVIDIA:")
|
||||
|
||||
if [ $? -eq 1 ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
# Vérifier le mot de passe sudo
|
||||
if ! check_sudo_password "$password"; then
|
||||
return
|
||||
fi
|
||||
|
||||
(
|
||||
echo "20" ; echo "# Désinstallation de CUDA Toolkit..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get purge -y cuda-toolkit-12-9 >> "$LOG_FILE" 2>&1
|
||||
cuda_remove_result=$?
|
||||
|
||||
echo "50" ; echo "# Désinstallation des drivers NVIDIA..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get purge -y nvidia-open >> "$LOG_FILE" 2>&1
|
||||
nvidia_remove_result=$?
|
||||
|
||||
# Logger les résultats individuels
|
||||
check_apt_success $cuda_remove_result "cuda-toolkit-12-9" "désinstallation"
|
||||
check_apt_success $nvidia_remove_result "nvidia-open" "désinstallation"
|
||||
|
||||
# Vérifier si au moins une désinstallation a échoué
|
||||
if [ $cuda_remove_result -ne 0 ] || [ $nvidia_remove_result -ne 0 ]; then
|
||||
echo "# Erreur lors de la désinstallation des composants NVIDIA"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "80" ; echo "# Nettoyage des paquets orphelins..."
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get autoremove -y >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "paquets orphelins" "nettoyage"; then
|
||||
echo "# Avertissement: Erreur lors du nettoyage des paquets orphelins"
|
||||
fi
|
||||
|
||||
echo "100" ; echo "# Vérification de la désinstallation..."
|
||||
) | zenity 2>/dev/null --progress \
|
||||
--title="Désinstallation des drivers NVIDIA" \
|
||||
--text="Initialisation..." \
|
||||
--percentage=0 \
|
||||
--width=400 \
|
||||
--auto-close
|
||||
|
||||
# Vérifier le code de sortie du processus
|
||||
if [ ${PIPESTATUS[0]} -ne 0 ]; then
|
||||
show_error_logs "Échec de la désinstallation des drivers NVIDIA"
|
||||
return
|
||||
fi
|
||||
|
||||
# Vérifier si la désinstallation a réussi
|
||||
if ! dpkg -l | grep -q "^ii.*nvidia-open" && ! dpkg -l | grep -q "^ii.*cuda-toolkit"; then
|
||||
log_info "Désinstallation drivers NVIDIA réussie"
|
||||
zenity 2>/dev/null --info --title="Succès" --text="Les drivers NVIDIA ont été désinstallés avec succès !\nUn REDÉMARRAGE est recommandé."
|
||||
else
|
||||
log_error "Échec de la désinstallation des drivers NVIDIA"
|
||||
show_error_logs "Échec de la désinstallation des drivers NVIDIA"
|
||||
fi
|
||||
}
|
||||
|
||||
uninstall_nvidia_silent() {
|
||||
local password="$1"
|
||||
log_info "Début de la désinstallation des drivers NVIDIA (mode silencieux)"
|
||||
|
||||
# Vérifier si les drivers NVIDIA sont installés
|
||||
if ! dpkg -l | grep -q "^ii.*nvidia-open" && ! dpkg -l | grep -q "^ii.*cuda-toolkit"; then
|
||||
log_info "Drivers NVIDIA non installés"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Désinstaller CUDA Toolkit
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get purge -y cuda-toolkit-12-9 >> "$LOG_FILE" 2>&1
|
||||
cuda_remove_result=$?
|
||||
|
||||
# Désinstaller les drivers NVIDIA
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get purge -y nvidia-open >> "$LOG_FILE" 2>&1
|
||||
nvidia_remove_result=$?
|
||||
|
||||
# Logger les résultats individuels
|
||||
check_apt_success $cuda_remove_result "cuda-toolkit-12-9" "désinstallation"
|
||||
check_apt_success $nvidia_remove_result "nvidia-open" "désinstallation"
|
||||
|
||||
# Vérifier si au moins une désinstallation a échoué
|
||||
if [ $cuda_remove_result -ne 0 ] || [ $nvidia_remove_result -ne 0 ]; then
|
||||
log_error "Erreur lors de la désinstallation des composants NVIDIA"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Nettoyage des paquets orphelins
|
||||
echo "$password" | timeout $TIMEOUT_APT sudo -S apt-get autoremove -y >> "$LOG_FILE" 2>&1
|
||||
|
||||
# Vérifier si la désinstallation a réussi
|
||||
cuda_ok=$(dpkg -l | grep -q "^ii.*cuda-toolkit" && echo "non" || echo "oui")
|
||||
nvidia_ok=$(dpkg -l | grep -q "^ii.*nvidia-open" && echo "non" || echo "oui")
|
||||
|
||||
if [ "$cuda_ok" = "oui" ] && [ "$nvidia_ok" = "oui" ]; then
|
||||
log_info "Désinstallation des drivers NVIDIA réussie"
|
||||
return 0
|
||||
else
|
||||
log_info "Désinstallation partielle des drivers NVIDIA"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Fonction de désinstallation des GOverlay
|
||||
uninstall_GOverlay() {
|
||||
@@ -3228,27 +3007,20 @@ fi
|
||||
IFS='|' read -ra SELECTED <<< "$selection"
|
||||
|
||||
# Vérifier si le mode désinstallation est demandé via la checkbox
|
||||
uninstall_mode=false
|
||||
if [[ " ${SELECTED[*]} " =~ " ACTION_UNINSTALL " ]]; then
|
||||
uninstall_mode=true
|
||||
# Retirer ACTION_UNINSTALL de la liste
|
||||
SELECTED=("${SELECTED[@]/ACTION_UNINSTALL}")
|
||||
fi
|
||||
|
||||
# Déterminer le mode final
|
||||
if [ "$uninstall_mode" = "true" ] || [ $exit_code -eq 1 ]; then
|
||||
if [ $exit_code -eq 1 ]; then
|
||||
# Mode désinstallation (bouton extra)
|
||||
# Créer la liste des composants pour confirmation
|
||||
uninstall_display=""
|
||||
for component in "${SELECTED[@]}"; do
|
||||
# Ignorer les éléments qui ne sont pas des applications (boutons, etc.)
|
||||
case $component in
|
||||
"Désinstaller"|"Installer"|"ACTION_UNINSTALL"|"") continue ;;
|
||||
"Désinstaller"|"Installer"|"") continue ;;
|
||||
esac
|
||||
|
||||
case $component in
|
||||
"steam") uninstall_display="$uninstall_display\n• Steam" ;;
|
||||
"protonup") uninstall_display="$uninstall_display\n• ProtonUp-Qt" ;;
|
||||
"proton plus") uninstall_display="$uninstall_display\n• ProtonUp-Qt" ;;
|
||||
"heroic") uninstall_display="$uninstall_display\n• Heroic Game Launcher" ;;
|
||||
"lutris") uninstall_display="$uninstall_display\n• Lutris" ;;
|
||||
"bottles") uninstall_display="$uninstall_display\n• Bottles" ;;
|
||||
@@ -3261,7 +3033,6 @@ if [ "$uninstall_mode" = "true" ] || [ $exit_code -eq 1 ]; then
|
||||
"teamspeak") uninstall_display="$uninstall_display\n• TeamSpeak" ;;
|
||||
"mumble") uninstall_display="$uninstall_display\n• Mumble" ;;
|
||||
"flatseal") uninstall_display="$uninstall_display\n• Flatseal" ;;
|
||||
"nvidia") uninstall_display="$uninstall_display\n• Drivers NVIDIA (ATTENTION: peut affecter l'affichage)" ;;
|
||||
"GOverlay") uninstall_display="$uninstall_display\n• GOverlay (GameMode, MangoHUD, GOverlay)" ;;
|
||||
esac
|
||||
done
|
||||
@@ -3299,7 +3070,7 @@ if [ "$uninstall_mode" = "true" ] || [ $exit_code -eq 1 ]; then
|
||||
for component in "${SELECTED[@]}"; do
|
||||
# Ignorer les éléments qui ne sont pas des applications (boutons, etc.)
|
||||
case $component in
|
||||
"Désinstaller"|"Installer"|"ACTION_UNINSTALL"|"") continue ;;
|
||||
"Désinstaller"|"Installer"|"") continue ;;
|
||||
esac
|
||||
|
||||
log_info "Traitement du composant: $component"
|
||||
@@ -3311,8 +3082,8 @@ if [ "$uninstall_mode" = "true" ] || [ $exit_code -eq 1 ]; then
|
||||
failed_components="$failed_components\n• Steam"
|
||||
fi
|
||||
;;
|
||||
"protonup")
|
||||
if uninstall_with_progress "$component" "$password" "ProtonUp-Qt" "uninstall_protonup_silent"; then
|
||||
"proton plus")
|
||||
if uninstall_with_progress "$component" "$password" "ProtonUp-Qt" "uninstall_proton_plus_silent"; then
|
||||
((success_count++))
|
||||
else
|
||||
failed_components="$failed_components\n• ProtonUp-Qt"
|
||||
@@ -3402,13 +3173,6 @@ if [ "$uninstall_mode" = "true" ] || [ $exit_code -eq 1 ]; then
|
||||
failed_components="$failed_components\n• Flatseal"
|
||||
fi
|
||||
;;
|
||||
"nvidia")
|
||||
if uninstall_with_progress "$component" "$password" "Drivers NVIDIA" "uninstall_nvidia_silent"; then
|
||||
((success_count++))
|
||||
else
|
||||
failed_components="$failed_components\n• Drivers NVIDIA"
|
||||
fi
|
||||
;;
|
||||
"GOverlay")
|
||||
if uninstall_with_progress "$component" "$password" "GOverlay" "uninstall_GOverlay_silent"; then
|
||||
((success_count++))
|
||||
@@ -3462,12 +3226,12 @@ else
|
||||
for component in "${SELECTED[@]}"; do
|
||||
# Ignorer les éléments qui ne sont pas des applications (boutons, etc.)
|
||||
case $component in
|
||||
"Désinstaller"|"Installer"|"ACTION_UNINSTALL"|"") continue ;;
|
||||
"Désinstaller"|"Installer"|"") continue ;;
|
||||
esac
|
||||
|
||||
case $component in
|
||||
"steam") install_display="$install_display\n• Steam" ;;
|
||||
"protonup") install_display="$install_display\n• ProtonUp-Qt" ;;
|
||||
"proton plus") install_display="$install_display\n• ProtonUp-Qt" ;;
|
||||
"heroic") install_display="$install_display\n• Heroic Game Launcher" ;;
|
||||
"lutris") install_display="$install_display\n• Lutris" ;;
|
||||
"bottles") install_display="$install_display\n• Bottles" ;;
|
||||
@@ -3480,7 +3244,6 @@ else
|
||||
"teamspeak") install_display="$install_display\n• TeamSpeak" ;;
|
||||
"mumble") install_display="$install_display\n• Mumble" ;;
|
||||
"flatseal") install_display="$install_display\n• Flatseal" ;;
|
||||
"nvidia") install_display="$install_display\n• NVIDIA + CUDA" ;;
|
||||
"GOverlay") install_display="$install_display\n• Goverlay (FPS, CPU, GPU, température)" ;;
|
||||
esac
|
||||
done
|
||||
@@ -3495,6 +3258,14 @@ else
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Mise à jour globale des sources une seule fois pour éviter les délais
|
||||
log_info "Mise à jour globale des sources APT"
|
||||
echo "$GLOBAL_SUDO_PASSWORD" | timeout $TIMEOUT_APT sudo -S apt-get update >> "$LOG_FILE" 2>&1
|
||||
if ! check_apt_success $? "sources globales" "mise à jour"; then
|
||||
zenity 2>/dev/null --error --title="Erreur" --text="Échec de la mise à jour des sources APT.\nVérifiez votre connexion Internet."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Activer le mode installation groupée si plusieurs applications sont sélectionnées
|
||||
if [ ${#SELECTED[@]} -gt 1 ]; then
|
||||
start_batch_install ${#SELECTED[@]} "$install_display"
|
||||
@@ -3505,15 +3276,15 @@ else
|
||||
for component in "${SELECTED[@]}"; do
|
||||
# Ignorer les éléments qui ne sont pas des applications (boutons, etc.)
|
||||
case $component in
|
||||
"Désinstaller"|"Installer"|"ACTION_UNINSTALL"|"") continue ;;
|
||||
"Désinstaller"|"Installer"|"") continue ;;
|
||||
esac
|
||||
|
||||
case $component in
|
||||
"steam")
|
||||
install_steam
|
||||
;;
|
||||
"protonup")
|
||||
install_protonup
|
||||
"proton plus")
|
||||
install_proton_plus
|
||||
;;
|
||||
"heroic")
|
||||
install_heroic
|
||||
@@ -3551,9 +3322,6 @@ else
|
||||
"flatseal")
|
||||
install_flatseal
|
||||
;;
|
||||
"nvidia")
|
||||
install_nvidia
|
||||
;;
|
||||
"GOverlay")
|
||||
install_GOverlay
|
||||
;;
|
||||
@@ -3563,7 +3331,7 @@ else
|
||||
if [ "$BATCH_INSTALL_MODE" = "true" ]; then
|
||||
case $component in
|
||||
"steam") next_batch_app "Steam" ;;
|
||||
"protonup") next_batch_app "ProtonUp-Qt" ;;
|
||||
"proton plus") next_batch_app "ProtonUp-Qt" ;;
|
||||
"heroic") next_batch_app "Heroic Game Launcher" ;;
|
||||
"lutris") next_batch_app "Lutris" ;;
|
||||
"bottles") next_batch_app "Bottles" ;;
|
||||
@@ -3576,7 +3344,6 @@ else
|
||||
"teamspeak") next_batch_app "TeamSpeak" ;;
|
||||
"mumble") next_batch_app "Mumble" ;;
|
||||
"flatseal") next_batch_app "Flatseal" ;;
|
||||
"nvidia") next_batch_app "NVIDIA + CUDA" ;;
|
||||
"GOverlay") next_batch_app "Goverlay (performances)" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user