logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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édentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:lebardix:tutos:primtux-partage-de-donnees [30/09/2018 23:06]
lebardix [Installation]
utilisateurs:lebardix:tutos:primtux-partage-de-donnees [02/10/2018 22:36]
lebardix [Utilisation]
Ligne 150: Ligne 150:
  
 <note important>​**attention** le script prend en guise de mot de passe : le nom de la classe, penser à adapter le script si vous choisissez une autre solution </​note>​ <note important>​**attention** le script prend en guise de mot de passe : le nom de la classe, penser à adapter le script si vous choisissez une autre solution </​note>​
 +
 ==== configuration du pc primtux ==== ==== configuration du pc primtux ====
  
-=== lighdm ​connexion === +=== lightdm ​connexion === 
-Rappellons que les machines Primtux sont "​mono-utilisateur"​ **1 seul utilisateur sur 1 seule machine à la fois.** + 
-Nous monterons donc les ressources partagées (suivant une information donnée par l'​utilisateur d'​appartenance à telle ou telle classe ​**) +Rappellons que les machines Primtux sont "​mono-utilisateur"​ **1 seul utilisateur sur 1 seule machine à la fois**
-avec lightdm à la connexion de l'​utilisateur. + 
-Pour cela Lighdm ​dispose de 2 paramêtres: session-setup-script ​et session-cleanup-script ​définissant des scripts exécutés par root.+Nous monterons donc les ressources partagées (suivant une information donnée par l'​utilisateur d'​appartenance à telle ou telle classe) avec lightdm à la connexion de l'​utilisateur. 
 + 
 +Pour cela Lightdm ​dispose de 2 paramètres définissant des scripts exécutés par root 
 +  * session-setup-script ​   
 +  * session-cleanup-script 
 nous utilisons alors ces scripts pour monter et demonter nos partages nous utilisons alors ces scripts pour monter et demonter nos partages
 [[/​etc/​lightdm/​session/​session-setup.sh]] à la connexion [[/​etc/​lightdm/​session/​session-setup.sh]] à la connexion
Ligne 163: Ligne 169:
 == Adapter l'​écran de connexion de primtux == == Adapter l'​écran de connexion de primtux ==
 Primtux propose une interface de connexion simplifiée pour les enfants. Primtux propose une interface de connexion simplifiée pour les enfants.
-4 images permettent de choisir l'​utilisateur parmi mini,​maxi,​super et administrateur (le maitre). Quelques ​boutons ​ sont disponibles pour controler ​le PC parmi Arreter, Hiberner, Veille, Redémarrer.+ 
 +4 images permettent de choisir l'​utilisateur parmi mini,​maxi,​super et administrateur (le maitre) 
 + 
 +et quelques ​boutons ​ sont disponibles pour contrôler ​le PC parmi "​Arrêter, Hiberner, Veille, Redémarrer".
  
 Il manque donc une liste pour la sélection de l'​appartenance de l'​utilisateur à telle ou telle classe. Il manque donc une liste pour la sélection de l'​appartenance de l'​utilisateur à telle ou telle classe.
 Nous allons donc rajouter dans l'​interface de connexion ce choix avec le sélecteur de session habituel. Nous allons donc rajouter dans l'​interface de connexion ce choix avec le sélecteur de session habituel.
 +
 Commençons par ajouter les différentes sessions souhaitées Commençons par ajouter les différentes sessions souhaitées
  
 == Créer les sessions spécifiques par classe == == Créer les sessions spécifiques par classe ==
