Ceci est une ancienne révision du document !


Les informations ci-dessous permettent de personnaliser, d'améliorer et de corriger les installations de PC sous Linux. Certaines manipulations touchent des fichiers systèmes, merci de faire attention lors de l'exécution des commandes indiquées et de la manipulation des fichiers. Vérifiez bien si il faut adapter les commandes à votre cas particulier !

DANS TOUS LES CAS “UYFB” > “USE YOUR FUCKING BRAIN”

https://doc.ubuntu-fr.org/personnaliser_livecd https://community.linuxmint.com/tutorial/view/1784 https://lehollandaisvolant.net/linux/checklist/ https://lehollandaisvolant.net/linux/checklist/

Installer les prerequis :

sudo aptitude install squashfs-tools genisoimage

Préparer les dossiers de travail :

ISO=linuxmint-21-cinnamon-64bit.iso
mkdir mylivecd
cp ${ISO} mylivecd/
cd mylivecd
mkdir mnt
sudo mount -o ro,loop ${ISO}  mnt/
sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extracted
sudo unsquashfs mnt/casper/filesystem.squashfs
sudo mv squashfs-root edit

Préparer la connexion internet

sudo cp /etc/resolv.conf edit/etc/
sudo cp /etc/hosts edit/etc/

Préparer l'environnement chroot

sudo mount --bind /dev/ edit/dev
sudo chroot edit
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
export HOME=/root
export LC_ALL=C

Mettre des sources FR de ubuntu.

Modifier /etc/apt/sources.list.d/official-package-repositories.list. “fr.archive”

deb http://fr.archive.ubuntu.com/ubuntu XXXX main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu XXXX main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu XXXX main restricted universe multiverse

mettre à jour la cache

apt-get update

Customiser l'environnement

apt-get install console-data
  • Écran d’info “Configuring console-data” : Ok
  • Policy for handling keymaps : Select keymap from arch list
  • Keyboard layout family : azerty
  • Keyboard layout : French
  • Keyboard variant : With euro (latin 9)

En cas d’erreur, une fois de paquet installé on peut le reconfigurer avec

 dpkg-reconfigure console-data

Modifier le fichier de locale :

/etc/default/locale

LANG=fr_FR.UTF-8
LANGUAGE=fr_FR:fr
LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
LC_MONETARY=fr_FR.UTF-8
LC_PAPER=fr_FR.UTF-8
LC_IDENTIFICATION=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8
LC_ADDRESS=fr_FR.UTF-8
LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8

franciser l'installeur directement, lancer

PATH=$PATH:/usr/lib/ubiquity/localechooser
/usr/lib/ubiquity/localechooser/localechooser-debconf

choisir successivement les options :

  • Français
  • Europe
  • France

Laisser /etc/skel/.config/user-dirs.dirs tel quel Franciser les dossiers à ce monent fait merder le bureau en live

XDG_DESKTOP_DIR="$HOME/Bureau"
XDG_DOWNLOAD_DIR="$HOME/Téléchargements"
XDG_TEMPLATES_DIR="$HOME/Modèles"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR_="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Musique"
XDG_PICTURES_DIR="$HOME/Images"
XDG_VIDEOS_DIR="$HOME/Vidéos"

upgrader firefox thunderbird et installer paquet de langue correspondant (sinon paquet de langue en avance et non pris en compte)

Applications au démarrage de session

