Gestion de l'environnement utilisateur

La gestion de l'environnement utilisateur s'effectue à l'aide d'un script logon.linux.

On placera ce fichier dans un répertoire /etc/sambaedu/applications/perso/ du se4fs, en le nommant logon.linux pour qu'il puisse être lancé à chaque ouverture d'une session (Voir les principes de la gestion des clinux dans cette documentation).

Remarque

Vous pouvez nommer ce répertoire perso comme bon vous semble ; par exemple user ou utilisateur.

Conseil

Le fichier logon.linux ci-dessous permet la gestion de l'environnement utilisateur dans le cas d'un Bureau Gnome.

Exemple

Pour les autres Bureaux (KDE, Mate,…), les commandes sont sans doute différentes. Reportez-vous à la documentation de ces autres environnements de Bureau.

Procédure

  1. Se connecter sur le SE4FS en root

  2. Créer le répertoire /etc/sambaedu/applications/perso/.

    La commande pour créer ce répertoire perso est la suivante :

    mkdir -p /etc/sambaedu/applications/perso/

  3. Déposer le script logon.linux fourni ci-après dans le répertoire /etc/sambaedu/applications/perso/.

    script logon.linux pour paramétrer l'environnement utilisateur dans le cas d'un Debian/Gnome.

    1
    #####
    2
    # personnalisation des paramètres de Gnome
    3
    ladate="$(date +%Y_%m_%d_%Hh%Mmin%Ss)"
    4
    texte_temoin_creation="création du répertoire .temoins le ${ladate}"
    5
    texte_temoin_passage="on a utilisé logon.linux pour les paramètres de l'utilisateur le ${ladate}"
    6
    temoin=/$HOME/.temoins/temoin.perso
    7
    8
    tester_temoin()
    9
    {
    10
        # le répertoire /$HOME/.temoins servira éventuellement pour un script unefois ou chaquefois
    11
        if [ ! -d "/$HOME/.temoins" ]
    12
        then
    13
            # il n'existe pas : on le crée
    14
            mkdir -p .temoins
    15
            # on pose un témoin de création puis un temoin de passage
    16
            echo "${texte_temoin_creation}" > ${temoin}
    17
            echo "${texte_temoin_passage}" >> ${temoin}
    18
        else
    19
            # On teste alors si le temoin est présent ou non
    20
            if [ ! -e "${temoin}" ]
    21
            then
    22
                # pas de témoin : on pose un témoin de passage
    23
                echo "il n'y a pas de temoin, on paramètre l'interface utilisateur" > ${temoin}
    24
                echo "${texte_temoin_passage}" >> ${temoin}
    25
                test_temoin="0"
    26
            else
    27
                # le témoin existe : on laisse tel que ? [TODO]
    28
                echo "${texte_temoin_passage}" > ${temoin}
    29
                echo "il y a un temoin : on ne fait rien ?" >> ${temoin}
    30
                test_temoin="1"
    31
            fi
    32
        fi
    33
    }
    34
    35
    parametres_fenetres()
    36
    {
    37
        # boutons fenêtres
    38
        # * minimiser, maximiser et clore
    39
        gsettings set org.gnome.desktop.wm.preferences button-layout "appmenu:minimize,maximize,close"
    40
        echo "on a paramétré les boutons des fenêtres" >> ${temoin}
    41
    }
    42
    43
    parametres_repertoires()
    44
    {
    45
        # vue des fichiers/répertoires dans une fenêtre
    46
        # * rangement des répertoires avant les fichiers
    47
        gsettings set org.gtk.Settings.FileChooser sort-directories-first 'true'
    48
        # * vue en liste
    49
        # nautilus
    50
        #gsettings set org.gnome.nautilus.preferences default-folder-viewer 'list-view'
    51
        # nemo
    52
        gsettings set org.nemo.preferences default-folder-viewer 'list-view'
    53
        # * vue en liste : 50%
    54
        # nautilus
    55
        #gsettings set org.gnome.nautilus.list-view default-zoom-level 'small'
    56
        # nemo
    57
        gsettings set org.nemo.list-view default-zoom-level 'smaller'
    58
        echo "on a paramétré l'affichage des fichiers dans un répertoire" >> ${temoin}
    59
    }
    60
    61
    parametres_horloge()
    62
    {
    63
        # horloge barre supérieure
    64
        # * jour de la semaine
    65
        gsettings set org.gnome.desktop.interface clock-show-weekday 'true'
    66
        # * date
    67
        gsettings set org.gnome.desktop.interface clock-show-date 'true'
    68
        # * secondes
    69
        gsettings set org.gnome.desktop.interface clock-show-seconds 'true'
    70
        # * numéro des semaines
    71
        gsettings set org.gnome.desktop.calendar show-weekdate 'true'
    72
        echo "on a paramétré l'affichage de l'horloge" >> ${temoin}
    73
    }
    74
    75
    parametres_extensions()
    76
    {
    77
        # voir ~/.local/share/gnome-shell/extensions/
    78
        # on y trouve les dossiers desktop-icons@csoriano et logoutbutton@mike10004.github.com
    79
        # extensions gnome :
    80
        # * applications menu
    81
        # * places status indicator
    82
        # * removable drive menu
    83
        gsettings set org.gnome.shell enabled-extensions "['apps-menu@gnome-shell-extensions.gcampax.github.com', 'places-menu@gnome-shell-extensions.gcampax.github.com', 'drive-menu@gnome-shell-extensions.gcampax.github.com']"
    84
        echo "on a paramétré les extensions" >> ${temoin}
    85
    }
    86
    87
    parametres_favoris()
    88
    {
    89
        # les favoris
    90
        # * firefox-esr, nemo, calculatrice, flameshot, terminal, vlc, libreoffice-center, scanneur
    91
        gsettings set org.gnome.shell favorite-apps "['firefox-esr.desktop', 'nemo.desktop','org.gnome.Calculator.desktop', 'org.flameshot.Flameshot.desktop', 'vlc.desktop', 'libreoffice-startcenter.desktop', 'simple-scan.desktop','org.gnome.Terminal.desktop']"
    92
        echo "on a paramétré les applications favorites" >> ${temoin}
    93
    }
    94
    95
    parametres_pave_numerique()
    96
    {
    97
        # le pavé numérique
    98
        # pavé actif
    99
        gsettings set org.gnome.desktop.peripherals.keyboard numlock-state 'true'
    100
        # mémorisation de l'état entre chaque session
    101
        gsettings set org.gnome.desktop.peripherals.keyboard remember-numlock-state 'true'
    102
        echo "on a paramétré le pavé numérique" >> ${temoin}
    103
    }
    104
    105
    parametres_energie()
    106
    {
    107
        # paramètres
    108
        # * confidentialité : vérouillage écran désactivé → mécanisme général mis en place par Denis
    109
        #gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'
    110
        # * énergie : écran noir : jamais → 0, 15 min → 900
    111
        gsettings set org.gnome.desktop.session idle-delay "uint32 0"
    112
        echo "on a paramétré la mise en veille de l'écran" >> ${temoin}
    113
    }
    114
    115
    parametres_clavier()
    116
    {
    117
        # * clavier français 
    118
        gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'fr+oss'), ('xkb', 'fr+latin9')]"
    119
        echo "on a paramétré l'agencement du clavier" >> ${temoin}
    120
    }
    121
    122
    tester_temoin
    123
    parametres_fenetres
    124
    parametres_repertoires
    125
    parametres_horloge
    126
    parametres_extensions
    127
    parametres_favoris
    128
    parametres_pave_numerique
    129
    parametres_energie
    130
    parametres_clavier
  4. Résultat

    Et c'est tout ! L'environnement utilisateur est mis en place lors de l'ouverture de chaque session.

    Pour les détails de cet environnement, reportez-vous aux commentaires disponibles dans le fichier logon.linux.

Truc & astuceComment repérer les paramètres d'une commande ?

Après avoir paramétré une fonctionnalité sur un clinux, mettons que ce soit les boutons fenêtre, la commande suivante, à lancer sur ce clinux, dans un terminal (sans passer en root), permet de récupérer les paramètres de cette fonction :

gsettings get org.gnome.desktop.wm.preferences button-layout

La commande à utiliser est donc la suivante :

gsettings set org.gnome.desktop.wm.preferences button-layout "appmenu:minimize,maximize,close"