-il n'est prédéfini qu'une seule session "​fluxbox",​ donc pour différencier les classes nous dupliquons simplement la session existante sous d'​autres noms correspondant aux critères d'​organisation (pour l'​exemple j'ai choisi une différensation ​par niveau classe). +Il n'est prédéfini qu'une seule session "​fluxbox",​ 
-en root  +  
-copier [[/​usr/​share/​xsessions/​fluxbox.desktop]] en /​usr/​share/​xsessions/​fluxbox-cp.desktop +donc pour différencier les classes nous dupliquons simplement la session existante sous d'​autres noms correspondant aux critères d'​organisation (pour l'​exemple j'ai choisi une différentiation ​par niveau classe). 
-copier [[/​usr/​share/​xsessions/​fluxbox.desktop]] en [[/​usr/​share/​xsessions/​fluxbox-ce1.desktop]]+ 
 +<​code ​root> 
 +cp /​usr/​share/​xsessions/​fluxbox.desktop /​usr/​share/​xsessions/​fluxbox-cp.desktop 
 +cp /​usr/​share/​xsessions/​fluxbox.desktop /​usr/​share/​xsessions/​fluxbox-ce1.desktop
 ... ...
-copier [[/​usr/​share/​xsessions/​fluxbox.desktop]] en [[/​usr/​share/​xsessions/​fluxbox-cm2.desktop]]+cp /​usr/​share/​xsessions/​fluxbox.desktop /​usr/​share/​xsessions/​fluxbox-cm2.desktop 
 +cp /​usr/​share/​xsessions/​fluxbox.desktop /​usr/​share/​xsessions/​fluxbox-bonjour.desktop 
 +</​code>​
 (on pourrait imaginer une organisation avec le nom des professeurs ou tout autre choix) (on pourrait imaginer une organisation avec le nom des professeurs ou tout autre choix)
  
-ensuite on va modifier, pour chaque nouvelle session créée, le parametre ​Name=fluxbox avec le texte qui appraitra ​dans le sélecteur +ensuite on va modifier, pour chaque nouvelle session créée, le paramètre **Name**=fluxbox avec le texte qui apparaîtra ​dans le sélecteur ​**Name**=//Classe de CP// pour fluxbox-cp.desktop,​ et ainsi de suite...
-Name=Classe de CP pour fluxbox-cp.desktop,​ et ainsi de suite...+
  
 == Modifier l'​interface de connexion == == Modifier l'​interface de connexion ==
-Nous allons maintenant rajouter dans l'​interface de connexion ​pour ajouter ​la liste déroulante du choix des différentes sessions que nous venons de créer. + 
-La présentation de l'​écran de connexion de [[LightDm]] (dénommé greeter) est lightdm-webkit-greeter. Elle est configurable à l'aide de thèmes. +Nous allons maintenant rajouter dans l'​interface de connexion la liste déroulante du choix des différentes sessions que nous venons de créer. 
-Primtux a été dessiné autour du theme pretty, nous allons donc retoucher le fichier [[/​usr/​share/​lightdm-webkit/​themes/​pretty/​index.html]] + 
-pour ajouter le "​session selector"​ +La présentation de l'​écran de connexion de [[LightDm]] (dénommé greeter) est lightdm-webkit-greeter. ​ 
-cf: https://​askubuntu.com/​questions/​414344/​how-to-add-a-session-type-button-to-lightdm-webkit-greeter-theme ​+ 
 +Elle est configurable à l'aide de thèmes. 
 + 
 +Primtux a été dessiné autour du thème ​pretty, nous allons donc retoucher le fichier [[/​usr/​share/​lightdm-webkit/​themes/​pretty/​index.html]] pour ajouter le "​session selector"​ 
 +<​note>​cf: https://​askubuntu.com/​questions/​414344/​how-to-add-a-session-type-button-to-lightdm-webkit-greeter-theme</​note> ​
  
 <file html /​usr/​share/​lightdm-webkit/​themes/​pretty/​index.html>​ <file html /​usr/​share/​lightdm-webkit/​themes/​pretty/​index.html>​
Ligne 196: Ligne 214:
 <script type="​text/​javascript"​ src="​js/​greeter.js"></​script>​ <script type="​text/​javascript"​ src="​js/​greeter.js"></​script>​
  
 +<!-- lignes à insérer -->
  <script type="​text/​javascript">​  <script type="​text/​javascript">​
  function show_message(text)  function show_message(text)