configurer les applications à ne pas lancer/lancer au démarrage (mintupload, mintwelcome, orca (lecteur d'écran), vino) puis copier le contenu du dossier ~/.config/autostart dans /etc/.config/autostart

Suppr

paquets de langue inutiles (~250 Mo gagnés)

aptitude purge libreoffice-help-de libreoffice-help-es libreoffice-help-it libreoffice-help-pt libreoffice-help-pt-br libreoffice-help-ru libreoffice-help-zh-cn libreoffice-help-zh-tw libreoffice-l10n-de libreoffice-l10n-en-za libreoffice-l10n-es libreoffice-l10n-it libreoffice-l10n-pt libreoffice-l10n-pt-br libreoffice-l10n-ru libreoffice-l10n-zh-cn libreoffice-l10n-zh-tw
aptitude purge mythes-ru mythes-pt-pt mythes-it mythes-en-us mythes-en-au mythes-de-ch mythes-de
  • hexchat hexchat-common : messagerie instantanée
  • espeak espeak-data libsonic0 libspeechd2 python3-speechd speech-dispatcher speech-dispatcher-audio-plugins orca libespeak-ng1 speech-dispatcher-espeak-ng : synthèse vocale (en général inutile et parfois activée par mégarde par les adhérents)
  • timeshift : sauvegarde
  • brltty : braille TTY
  • onboard : clavier virtuel
  • warpinator : inutile pour les adhérents
  • bluez-cups :le support des imprimantes en bluetooth
  • boot-repair
  • gnome-calendar
  • flatpak (pour éviter potentiel remplissage de disque, si besoin le remettre !)
  • kolourpaint (lancer qt5ct et sélectionner un set d'icone ou ~/.config/qt5ct/qt5ct.con icont-theme=breeze
  • evolution-data-server evolution-data-server-common → ça supprime tout gestionnaire de bureau (facepalm)

(~66 Mo libérés)

apt purge hexchat hexchat-common libsonic0 libspeechd2 python3-speechd speech-dispatcher speech-dispatcher-audio-plugins orca libespeak-ng1 speech-dispatcher-espeak-ng timeshift onboard warpinator bluez-cups  boot-repair gnome-calendar flatpak

Paquets ayant posé problème par le passé et déjà retirés sur le live proposé

  • ippusbxd : paquet posant problème pour nos adhérents
  • libespeak
  • evolution
  • gnome-orca

Paquets de thèmes (108 Mb archive)

  • papirus-icon-theme
  • yaru-theme-icon
  • mint-themes-legacy
  • mint-y-icons-legacy
  • gnome-accessibility-themes
  • numix-icon-theme
  • numix-icon-theme-circle

Dossiers Inutilisés

 rmdir ~/Public ~/Warpinator ~/Models

Installer

Paquets de francisation

sudo aptitude install language-pack-fr  language-pack-fr-base language-pack-gnome-fr language-pack-gnome-fr-base  language-pack-kde-fr 
sudo aptitude install firefox-locale-fr thunderbird-locale-fr vlc-l10n

Paquets de langue

  • ttf-mscorefonts-installer : polices microsoft pour la compatibilité
  • fonts-crosextra-caladea fonts-crosextra-carlito :
  • ttf-ancient-fonts : polices emoji
  • ttf-dejavu fonts-dejavu-extra fonts-liberation2

Valider eula pour ttf-mscorefont avant install

echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
preseed --owner ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula boolean true
aptitude install ttf-mscorefonts-installer fonts-crosextra-caladea fonts-crosextra-carlito ttf-ancient-fonts  fonts-dejavu fonts-dejavu-extra fonts-liberation2

Maintenance

  • gparted
  • vim
  • terminator
  • htop
  • smart-notifier
  • gsmartcontrol
  • stressapptest
  • ncdu
 aptitude install gparted vim terminator htop smart-notifier gsmartcontrol stressapptest ncdu 

Audio Vidéo

  • vlc
aptitude install vlc vlc-l10n

Jeux

  • tanglet
  • aisleriot
  • gnome-mines
  • gnome-mahjongg
sudo aptitude install tanglet qt6-qpa-plugins aisleriot gnome-mines gnome-mahjongg

Utilitaires

  archive : p7zip-full p7zip-rar rar
  drivers imprimantes : printer-driver-escpr printer-driver-all
  hplip (mise à jour + récente)
aptitude install p7zip-full p7zip-rar rar printer-driver-escpr printer-driver-all hplip

ALL IN ONE SUPPR + INSTALL

Environ 300Mb suppr + 240 ajoutés

     sudo aptitude purge libreoffice-help-de libreoffice-help-es libreoffice-help-it libreoffice-help-pt libreoffice-help-pt-br libreoffice-help-ru libreoffice-help-zh-cn libreoffice-help-zh-tw libreoffice-l10n-de libreoffice-l10n-en-za libreoffice-l10n-es libreoffice-l10n-it libreoffice-l10n-pt libreoffice-l10n-pt-br libreoffice-l10n-ru libreoffice-l10n-zh-cn libreoffice-l10n-zh-tw hexchat hexchat-common libsonic0 libspeechd2 python3-speechd speech-dispatcher speech-dispatcher-audio-plugins orca libespeak-ng1 speech-dispatcher-espeak-ng timeshift onboard warpinator bluez-cups  boot-repair gnome-calendar -y
     sudo aptitude install language-pack-fr  language-pack-fr-base language-pack-gnome-fr language-pack-gnome-fr-base  language-pack-kde-fr firefox-locale-fr thunderbird-locale-fr
     sudo aptitude install ttf-mscorefonts-installer fonts-crosextra-caladea fonts-crosextra-carlito ttf-ancient-fonts  fonts-dejavu fonts-dejavu-extra fonts-liberation2 gparted vim terminator htop smart-notifier gsmartcontrol stressapptest ncdu vlc vlc-l10n tanglet qt6-qpa-plugins aisleriot gnome-mines gnome-mahjongg p7zip-full p7zip-rar rar  printer-driver-escpr printer-driver-all hplip -y     

Configurations

configuration .bashrc :

  • /etc/bash.bashrc
  • /etc/skel/.bashrc
  • /etc/guest-session/skel/.bashrc
#
#  Pour repasser facilement en azerty sur clavier azerty
# 
alias bépo="setxkbmap fr"
alias azer="setxkbmap fr bepo_afnor"
# 
#  Pour minimiser les bourdes
# 
alias rm="rm -i"
# 
#  Universal tarball extractor
# 
extr () {
    if [ -f $1 ] ; then
        case $1 in
            *.tar.bz2)   tar xjf $1     ;;
            *.tar.gz)    tar xzf $1     ;;
            *.bz2)       bunzip2 $1     ;;
            *.rar)       rar x   $1     ;;
            *.gz)        gunzip  $1     ;;
            *.tar)       tar xf  $1     ;;
            *.tbz2)      tar xjf $1     ;;
            *.tgz)       tar xzf $1     ;;
            *.zip)       unzip   $1     ;;
            *.Z)         uncompress $1  ;;
            *.7z)        7z x    $1     ;;
            *)           echo "'$1' ne peut etre extrait par extr()" ;;
        esac
    else
        echo "'$1' non pris en charge ou invalide"
   fi
}

