Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
linux:cybersalle [2023/06/16 10:34] – [Nettoyage dpkg] minimilinux:cybersalle [2024/02/25 13:31] (Version actuelle) – [Nettoyage dpkg] correction s minimi
Ligne 1: Ligne 1:
 +{{ :linux:message_logout_cybersalle.zip |}}
 +
 +
 ====== Configuration du gestionnaire de connexion LightDM ====== ====== Configuration du gestionnaire de connexion LightDM ======
 ==== Changer le moteur de theme lightdm ==== ==== Changer le moteur de theme lightdm ====
Ligne 62: Ligne 65:
 cancel -a cancel -a
 </code> </code>
 +<file bash session-cleanup-script.sh>
 +#!/bin/bash
 +#
 +# Script de Nettoyage de fin de session
 +#
 +#    - Supprimer les fichier utilisateurs
 +#    - Afficher notification de suppression et de mise à jour
 +#    - Lancer les mises à jour a la fermeture invité
 +#
 +DIR_LOGOUT_MSG=/usr/share/backgrounds/message_logout_cybersalle/
 +#
 +# Bypass bug de lancement de ce script à l'écran de login pour l'invité
 +#
 +timeloged=$(ps -o etime,cmd,user= ax | grep [c]innamon-launcher | grep ${USER} | head -n 1 | sed -e 's/  *//' -e 's/://' -e 's/ .*//')
 +if [ -z $timeloged ]
 +then
 +    exit 0
 +fi
 +#
 +# Suppression des files d'impression
 +#
 +for d in `lpq -a | sed -n '2,$'p | sed -e 's/ \s*/,/g' | cut -d, -f 3`
 +do 
 +    lprm $d
 +done
 +cancel -a
 +
 +if $(echo $USER | grep "^guest-" | grep -qv "guest-config")
 +then
 +   #
 +   # Suppression des donnees utilisateur·ices avant mise à jour
 +   # 
 +   guestpath=/home/${USER}
 +   if [ -d ${guestpath} ]
 +   then
 + echo rm -rf ${guestpath}/* ${guestpath}/.mozilla
 +   fi
 +   timeloged=$(ps -o etime,cmd,user= ax | grep [c]innamon-launcher | grep ${USER} | head -n 1 | sed -e 's/  *//' -e 's/://' -e 's/ .*//'  
 +   #
 +   # Affichage du message de destruction des données
 +   #
 +   xviewer -f ${DIR_LOGOUT_MSG}/message_logout_suppr_datas.svg &
 +   idsupprdata=$$
 +   sleep 3 
 +   #
 +   # Ne pas lancer les mises à jour si logout trop rapide (3 min après login) 
 +   #
 +   if [ $timeloged -lt 300 ]
 +   then
 +       killall -9 xviewer
 +       exit 0
 +   fi  
 +   #
 +   # Reparation dpkg si besoin 
 +   #
 +   if        $(grep -q "dpkg \-\-configure \-a" /var/log/mintupdate.log)  \
 +        && $(ps -aux | grep -vq  "synapti[c] \|apt[t] \|dpkg[g] ")
 +   then
 +       xviewer -f ${DIR_LOGOUT_MSG}/message_logout_dpkg_configure.svg &
 +       dpkg --configure -a 
 +   fi
 +   #
 +   # Premiere passe de mise à jour 
 +   #
 +   xviewer -f ${DIR_LOGOUT_MSG}/message_logout_maj_recherche.svg &
 +   mintupdate-cli -r update
 +   
 +   xviewer -f ${DIR_LOGOUT_MSG}/message_logout_maj_install.svg &
 +   mintupdate-cli -r upgrade -y >> /var/log/logoutupdate.log
 +   #
 +   # Seconde passe de mise à jour si mintupdate a été mis à jour
 +   #
 +   if [ $(grep -q "mintupdate" /var/log/logoutupdate.log ) ]
 +   then
 +       xviewer -f ${DIR_LOGOUT_MSG}/message_logout_maj_recherche.svg &
 +       mintupdate-cli -r update     
 +
 +       xviewer -f ${DIR_LOGOUT_MSG}/message_logout_maj_install.svg &
 +       mintupdate-cli -r upgrade -y 
 +   fi
 +   # 
 +   # Fin de cinnamon pour éviter de revoir le bureau
 +   #
 +   pidtokill=$(ps -e -o pid,cmd  | sed -e 's/  */ /g' -e 's/^ *//' | grep "[c]innamon --replace" | cut -d " " -f 1)
 +   if [ ! -z $pidtokill ]
 +   then
 +     echo "kill ${pidtokill}"
 + kill ${pidtokill}
 +   fi
 +   #
 +   # fin des utilitaires utilisés
 +   #
 +   killall -9 zenity
 +   killall -9 xviewer
 +fi
 +</file>
 +
 +Modifier la commande d'extinction de l'applet "Menu Éteindre avec boutons"
 +
 +<file bash session-cleanup-script-and-shutdown.sh>
 +#!/bin/bash
 +session-cleanup-script.sh
 +systemctl poweroff
 +</file>
 +
  
  - Forcer l'activation des imprimantes **cupsenable IMPRIMANTE** en début de session  - Forcer l'activation des imprimantes **cupsenable IMPRIMANTE** en début de session
