Ceci est une ancienne révision du document !


Configuration du gestionnaire de connexion LightDM

Changer le moteur de theme lightdm

/etc/lightdm/lightdm.conf*

[Seat:*]
greeter-session=lightdm-gtk-greeter

Activer la session guest

/etc/lightdm/lightdm-gtk-greeter.conf*

[SeatDefaults]
allowguest=true
autologin-guest=true
greeter-setup-script=/usr/bin/numlockx on

Créer une session de configuration guest

  • Créer une session d'utilisateur par exemple guest_config pour configurer graphiquement un certain nombre de programmes
  • Créer le dossier /etc/guest-session si non présent
sudo mkdir /etc/guest-session
  • Créer le lien /etc/guest-session/skel vers /home/gest_config
sudo ln -s /home/guest_config /etc/guest-session/skel

Cacher des utilisateurs (LightDm)

/etc/lightdm/users.conf

Créer un fichier portant le nom de l'utilisateur à cacher XXX /var/lib/AccountsService/users/XXX

et y mettre le code suivant

[User]
SystemAccount=true

Cacher notamment les comptes administrateurs et de configuration de session invité ( /var/lib/AccountsService/users/guest_config )

Nettoyage post-session

/etc/lightdm/lightdm.conf

[SeatDefaults]
session-setup-script = Script to run when starting a user session (runs as root)
session-cleanup-script = Script to run when quitting a user session (runs as root)

- Nettoyage de la file d'impression (éviter le lancement d'impressions intempestives)

  1. lprm
  2. cleanall_printer_tasks.sh
    #!/bin/bash
     
    for d in `lpq -a | sed -n '2,$'p | sed -e 's/ \s*/,/g' | cut -d, -f 3`
    do 
        lprm $d
    done
     
    cancel -a

- Forcer l'activation des imprimantes cupsenable IMPRIMANTE en début de session

Configurer la session guest

Personnalisation du message d'accueil

Supprimer l'avertissement en anglais en créant ~/.skip-guest-warning-dialog

touch /home/guest_config/.skip-guest-warning-dialog

Dans les préférences→applications au démarrage créer une entrée avec lançant le script :

bonjour_cybersalle.sh
#!/bin/bash
zenity --title "ATTENTION"  --text="Cette session est temporaire et sera effacée à l'extinction. Sauvegardez vos documents sur clée USB et non sur le bureau." --width=400 --warning --ok-label="J'ai compris"
  1. Gestionnaire de fichiers
    1. enlever suppression directe
    2. 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)
  1. Bureau
    1. Enlever l'ajustement automatique (pour centrer les icones)
    2. configuration raccourcis Bureau
  2. Applications Démarrage
    1. Enlever
      1. Gestionnaire de mises à jour
      2. Relevés du système
      3. mintwelcome
    2. Ajouter
      1. message d'accueil personnalisé
      2. extinction automatique
  3. Verrouillage et session
    1. Désactiver la veille et le verrouillage écran
    2. Enlever possibilité verrouillage session menu
    3. Ajouter applet extinction dans la bare des tâches