Nemo Désactiver la suppression directe dans caja

Juste pour la session déjà créée

gsettings set org.nemo.preferences enable-delete false

(certainement sans .preferences ?)

/usr/share/glib-2.0/schemas/org.nemo.gschema.xml
  • enable-delete : false
  • selection-menu-copy-to : true

MintUpdate

/usr/share/glib-2.0/schemas/com.linuxmint.updates.gschema.xml

Diminuer fréquence raffraichissement mises à jours (passer de 2 à 10 heures)/ autorefresh-hours : 10 auto-update-flatpaks : true auto-update-cinnamon-spices : true

Cacher mintupdate après maj

<code>gsettings set com.linuxmint.updates hide-window-after update true</code>

Ne montrer l'icône qu'en cas de maj ou d'erreurs (garder false, sinon “trou” dans la barre des tâches) <code>gsettings set com.linuxmint.updates hide-systray false</code>

Ne pas poser la question des dépôts locaux

gsettings set com.linuxmint.updates default-repo-is-ok true

/usr/share/glib-2.0/schemas/com.linuxmint.updates.gschema.xml

Activer la mise à jour automatique (journalière par défaut)

mintupdate-automation upgrade enable

Activer nettoyage des vieux noyaux

mintupdate-automation autoremove enable

Fonds d'écrans

Garder une unique image de fond d'écran sympathique, la mettre dans le dossier /usr/share/backgrounds/linuxmint sous le nom linuxmint.jpg faire pointer default_backgrounds.jpg vers linuxmint.jpg

gsettings set org.mate.background picture-filename /usr/share/backgrounds/linuxmint-vanessa/eskof_bubble.jpg

ou modifier /usr/share/backgrounds/linuxmint/linuxmint.jpg Enlever des fonds d’écran garder eskof_bubble.jpg et sele_ring.jpg

Prise en compte des changement gsettings

glib-compile-schemas /usr/share/glib-2.0/schemas

Favoris

/usr/lib/linuxmint/mintMenu/applications.list pour modifier les favoris par défaut (mate)

/usr/share/cinnamon/applets/menu@cinnamon.org/settings-override.json menu-label > value : “Menu” (attention à la virgule !)

Favoris dans l'applet groupé

/usr/share/cinnamon/applets/grouped-window-list@cinnamon.org/settings-schema.json virer org.gnome.Terminal.desktop et mettre libreoffice-writer.desktop

/usr/share/cinnamon/applets/panel-launchers@cinnamon.org/settings-schema.json virer org.gnome.Terminal.desktop et mettre libreoffice-writer.desktop

Désactiver le verrouillage écran en cas de veille

* org.cinnamon.desktop.screensaver.gschema.xml : lock-enabled = false * org.gnome.desktop.screensaver.gschema.xml : lock-enable : false

dconf write /org/mate/screensaver/idle-activation-enabled false
dconf write /org/mate/screensaver/lock-enabled false

/etc/linuxmint/info

/etc/skel

  1. mettre les xpi des extensions firefox
    1. bloqueur de publicité
    2. bloqueur de publicité youtube
    3. don’t care about cookies
  1. grammalecte

Sortir du Chroot