Ligne 82: Ligne 190:
 </file> </file>
  
 +==== Bouton extinction sur le bureau  ====
 +
 +Créer un lanceur sur le bureau pour éteindre le PC "Éteindre l'ordinateur en partant"
 +
 +<file bash button_desktop_shutdown.sh>
 +#!/bin/sh
 +
 +zenity --question \
 +--title "Confirmation d'extinction" \
 +--cancel-label="NON je dois enregistrer mon travail !" \
 +--ok-label="OUI et j'éteints également l'écran" \
 +--text="<big><b>Éteindre cet ordinateur maintenant ? \n\nMerci d'éteindre ensuite l'écran</b></big>"
 + 
 +if [ $? = 0 ]
 +then
 +    systemctl poweroff
 +else
 +    echo "Annulation de l'extinction"
 +    sleep 3
 +fi
 +</file>
 +
 +==== Checklist modifs paramètre bureau  ====
   - Gestionnaire de fichiers   - Gestionnaire de fichiers
       - enlever suppression directe       - enlever suppression directe
       - garder uniquement le dossier Bureau et supprimer les marques pages correspondants (voire linker tous les dossiers classiques vers le bureau - vérifier le comportement de la fenêtre d'enregistrements des fichiers des navigateurs)       - garder uniquement le dossier Bureau et supprimer les marques pages correspondants (voire linker tous les dossiers classiques vers le bureau - vérifier le comportement de la fenêtre d'enregistrements des fichiers des navigateurs)
 +      - Supprimer les "entrée inutiles" des menus contextuels, (terminal, lancer en admin…)
  
   - Bureau    - Bureau 
Ligne 136: Ligne 268:
  
   * Nettoyage des guest-XYZK fantômes   * Nettoyage des guest-XYZK fantômes
-<code bash>for user in `cat /etc/passwd | grep "guest-" | grep -v "guest-config" |  sed -e 's/:.*//'`+<file bash clean-guest-phantom.sh> 
 +#!/bin/bash 
 +for user in `cat /etc/passwd | grep "guest-" | grep -v "guest-config" |  sed -e 's/:.*//'`
 do do
-    userdel -r $user+    if  ! $(who  | grep -q $user) 
 +    then 
 +          userdel -r $user 
 +    else 
 +         echo "not destroying connected $user" 
 +    fi
 done     done    
-</code>+</file>
  
 ==== Nettoyage dpkg ==== ==== Nettoyage dpkg ====
Ligne 146: Ligne 285:
 Les PC peuvent être amené à être éteints de manière non conventionnelle par les utilisateur·ices. Pour éviter un blocage des mises jours suite à une arrêt des configurations par dpkg, nous pouvons en attendant une prise en charge native réparer l'erreur lorsque nécessaire. Les PC peuvent être amené à être éteints de manière non conventionnelle par les utilisateur·ices. Pour éviter un blocage des mises jours suite à une arrêt des configurations par dpkg, nous pouvons en attendant une prise en charge native réparer l'erreur lorsque nécessaire.
  
-<file bash dpkg_clean.sh>+<file bash desclicks-dpkg-clean.sh>
 #!/bin/bash #!/bin/bash
-grep -q "dpkg \-\-configure \-a" mintupdate.log && dpkg --configure -a +if        $(grep -q "dpkg \-\-configure \-a" /var/log/mintupdate.log)  \ 
 +    && $(ps -aux | grep -vq  "synapti[c] \|apt[t] \|dpkg[g] ") 
 +then 
 +       dpkg --configure -a  
 +fi
 </file> </file>
  
Ligne 160: Ligne 303:
 fichier à copier dans **/etc/systemd/system** fichier à copier dans **/etc/systemd/system**
  
-<file bash desclicksupdate-automation-cleanup-dpkg.service>+<file bash desclicks-update-automation-cleanup-dpkg.service>
 # cleanup in case mintupdate automation was interrupted # cleanup in case mintupdate automation was interrupted
  
Ligne 171: Ligne 314:
 CPUWeight=20 CPUWeight=20
 IOWeight=20 IOWeight=20
-ExecStart=/usr/local/bin/dpkg-cleanup.sh+ExecStart=/usr/local/bin/desclicks-dpkg-clean.sh
 #ExecStart=grep -q "dpkg \-\-configure \-a" mintupdate.log && dpkg --configure -a  #ExecStart=grep -q "dpkg \-\-configure \-a" mintupdate.log && dpkg --configure -a 
  
Ligne 179: Ligne 322:
    
       et à activer       et à activer
-<code>systemctl enable desclicksupdate-automation-cleanup-dpkg.service</code>      +<code>systemctl enable desclicks-update-automation-cleanup-dpkg.service</code>      
  
 ==== Nettoyage file d'impression ==== ==== Nettoyage file d'impression ====
  
 <file bash desclicks-cleanup-printlist.service> <file bash desclicks-cleanup-printlist.service>
-# cleanup in case mintupdate automation was interrupted+# cleanup printlist startup
  
 [Unit] [Unit]
Ligne 309: Ligne 452:
   * https://doc.ubuntu-fr.org/creer_un_service_avec_systemd   * https://doc.ubuntu-fr.org/creer_un_service_avec_systemd
  
-  * Session logout script :  https://askubuntu.com/questions/68407/where-do-i-place-a-logout-script-for-lightdm+  * Session logout script :  
 +      *  https://askubuntu.com/questions/68407/where-do-i-place-a-logout-script-for-lightdm 
 +      * and shutdown : https://askubuntu.com/questions/250171/logout-scripts-not-completed-on-shutdown-reboot?rq=1
   * Sécuriser grub : https://memo-linux.com/securiser-lacces-et-le-demarrage-du-grub-par-mot-de-passe/   * Sécuriser grub : https://memo-linux.com/securiser-lacces-et-le-demarrage-du-grub-par-mot-de-passe/
   * Sécuriser physiquement : cadenas   * Sécuriser physiquement : cadenas