Ligne 251: Ligne 269:
   
  </​script>​  </​script>​
 +<!-- fin des lignes à insérer -->
 </​head>​ </​head>​
  
Ligne 286: Ligne 305:
 </​file>​ </​file>​
  
-Nous retrouvons ​donc le sélecteur de session ​ en haut à gauche de la page de connexion +Nous avons donc ajouter ​le sélecteur de session ​ en haut à gauche de la page de connexion 
-{{~/​shot.resized.png}}+
  
  
 == Créer les scripts de session de lightdm == == Créer les scripts de session de lightdm ==
  
-Les scripts sont identifiés dans la configuration de lightdm ​avec les parametres +Les scripts sont identifiés dans la configuration de lightdm ​par les parametres 
-'''​ +  ​* ​session-setup-script= ​ 
-session-setup-script= ​et session-cleanup-script= +  * session-cleanup-script= 
-'''​+
 Ils sont exécutés en tant que root à la connexion et à la déconnexion de l'​utilisateur,​ on les créera dans le dossier /​etc/​lightdm/​session/​ Ils sont exécutés en tant que root à la connexion et à la déconnexion de l'​utilisateur,​ on les créera dans le dossier /​etc/​lightdm/​session/​
  
-configuration de lighdm ​+configuration de lightdm ​
 <file config /​etc/​lightdm.conf>​ <file config /​etc/​lightdm.conf>​
 [Seat:*] [Seat:*]