aptitude clean
cd /
rm -r /var/cache/apt/archives/*
rm -rf /etc/resolv.conf
rm -rf /etc/hosts
#ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf
cd /etc
ln -sf ../run/systemd/resolve/stub-resolv.conf
cd /
rm -rf /root
mkdir /root
rm -r /mydir
rm -rf /tmp/* ~/.bash_history
rm /var/lib/dbus/machine-id
rm /sbin/initctl
dpkg-divert --rename --remove /sbin/initctl

umount /proc || umount -lf /proc                   
umount /sys
umount /dev/pts
exit                                                                                        
sudo umount edit/dev                                  
xhost -

Accessibilité

  • Taille de la souris (souris & touchpad
    • taille & vitesse
    • temps double clic
  • Affichage (s’assurer des mouvement souris !)
    • Proportion affichage (forcer le menu à changer de hauteur > paramètre menu > cocher & décocher hauteur définie ou délog/log)
  • Taille des assenceurs
    • Themes > Paramètres > Définir une largeur de barre de défilement
  • Accessibilité (Paramètres > Accessibilité)
    • > Visualisation
      • Grand Texte (ou selection polices + facteur d’échelle)
      • Activer le zoom (voir avec l’adhérent·e)
  • Theme
    • (optionnel) Windows 10 + changer les boutons (notamment pour les boutons des fenêtres)
  • Supprimer/Cacher
    • Menu Cacher les entrées “Inutiles”
    • Dossiers “Public”, “Modèles”
  • Bureau Mettre les Icônes les plus utilisés

AUTOMATISATION SCRIPT

upgrade_mint.sh
#!/bin/bash
 
function yes_or_no {
    while true; do
        read -p "$* [y/n]: " yn
        case $yn in
            [Yy]*) return 0  ;;  
            [Nn]*) echo "Aborted" ; return  1 ;;
        esac
    done
}
 
 
 
echo "[ Pavé Numérique ] Le PC possède t’il un pavé numérique ?"
echo "pavé numérique ?"
install_numlockx=""
yes_or_no
 
if [ $? -eq 0 ]
then
     install_numlockx=numlockx
fi
 
echo "[ Accessibilité ] Supprimer les options d'accessibilité ?"
echo " notamment pour éviter l'activation non souhaitée de la lecture d'écran et clavier virtuel"
echo ""
suppr_accessibility=y
yes_or_no
 
if [ $? -eq 1 ]
then
     suppr_accessibility=n
fi
 
echo "[ Flatpak ] Supprimer le support flatpak ?"
echo " Pour un utilisateur lambda supprime les paquets flatpak & gir1.2-flatpak-1.0"
echo ""
suppr_flatpak=y
yes_or_no
 
if [ $? -eq 1 ]
then
     suppr_flatpak=n
fi
 
#
# TODO désactivation lock screen
# org.cinnamon.desktop.screensaver lock-enabled true
# org.cinnamon.settings-daemon.plugins.power lock-on-suspend false
 
echo "[ Verrouillage veille ] Désactiver le verrouillage de l’écran ?"
disablelock=""
yes_or_no
 
if [ $? -eq 0 ]
then
    gsettings set org.cinnamon.desktop.screensaver lock-enabled false
    gsettings set org.cinnamon.settings-daemon.plugins.power lock-on-suspend false
fi
 
 
# echo " Ajout des raccourcis clavier pour le passage AZERTY <-> BÉPO - QWERTY -> BÉPO"
if [ ! $( grep -q "alias azer" ~/.bashrc ) ]
then
    if [ $XDG_SESSION_DESKTOP == cinnamon ]
    then
        echo 'alias azer="setxkbmap fr bepo_afnor"' >> ~/.bashrc
    else
        echo 'alias azer="setxkbmap fr bepo"' >> ~/.bashrc
    fi
fi
 
if [ ! $( grep -q "alias bépo" ~/.bashrc ) ]
then
         echo 'alias bépo="setxkbmap fr"' >> ~/.bashrc
fi
 
if [ ! $( grep -q "alias qwer" ~/.bashrc ) ]
then
         echo 'alias qwer="setxkbmap fr"' >> ~/.bashrc
fi
 
echo "[ Dossiers ] suppression des dossiers utilisateurs Public Warpinator Modèles"
rmdir ~/Public ~/Warpinator ~/Modèles ~/Templates
 
echo "[ Nemo ] Désactivation suppression directe"
gsettings set org.nemo.preferences enable-delete false
 
echo "[ Nemo ] Agrandissement barre des raccourcis de côté"
gsettings set org.nemo.window-state sidebar-width 220
 
echo "[ Nemo ] Desactivation options formatage, montage, creation cre usb"
gsettings set org.nemo.plugins disabled-actions "['mintstick-format.nemo_action', 'mintstick.nemo_action', 'mount-archive.nemo_action']"
 
echo "[ Cinnamon ] changement fond d'écran"
gsettings set org.cinnamon.desktop.background picture-uri 'file:///usr/share/backgrounds/linuxmint-vanessa/eskof_bubble.jpg'
 
echo "[ Cinnamon ] desactivation effets"
gsettings set org.cinnamon desktop-effects-workspace false
 
echo "[ Parametres ]" 
gsettings set com.linuxmint.updates default-repo-is-ok true
 
echo "[ Menu ][ Favoris ]"
gsettings set org.cinnamon favorite-apps "['firefox.desktop', 'libreoffice-startcenter.desktop', 'mintinstall.desktop', 'cinnamon-settings.desktop', 'nemo.desktop']"
 
echo "[ Menu ][ Affichage texte 'Menu']"
value_menu_label="Menu "
menu_cinnamon_json=~/.config/cinnamon/spices/menu@cinnamon.org/0.json
if [ -f $menu_cinnamon_json ]
then
     line=`cat $menu_cinnamon_json  | grep '"menu-label":' -A 10 -n | grep value | head -n 1 | sed -e 's/-.*//'`
     sed -ie "${line}s/value\":.*/value\": \"${value_menu_label}\"/" $menu_cinnamon_json
fi     
 
echo "[ Bureau ] Ajout raccourcis firefox & libreoffice"
if [ -d ~/Bureau ]
then
    cp /usr/share/applications/firefox.desktop ~/Bureau/firefox.desktop && chmod +x ~/Bureau/firefox.desktop
    cp /usr/share/applications/libreoffice-writer.desktop ~/Bureau/libreoffice-writer.desktop && chmod +x ~/Bureau/libreoffice-writer.desktop   
fi 
 
 
 
 
#
# redshift
#
rm_redshift_gtk_on_cinnamon_applet=""
 if [ $XDG_SESSION_DESKTOP == cinnamon ]