Configuration Programmes

  1. Firefox
    1. configuration policies (pour éviter les messages des mises à jours) (cf : https://wiki.desclicks.net/doku.php?id=linux:custom_firefox:cybersalle à terminer dans /etc/firefox/policies)
    2. Extension contre la publicité
    3. raccourcis FLE
    4. Paramétrages
      1. Suppression des cookies en fin de session
      2. Ne pas proposer l'enregistrement des mots de passes
      3. Ne pas sauvegarder l'historique
      4. Navigation
        1. Retirer recommander des extensions en cours de navigation
        2. Retirer recommandes des fonctionnalités en cours de navigation
    5. Ajout raccourci zoom impression outil copier coller
    6. Lancer une fenêtre d'enregistrement de fichier pour laisser uniquement le dossier bureau comme possibilité d'enregistrement
  2. Libreoffice
    1. Grammalecte
  3. Simple Scan
    1. Configurer le scanner en A4 par défaut
  1. Autres
    1. lancer une première fois
      1. pour éviter les messages d'accueil
      2. pour maximiser les fenêtres
    2. Avant finalisation préparation de session lancer bleachbit pour nettoyage cache & co
  1. Post Clonage
    1. macchanger

Configuration install

  • Nettoyage des guest-XYZK fantômes
#!/bin/bash
for user in `cat /etc/passwd | grep "guest-" | grep -v "guest-config" |  sed -e 's/:.*//'`
do
    if  ! $(who  | grep -q $user)
    then
          echo userdel -r $user
    else
         echo "not destroying connected $user"
    fi
done    

Nettoyage dpkg

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.

dpkg_clean.sh
#!/bin/bash
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

Lancé via un tâche cron ou mieux avec un service au démarrage

  • Tâche cron 1x semaine pour éviter le blocage des mises à jours suite à un arrêt en force
dpkg --configure -a 
30 15    * * 1    root    /usr/local/bin/dpkg_clean.sh
  • Service systemd

fichier à copier dans /etc/systemd/system

desclicksupdate-automation-cleanup-dpkg.service
# cleanup in case mintupdate automation was interrupted
 
[Unit]
Description=Update Manager Automation Cleanup of dpkg error configure after fail
 
[Service]
Type=oneshot
CPUQuota=50%
CPUWeight=20
IOWeight=20
ExecStart=/usr/local/bin/dpkg-cleanup.sh
#ExecStart=grep -q "dpkg \-\-configure \-a" mintupdate.log && dpkg --configure -a 
 
[Install]
WantedBy=multi-user.target

et à activer

systemctl enable desclicksupdate-automation-cleanup-dpkg.service

Nettoyage file d'impression

desclicks-cleanup-printlist.service
# cleanup printlist startup
 
[Unit]
Description=Clean printer list
 
[Service]
Type=oneshot
CPUQuota=50%
CPUWeight=20
IOWeight=20
ExecStart=/usr/local/bin/cleanup_printlist.sh
After=cups.service
 
[Install]
WantedBy=multi-user.target

HP clones

Blacklister mei_me

via /etc/modprobe.d/blacklist.conf

# Intel VPRO remote access technology driver
blacklist mei_me

pour les sessions live décharger le module via la commande

rmmod mei_me

dans le cas contraire, un message d'erreur du type suivant apparait sur les terminaux virtuels toutes les 5s :

mei_me 0000:00:03.0: reset: connect/disconnect timeout.

script de post_clonage de la cybersalle :

postclonage.sh
#!/bin/bash
 
nbpc=0
echo " ======================================== "
echo " ! LANCEZ CE SCRIPT EN ROOT !             " 
echo "   \$ sudo -i                             "
echo "   Les actions suivantes ne pourront      "
echo "   etre realisees dans le cas contraire : "
echo "      - modification de l'adresse MAC     "
echo " =======================================  "
 
echo "Entrez le numero du pc"
read nbpc
 
nbpc=$(echo $nbpc | bc)
 
if [ $nbpc -lt 10 ]
then
 nbpc="0$nbpc"
fi
 
service network-manager stop
echo " =================================== " 
echo "  Modification du nom de la machine : "
echo    DesclicksXub$nbpc
echo " =================================== "
name=DesclicksXub${nbpc}
echo -e "${name}\n" > /etc/hostname
hostname ${name}
sed -e "s/^127.0.1.1\s*\(Desclicks\|cyberlis\).*/127.0.1.1       ${name}/" -i /etc/hosts
 
echo " =================================== " 
echo "  Modification de l adresse MAC"
echo " =================================== " 
 
eth=`ip link show | grep -o eth[0-9][0-9]*`
echo ip link set dev $eth address 00:00:00:00:0D:$nbpc
ip link set dev $eth address 00:00:00:00:0D:$nbpc
 
if grep -qe '^hwaddress ether' /etc/network/interfaces
then
sed -e "s/\(hwaddress ether\).*/\1 00:00:00:00:0d:$nbpc/" -i /etc/network/interfaces
else
echo -e "hwaddress ether 00:00:00:00:0d:$nbpc\n" >> /etc/network/interfaces
fi 
service network-manager start

Session temporaire avec patron & auto lancement après délai

Résumé: nous allons créer un compte-patron, le configurer, activer le compte invité temporaire, créer un lien symbolique du compte-patron au compte temporaire, changer l'annonce du compte invité, activer le lancement automatique du compte temporaire après un délai défini puis cacher le compte-patron.

Créez un utilisateur qui servira de patron à la session temporaire (ici nommée guest_config). NE PAS l'appeler SKEL !
Dans les administration→écran de connexion onglet UTILISATEURS activez AUTORISEZ LES INVITES À SE CONNECTER\\.

sudo ln -s /home/guest_config /etc/guest-session/skel


<code>
sudo nano /etc/lightdm/lightdm.conf

Rentrez/modifiez les lignes suivantes:

autologin-guest=true
#autologin-user=
autologin-guest=true
autologin-user-timeout=15

Avec ces commandes l'utilisateur invité temporaire sera lancé après 15 secondes. À noter que le décompte commence AVANT le lancement de l'interface graphique !


Note : il est possible que le fond d'écran proposé par lightDM ne corresponde pas à celui du compte dans ce cas écraser l'image correspondante située dans usr/share/backgrounds/linuxmint/default_background par l'image désirée.

Sources