Ligne 375: Ligne 394:
  
 ===== Utilisation ===== ===== Utilisation =====
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-===== configuration du pc primtux ===== 
- 
-==== lighdm connexion ==== 
-Rappellons que les machines Primtux sont "​mono-utilisateur"​ **1 seul utilisateur sur 1 seule machine à la fois.** 
-Nous monterons donc les ressources partagées (suivant une information donnée par l'​utilisateur d'​appartenance à telle ou telle classe **) 
-avec lightdm à la connexion de l'​utilisateur. 
-Pour cela Lighdm dispose de 2 paramêtres:​ session-setup-script et session-cleanup-script définissant des scripts exécutés par root. 
-nous utilisons alors ces scripts pour monter et demonter nos partages 
-[[/​etc/​lightdm/​session/​session-setup.sh]] à la connexion 
-[[/​etc/​lightdm/​session/​session-cleanup.sh]] à la déconnexion 
- 
-=== Adapter l'​écran de connexion de primtux === 
-Primtux propose une interface de connexion simplifiée pour les enfants. 
-4 images permettent de choisir l'​utilisateur parmi mini,​maxi,​super et administrateur (le maitre). Quelques boutons ​ sont disponibles pour controler le PC parmi Arreter, Hiberner, Veille, Redémarrer. 
- 
-Il manque donc une liste pour la sélection de l'​appartenance de l'​utilisateur à telle ou telle classe. 
-Nous allons donc rajouter dans l'​interface de connexion ce choix avec le sélecteur de session habituel. 
-Commençons par ajouter les différentes sessions souhaitées 
- 
-=== Créer les sessions spécifiques par classe === 
-il n'est prédéfini qu'une seule session "​fluxbox",​ donc pour différencier les classes nous dupliquons simplement la session existante sous d'​autres noms correspondant aux critères d'​organisation (pour l'​exemple j'ai choisi une différensation par niveau classe). 
-en root  
-copier [[/​usr/​share/​xsessions/​fluxbox.desktop]] en /​usr/​share/​xsessions/​fluxbox-cp.desktop 
-copier [[/​usr/​share/​xsessions/​fluxbox.desktop]] en [[/​usr/​share/​xsessions/​fluxbox-ce1.desktop]] 
-... 
-copier [[/​usr/​share/​xsessions/​fluxbox.desktop]] en [[/​usr/​share/​xsessions/​fluxbox-cm2.desktop]] 
-(on pourrait imaginer une organisation avec le nom des professeurs ou tout autre choix) 
- 
-ensuite on va modifier, pour chaque nouvelle session créée, le parametre Name=fluxbox avec le texte qui appraitra dans le sélecteur 
-Name=Classe de CP pour fluxbox-cp.desktop,​ et ainsi de suite... 
- 
-=== Modifier l'​interface de connexion === 
-Nous allons maintenant rajouter dans l'​interface de connexion pour ajouter la liste déroulante du choix des différentes sessions que nous venons de créer. 
-La présentation de l'​écran de connexion de [[LightDm]] (dénommé greeter) est lightdm-webkit-greeter. Elle est configurable à l'aide de thèmes. 
-Primtux a été dessiné autour du theme pretty, nous allons donc retoucher le fichier [[/​usr/​share/​lightdm-webkit/​themes/​pretty/​index.html]] 
-pour ajouter le "​session selector"​ 
-cf: https://​askubuntu.com/​questions/​414344/​how-to-add-a-session-type-button-to-lightdm-webkit-greeter-theme ​ 
- 
-<file html /​usr/​share/​lightdm-webkit/​themes/​pretty/​index.html>​ 
-<​html>​ 
-<​head>​ 
-<link rel="​stylesheet"​ href="​css/​dock.css"​ /> 
-<link rel="​stylesheet"​ href="​css/​greeter.css"​ /> 
-<script type="​text/​javascript"​ src="​js/​jquery-1.8.0.min.js"></​script>​ 
-<script type="​text/​javascript"​ src="​js/​greeter.js"></​script>​ 
- 
- 
- <script type="​text/​javascript">​ 
- function show_message(text) 
- { 
-    table = document.getElementById('​message_table'​);​ 
-    label = document.getElementById('​message_label'​);​ 
-    ​label.innerHTML = text; 
-    if (text.length > 0) 
-        ​table.style.visibility = "​visible";​ 
-    else 
-        ​table.style.visibility = "​hidden";​ 
- } 
-  
- loading_text = ''​ 
-  
- function throbber() 
- { 
-    ​loading_text += '​.';​ 
-    if (loading_text == '​....'​) 
-        ​loading_text = '​.'​ 
-    label = document.getElementById('​countdown_label'​);​ 
-    ​label.innerHTML = loading_text;​ 
-    ​setTimeout('​throbber()',​ 1000); 
- } 
-  
- function authentication_complete() 
- { 
-    if (lightdm.is_authenticated) 
-    { 
-      ​session_list = document.getElementById('​session_list'​);​ 
-      ​session = lightdm.sessions[session_list.selectedIndex];​ 
-             ​lightdm.login (lightdm.authentication_user,​ session.key);​ 
-    } 
-    else 
-      ​show_message ("​Authentication Failed"​);​ 
-  
-    reset (); 
-    ​setTimeout('​throbber()',​ 1000); 
- } 
-  
-  
- document.write('<​table id="​user_table"​ style="​margin:​ auto;">'​);​ 
- document.write('<​select id="​session_list">'​);​ 
- for (i in lightdm.sessions) 
- { 
-   session = lightdm.sessions[i];​ 
-   if (session.key == lightdm.default_session) 
-     document.write('<​option selected="​selected"​ value="'​ + session.key + '">'​ + session.name + '</​option>'​);​ 
-          else 
-     document.write('<​option value="'​ + session.key + '">'​ + session.name + '</​option>'​);​ 
- } 
- document.write('</​select>'​);​ 
- document.write('</​table>'​);​ 
-  
- </​script>​ 
-</​head>​ 
- 
-<​body>​ 
- <div class="​dockArea">​ 
- <div class="​dock">​ 
- <ul id="​dockList">​ 
- </​ul>​ 
- </​div>​ 
- </​div>​ 
- <div id="​passwordArea"​ class="​password">​ 
- <table border="​0"​ align="​center">​ 
- <​tr>​ 
- <​td><​img src="​img/​transp.gif"​ width="​32"​ height="​32"/></​td>​ 
- <​td><​img src="​img/​transp.gif"​ width="​32"​ height="​32"/></​td>​ 
- <​td><​input id="​passwordField"​ type="​password"​ class="​password"/></​td>​ 
- <​td><​img src="​img/​action_ok.png"​ title="​Authentification"​ onclick="​submitPassword()"/></​td>​ 
- <​td><​img src="​img/​action_cancel.png"​ title="​Annuler"​ onclick="​cancelAuthentication()"/></​td>​ 
- </​tr>​ 
- </​table>​ 
- </​div>​ 
- <div id="​statusArea"​ class="​status">​ 
- <table border="​0"​ align="​center">​ 
- <​tr>​ 
- <​td><​img src="​img/​status.png"/></​td>​ 
- <​td><​span style="​font-size:​ 100%">​Erreur</​span></​td>​ 
- </​tr>​ 
- </​table>​ 
- </​div>​ 
- <div id="​timerArea"​ class="​timer"><​img src="​img/​timer.gif"/></​div>​ 
- <div id="​actionsArea"​ class="​actions"></​div>​ 
-        <div id="​logArea"​ class="​log"></​div>​ 
-</​body>​ 
-</​html>​ 
-</​file>​ 
  
 Nous retrouvons donc le sélecteur de session ​ en haut à gauche de la page de connexion Nous retrouvons donc le sélecteur de session ​ en haut à gauche de la page de connexion