then
     list_enabled_applets=$(gsettings get org.cinnamon enabled-applets)
     next_applet_id=$(echo $(echo $list_enabled_applets | grep -o "\:[0-9][0-9]*']$" | grep -o [0-9][0-9]*) + 1 | bc)
     if [ -d ~/.config/cinnamon/spices ]
     then
         wget https://cinnamon-spices.linuxmint.com/files/applets/qredshift@quintao.zip
         unzip qredshift@quintao.zip -d ~/.local/share/cinnamon/applets
         rm qredshift@quintao.zip
      fi
      if [ -d ~/.local/share/cinnamon/applets/qredshift@quintao ]
      then
          # force localisation
          mkdir -p ~/.local/share/locale/fr/LC_MESSAGES/
          msgfmt -o ~/.local/share/locale/fr/LC_MESSAGES/qredshift@quintao.mo ~/.local/share/cinnamon/applets/qredshift@quintao/po/fr.po
          if  $(echo $list_enabled_applets | grep --invert-match --quiet qredshift@quintao) 
          then
               list_enabled_applets_upgrade=$(echo $list_enabled_applets | sed -e "s/]$/, 'panel1:right:0:qredshift@quintao:${next_applet_id}']/")
               gsettings set  org.cinnamon enabled-applets "$list_enabled_applets_upgrade"
               rm_redshift_gtk_on_cinnamon_applet="redshift-gtk "
               sleep 1
               qredshift_quintao_json=~/.config/cinnamon/spices/qredshift@quintao/qredshift@quintao.json
               #
               # reglage uniquement icone dans la barre des taches (iconLabel)
               #
               line=$(cat $qredshift_quintao_json | grep '"iconLabel":' -A 10 -n | grep value |  head -n 1 | sed -e 's/-.*//')
               if [ ! -z ${line} ] ; then               
                    sed -ie "${line}s/value\":.*/value\": false/" $qredshift_quintao_json
               fi    
               #
               # activation la nuit (enabledNight)
               #
               line=$(cat $qredshift_quintao_json | grep '"enabledNight":' -A 10 -n | grep value |  head -n 1 | sed -e 's/-.*//')
               if [ ! -z ${line} ] ; then
                   sed -ie "${line}s/value\":.*/value\": true/" $qredshift_quintao_json
               fi
         fi
      fi
fi
 
#
# Applications au démarrage
#
echo "[ Démarrage ] désactivation mintwelcome"
cp /etc/xdg/autostart/mintwelcome.desktop ~/.config/autostart && echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/mintwelcome.desktop
 
if [ $install_numlockx == "numlockx" ]
then
echo "[ Démarrage ] activation pavé numérique au démarrage"
sudo echo -e "[Greeter]\nactivate-numlock=true" > slick-greeter.conf
sudo mv slick-greeter.conf  /etc/lightdm/slick-greeter.conf
fi
 
#
# Personnalisation interface drawing (dessin)
#
echo "[ Drawing ] interface défaut bouton - grosses icônes - informations des outils"
gsettings set com.github.maoschanz.drawing deco-type 'tc'
gsettings set com.github.maoschanz.drawing big-icons true
gsettings set com.github.maoschanz.drawing show-labels true
 
 
#
# Desactivation du PAD sur PC fixe
#
echo "[ PAD ] Désactivation du pad sur PC fixe"
if `inxi -M | grep "Type:.*System" | grep -q Desktop`
then
     gsettings set org.cinnamon.desktop.peripherals.touchpad send-events disabled
     gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled
fi
#
# dpkg clean service
#
    wget "https://wiki.desclicks.net/doku.php?do=export_code&id=linux:cybersalle&codeblock=13" -O desclicks-dpkg-clean.sh
    wget "https://wiki.desclicks.net/doku.php?do=export_code&id=linux:cybersalle&codeblock=16" -O desclicks-update-automation-cleanup-dpkg.service
    if [ -f desclicks-dpkg-clean.sh ] && [ -f  desclicks-update-automation-cleanup-dpkg.service ]
    then            
         if [ "$(md5sum desclicks-dpkg-clean.sh | cut -d " " -f 1)" == "500df1c30c097404ff30a4d240d3d018" ] && [ "$(md5sum desclicks-update-automation-cleanup-dpkg.service | cut -d " " -f 1)" == "f18e38418af1254a71883796b7e52f4d" ]  
         then 
             echo "[ dpkg clean ] mise en place du script de nettoyage de dpkg en cas d’intérution de mise à jour"
             sudo cp desclicks-dpkg-clean.sh /usr/local/bin
             sudo chmod +x  /usr/local/bin/desclicks-dpkg-clean.sh 
             sudo cp desclicks-update-automation-cleanup-dpkg.service /etc/systemd/system
             sudo chmod +x  /etc/systemd/system/desclicks-update-automation-cleanup-dpkg.service
             sudo systemctl enable desclicks-update-automation-cleanup-dpkg.service
         else
              echo "[ ERROR ] lors du téléchargement de desclicks-dpkg-clean.sh et/ou desclicks-update-automation-cleanup-dpkg.service"
         fi
    else 
       echo "[ ERROR ] lors du téléchargement de desclicks-dpkg-clean.sh et/ou  desclicks-update-automation-cleanup-dpkg.service"
    fi
 
 
 
#
# modification sources
#
echo "[ Sources Logiciels ]"
echo "    changement du dépot linuxmint officiel par le dépot de l'université de Reims"
echo "    changement pour la localisation fr pour la base ubuntu"
sudo sed -e 's&deb http://packages.linuxmint.com virginia main upstream import backport&deb https://mirrors.univ-reims.fr/mint virginia main upstream import backport&' -i /etc/apt/sources.list.d/official-package-repositories.list
sudo sed -e 's&http://archive.ubuntu.com/ubuntu&http://fr.archive.ubuntu.com/ubuntu&' -i /etc/apt/sources.list.d/official-package-repositories.list
 
#
# update source list 
#
echo "[  Update source list ]"
 
 
#
# Suppression de paquets peu ou pas utilisés
#
echo "[ Suppressions ] suppression logiciels / localisations / accessibilité non utilisée" 
 
list=""
list=" libreoffice-help-de libreoffice-help-es libreoffice-help-it libreoffice-help-pt libreoffice-help-pt-br libreoffice-help-ru libreoffice-help-zh-cn libreoffice-help-zh-tw libreoffice-l10n-de libreoffice-l10n-en-za libreoffice-l10n-es libreoffice-l10n-it libreoffice-l10n-pt libreoffice-l10n-pt-br libreoffice-l10n-ru libreoffice-l10n-zh-cn libreoffice-l10n-zh-tw hexchat hexchat-common  timeshift onboard warpinator bluez-cups  boot-repair gnome-calendar"
list="$list $rm_redshift_gtk_on_cinnamon_applet"
 
if [ $suppr_accessibility == "y" ]
then
    list="$list libsonic0 libspeechd2 python3-speechd speech-dispatcher speech-dispatcher-audio-plugins orca libespeak-ng1 speech-dispatcher-espeak-ng"
fi    
 
if [ $suppr_flatpak == "y" ]
then
    list="$list flatpak gir1.2-flatpak-1.0"
fi
 
#prefixer tous les paquets à supprimer par "-"
#list_suppr=$(echo $list | sed 's/  */ -/g')
list_suppr=$list
 
sudo aptitude purge -y $list_suppr
 
#
# force mise à jour 2x (upgrade mintupgrade + upgrade)
#
echo "[ Mise à jour X2 ]"
sudo mintupdate-cli -r update 
sudo mintupdate-cli -r upgrade -y
sudo mintupdate-cli -r update 
sudo mintupdate-cli -r upgrade -y
#
#
#
list_lang_fr="language-pack-fr language-pack-fr-base language-pack-gnome-fr language-pack-gnome-fr-base  language-pack-kde-fr firefox-locale-fr thunderbird-locale-fr"
 
list_police="ttf-mscorefonts-installer fonts-crosextra-caladea fonts-crosextra-carlito ttf-ancient-fonts  fonts-dejavu fonts-dejavu-extra fonts-liberation2"
list_maintenance="gparted vim terminator htop smart-notifier gsmartcontrol stressapptest ncdu"
list_jeux="tanglet qt6-qpa-plugins aisleriot gnome-mines gnome-mahjongg"
list_multimedia="vlc vlc-l10n mint-meta-codecs"
list_utilitaires="pdfarranger p7zip-full p7zip-rar rar printer-driver-escpr printer-driver-all hplip "
 
echo "[ Paquets de langue ] "
echo $list_lang_fr
 
echo "[ Polices d'écritures ]"
echo $list_police
 
echo "[ Maintenance ]"
echo $list_maintenance 
 
echo "[ Jeux ]"
echo $list_jeux
 
echo "[ Utilitaires ]"
echo $list_utilitaires
 
list_install="$install_numlockx $list_lang_fr $list_police $list_maintenance $list_jeux $list_multimedia $list_utilitaires"
 
 
 
 
 
#
# Installation autres paquets
#
echo "[ Installations ]"
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
sudo aptitude install -y $list_install  
 
#
# Gestion des mises à jour
#
echo "[ mintupdate ] Activation automatisation maj"
sudo mintupdate-automation upgrade enable
 
echo "[ mintupdate ] Activation nettoyage vieux noyaux"
sudo mintupdate-automation autoremove enable
 
echo "[ mintupdate ] Désactivation mise à jour automatique des Flatpaks (éviter remplissage du disque dur)"
gsettings set com.linuxmint.updates auto-update-flatpaks false
 
echo "[ mintupdate ] Augmentation du temps rafraîchissement de la cache à 5h (2h par défaut)"
gsettings set com.linuxmint.updates autorefresh-hours 5
 
#
# Configuration firefox
#
sudo mkdir -p /etc/firefox/policies
if [ ! -f policies.json ]
    then
    wget "https://wiki.desclicks.net/doku.php?do=export_code&id=linux:custom_firefox:user&codeblock=0" -O policies.json
    if [ "$(md5sum policies.json | cut -d " " -f 1)" == "e2dc3de9bba91f2ce8e5a9eaa62edc64" ] 
    then
        sudo cp policies.json /etc/firefox/policies
    else
          echo "[ ERROR ] lors du téléchargement de policies.json"
    fi