-{{~/​shot.resized.png}} 
  
 +{{/​file-Rdd250454507c6931c0e755ac0ba8f905.png?​450}}
  
-=== Créer les scripts ​de session ​de lightdm ===+Il suffit à l'​utilisateur ​de choisir la session ​correspondant à sa classe puis à se connecter.
  
-Les scripts sont identifiés dans la configuration de lightdm avec les parametres +On peut prédéfinir un choix dans le fichier ​/​etc/​lightdm.conf (le nom du fichier de session ​dans /usr/​share/​xsessions/​ sans l'​extension .desktop)
-'''​ +
-session-setup-script= et session-cleanup-script= +
-'''​ +
-Ils sont exécutés en tant que root à la connexion et à la déconnexion de l'​utilisateur,​ on les créera ​dans le dossier ​/​etc/​lightdm/session/ +
- +
-configuration de lighdm ​+
 <file config /​etc/​lightdm.conf>​ <file config /​etc/​lightdm.conf>​
 [Seat:*] [Seat:*]
-greeter-session=lightdm-gtk-greeter +... 
-greeter-hide-users=false +user-session=fluxbox-cp 
-user-session=fluxbox +...
-#####​display-setup-script=/​root/​45x11-custom-xrandr-settings +
-session-setup-script=/​etc/​lightdm/​session/​session-setup.sh +
-session-cleanup-script=/​etc/​lightdm/​session/​session-cleanup.sh+
 </​file>​ </​file>​
  
 +==== Petites facilités pour l'​utilisateur ====
  
-Le script recoit dans son environnement diverses variables, ​+Créer les points de montage sur chaque PC primtux 
 +<code root> 
 +mkdir /​home/​forum 
 +chmod 777 /home/forum
  
-<code config retour de la commande>​ +mkdir /home/MaClasse
-DISPLAY=:​0 +
-USER=administrateur +
-PWD=/ +
-HOME=/home/administrateur +
-SHELL=/​bin/​sh +
-SHLVL=1 +
-LOGNAME=administrateur +
-XAUTHORITY=/​var/​run/​lightdm/​root/:​0 +
-PATH=/​usr/​local/​bin:/​usr/​bin:/​bin:/​usr/​local/​games:/​usr/​games +
-_=/​usr/​bin/​env+
 </​code>​ </​code>​
  
 +ajouter un dossier vide qui apparaitra dans le navigateur de fichier si le montage n'a pas réussi
 +<code root>
 +mkdir /​home/​forum/​Pas_Disponible
 +mkdir /​home/​MaClasse/​Pas_Fisponible
 +</​code>  ​
  
-mais le nom de session n'y est pas présent, il doit être récupéré ​dans le fichier .dmrc du répertoire HOME de l'​utilisateur.+Ajouter des liens symboliques ​dans les dossiers documents des utilisateurs 
 +<code root> 
 +ln -sf /home/forum /​home/​01-mini/​Documents/​forum 
 +ln -sf /home/forum /​home/​02-maxi/​Documents/​forum 
 +ln -sf /home/forum /​home/​03-super/​Documents/​forum 
 +ln -sf /home/forum /​home/​administrateur/​Documents/​forum
  
-<file config .dmrc> +ln -sf /​home/​MaClasse /​home/​01-mini/​Documents/​MaClasse 
-[Desktop] +ln -sf /​home/​MaClasse /​home/​02-maxi/​Documents/​MaClasse 
-Language=fr_FR.utf8 +ln -sf /​home/​MaClasse /​home/​03-super/​Documents/​MaClasse 
-Session=fluxbox-ce1 +ln -sf /​home/​MaClasse /​home/​administrateur/​Documents/​MaClasse 
-</file>+</code>
  
 +==== Comportement suppression de documents dans le forum ====
 +<note warning>​Par défaut, la suppression d'un fichier dans le navigateur de fichiers **PCManFM** opère une mise à la Corbeille du fichier.
  
-On devra fournir les mots de passe des montages ​à réaliser dans ce script, ces mots de passe sont qui ont été définis dans le chapitre +Cependant PCManFM n'​arrive pas à créer un dossier .Trash ​--BUG--</​note>​
-" configuration du serveur Samba " ci-dessus+
  
 +il faut donc modifier le comportement en effectuant une suppression immédiate ​
 +depuis menu --> Édition --> Préférences
 +
 +décocher : [ ] Mettre les fichiers supprimés à la "​Corbeille"​ au lieu de les effacer du disque ​
  
  
-<file bash /​etc/​lightdm/​session/​session-setup.sh>​ 
-#!/bin/bash 
-# session-setup.sh 
-#/​root/​45x11-custom-xrandr-settings 
  
-echo $* >/​root/​session 
-env >>/​root/​session 
  
-cat <<EOF | tee /​etc/​samba/​.credentials/​forum > /dev/null 
-username=sharing 
-password=tuxprof 
-domain=WORKGROUP 
-EOF 
-mount /home/forum 
  
-SESSION=$(grep Session $HOME/​.dmrc) 
-SESSION_LIGHTDM=${SESSION#​Session=} 
-SESSION_USER=${SESSION_LIGHTDM##​*-} 
  
-mount -t cifs //SRV/homes /​home/​MaClasse -o rw,​vers=2.1,​domain=WORKFLOW,​user=$SESSION_USER,​password=$SESSION_USER,​uid=$(id -u $USER),​forceuid,​gid=$(id -g $USER),​forcegid,​file_mode=0775,​dir_mode=0775 
-</​file>​ 
  
-<file bash /​etc/​lightdm/​session/​session-cleanup.sh>​ 
-#!/bin/bash 
-# session-cleanup.sh 
-# prls -emier test demonter dossiers partagés /​home/​MaClasse 
-umount /​home/​MaClasse 
-umount /home/forum 
-rm /​etc/​samba/​.credentials/​* 
-</​file>​ 
  
  
  
utilisateurs/lebardix/tutos/primtux-partage-de-donnees.txt · Dernière modification: 16/10/2018 02:59 par lebardix

Pied de page des forums

Propulsé par FluxBB