else
    echo "[ WARNING ] fichier policies.json present dans téléchargement. Copiez-le manuellement dans /etc/firefox/policies"
fi
 
 
 
 
 
#
# Configutaion grammalecte
#
wget https://wiki.desclicks.net/lib/exe/fetch.php?media=linux:grammalecte-fr-v2.1.2.zip -O Grammalecte-fr-v2.1.2.oxt
if [ -f Grammalecte-fr-v2.1.2.oxt ]
then
    #sudo unopkg add --shared Grammalecte-fr-v2.1.2.oxt
    unopkg add Grammalecte-fr-v2.1.2.oxt
fi
 
#
# Lancement recherche de pilotes
#
echo "[ Drivers ] vérification de pilotes additionnels avec driver-manager"
sudo driver-manager
 
 
echo "[ Nettoyage ] Supprimer les fichiers temporaires téléchargés lors de l'installation ?"
echo ""
clean_files_at_end=y
yes_or_no
 
if [ $? -eq 0 ]
then
    rm -rf Grammalecte-fr-v2.1.2.oxt 
    rm -rf desclicks-dpkg-clean.sh
    rm -rf desclicks-update-automation-cleanup-dpkg.service
    rm -rf policies.json
    rm upgrade_mint.sh
fi
upgrade_mint_old.sh
#!/bin/bash
 
function yes_or_no {
    while true; do
        read -p "$* [y/n]: " yn
        case $yn in
            [Yy]*) return 0  ;;  
            [Nn]*) echo "Aborted" ; return  1 ;;
        esac
    done
}
 
 
 
echo "[ Pavé Numérique ] Le PC possède t’il un pavé numérique ?"
echo "pavé numérique ?"
install_numlockx=""
yes_or_no
 
if [ $? -eq 0 ]
then
     install_numlockx=numlockx
fi
 
echo "[ Accessibilité ] Supprimer les options d'accessibilité ?"
echo " notamment pour éviter l'activation non souhaitée de la lecture d'écran et clavier virtuel"
echo ""
suppr_accessibility=y
yes_or_no
 
if [ $? -eq 1 ]
then
     suppr_accessibility=n
fi
 
echo "[ Flatpak ] Supprimer le support flatpak ?"
echo " Pour un utilisateur lambda supprime les paquets flatpak & girl1.2-flatpak.1.0"
echo ""
suppr_flatpak=y
yes_or_no
 
if [ $? -eq 1 ]
then
     suppr_flatpak=n
fi
 
 
# echo " Ajout des raccourcis clavier pour le passage AZERTY <-> BÉPO - QWERTY -> BÉPO"
if [ ! $( grep -q "alias azer" ~/.bashrc ) ]
then
    if [ $XDG_SESSION_DESKTOP == cinnamon ]
    then
        echo 'alias azer="setxkbmap fr bepo_afnor"' >> ~/.bashrc
    else
        echo 'alias azer="setxkbmap fr bepo"' >> ~/.bashrc
    fi
fi
 
if [ ! $( grep -q "alias bépo" ~/.bashrc ) ]
then
         echo 'alias bépo="setxkbmap fr"' >> ~/.bashrc
fi
 
if [ ! $( grep -q "alias qwer" ~/.bashrc ) ]
then
         echo 'alias qwer="setxkbmap fr"' >> ~/.bashrc
fi
 
echo "[ Dossiers ] suppression des dossiers utilisateurs Public Warpinator Modèles"
rmdir ~/Public ~/Warpinator ~/Modèles ~/Templates
 
echo "[ Nemo ] Désactivation suppression directe"
gsettings set org.nemo.preferences enable-delete false
 
echo "[ Nemo ] Agrandissement barre des raccourcis de côté"
gsettings set org.nemo.window-state sidebar-width 220
 
echo "[ Cinnamon ] changement fond d'écran"
gsettings set org.cinnamon.desktop.background picture-uri 'file:///usr/share/backgrounds/linuxmint-vanessa/eskof_bubble.jpg'
 
echo "[ Parametres ]" 
gsettings set com.linuxmint.updates default-repo-is-ok true
 
echo "[ Menu ][ Favoris ]"
gsettings set org.cinnamon favorite-apps "['firefox.desktop', 'libreoffice-startcenter.desktop', 'mintinstall.desktop', 'cinnamon-settings.desktop', 'nemo.desktop']"
 
echo "[ Menu ][ Affichage texte 'Menu']"
value_menu_label="Menu "
menu_cinnamon_json=~/.config/cinnamon/spices/menu@cinnamon.org/0.json
if [ -f $menu_cinnamon_json ]
then
     line=`cat $menu_cinnamon_json  | grep '"menu-label":' -A 10 -n | grep value | head -n 1 | sed -e 's/-.*//'`
     sed -ie "${line}s/value\":.*/value\": \"${value_menu_label}\"/" $menu_cinnamon_json
fi     
 
echo "[ Bureau ] Ajout raccourcis firefox & libreoffice"
if [ -d ~/Bureau ]
then
    cp /usr/share/applications/firefox.desktop ~/Bureau/firefox.desktop && chmod +x ~/Bureau/firefox.desktop
    cp /usr/share/applications/libreoffice-writer.desktop ~/Bureau/libreoffice-writer.desktop && chmod +x ~/Bureau/libreoffice-writer.desktop   
fi 
 
#
# Applications au démarrage
#
echo "[ Démarrage ] désactivation mintwelcome"
cp /etc/xdg/autostart/mintwelcome.desktop ~/.config/autostart && echo "X-GNOME-Autostart-enabled=false" >> ~/.config/autostart/mintwelcome.desktop
 
if [ $install_numlockx == "numlockx" ]
then
echo "[ Démarrage ] activation pavé numérique au démarrage"
sudo echo -e "[Greeter]\nactivate-numlock=true" > slick-greeter.conf
sudo mv slick-greeter.conf  /etc/lightdm/slick-greeter.conf
fi
 
#
# Personnalisation interface drawing (dessin)
#
echo "[ Drawing ] interface défaut bouton - grosses icônes - informations des outils"
gsettings set com.github.maoschanz.drawing deco-type 'tc'
gsettings set com.github.maoschanz.drawing big-icons true
gsettings set com.github.maoschanz.drawing show-labels true
 
 
#
# Desactivation du PAD sur PC fixe
#
echo "[ PAD ] Désactivation du pad sur PC fixe"
if `inxi -M | grep "Type:.*System" | grep -q Desktop`
then
     gsettings set org.cinnamon.desktop.peripherals.touchpad send-events disabled
     gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled
fi
#
# modification sources
#
echo "[ Sources Logiciels ]"
sudo sed -e 's&http://archive.ubuntu.com/ubuntu&http://fr.archive.ubuntu.com/ubuntu&' -i /etc/apt/sources.list.d/official-package-repositories.list
 
#
# force mise à jour 2x (upgrade mintupgrade + upgrade)
#
echo "[ Update X2 ]"
sudo mintupdate-cli -r update 
sudo mintupdate-cli -r upgrade -y
sudo mintupdate-cli -r update 
sudo mintupdate-cli -r upgrade -y
 
#
# Suppression de paquets peu ou pas utilisés
#
echo "[ Suppressions ] suppression logiciels / localisations / accessibilité non utilisée" 
 
list=""
list=" libreoffice-help-de libreoffice-help-es libreoffice-help-it libreoffice-help-pt libreoffice-help-pt-br libreoffice-help-ru libreoffice-help-zh-cn libreoffice-help-zh-tw libreoffice-l10n-de libreoffice-l10n-en-za libreoffice-l10n-es libreoffice-l10n-it libreoffice-l10n-pt libreoffice-l10n-pt-br libreoffice-l10n-ru libreoffice-l10n-zh-cn libreoffice-l10n-zh-tw hexchat hexchat-common  timeshift onboard warpinator bluez-cups  boot-repair gnome-calendar"
 
if [ $suppr_accessibility == "y" ]
then
    list="$list  libsonic0 libspeechd2 python3-speechd speech-dispatcher speech-dispatcher-audio-plugins orca libespeak-ng1 speech-dispatcher-espeak-ng"
fi    
 
if [ $suppr_flatpak == "y" ]
then
    list="$list flatpak gir1.2-flatpak-1.0"
fi
 
sudo aptitude purge -y $list
 
#
# Installation paquets de langues
#
echo "[ Francisation ]"
sudo aptitude install -y language-pack-fr  language-pack-fr-base language-pack-gnome-fr language-pack-gnome-fr-base  language-pack-kde-fr firefox-locale-fr thunderbird-locale-fr
 
#
# Installation autres paquets
#
echo "[ Installations ]"
echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections
 
sudo aptitude install -y $install_numlockx ttf-mscorefonts-installer fonts-crosextra-caladea fonts-crosextra-carlito ttf-ancient-fonts  fonts-dejavu fonts-dejavu-extra fonts-liberation2 gparted vim terminator htop smart-notifier gsmartcontrol stressapptest ncdu vlc vlc-l10n tanglet qt6-qpa-plugins aisleriot gnome-mines gnome-mahjongg p7zip-full p7zip-rar rar  printer-driver-escpr printer-driver-all hplip   
 
#
# Gestion des mises à jour
#
echo "[ mintupdate ] Activation automatisation maj"
sudo mintupdate-automation upgrade enable
 
echo "[ mintupdate ] Activation nettoyage vieux noyaux"
sudo mintupdate-automation autoremove enable
 
echo "[ mintupdate ] Désactivation mise à jour automatique des Flatpaks (éviter remplissage du disque dur)"
gsettings set com.linuxmint.updates auto-update-flatpaks false
 
echo "[ mintupdate ] Augmentation du temps rafraîchissement de la cache à 5h (2h par défaut)"
gsettings set com.linuxmint.updates autorefresh-hours 5
 
#
# Lancement recherche de pilotes
#
echo "[ Drivers ] vérification de pilotes additionnels avec driver-manager"
sudo driver-manager

Sources https://askubuntu.com/questions/16225/how-can-i-accept-the-microsoft-eula-agreement-for-ttf-mscorefonts-installer