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:13]
lebardix [Installation]
utilisateurs:lebardix:tutos:primtux-partage-de-donnees [30/09/2018 23:21]
lebardix [Utilisation]
Ligne 378: Ligne 378:
  
 ===== 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
Ligne 530: Ligne 383:
  
  
-=== Créer les scripts de session de lightdm === 
- 
-Les scripts sont identifiés dans la configuration de lightdm avec les parametres 
-'''​ 
-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>​ 
-[Seat:*] 
-greeter-session=lightdm-gtk-greeter 
-greeter-hide-users=false 
-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>​ 
- 
- 
-Le script recoit dans son environnement diverses variables, ​ 
- 
-<code config retour de la commande>​ 
-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>​ 
- 
- 
-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. 
- 
-<file config .dmrc> 
-[Desktop] 
-Language=fr_FR.utf8 
-Session=fluxbox-ce1 
-</​file>​ 
- 
- 
-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 
-" configuration du serveur Samba " ci-dessus 
- 
- 
- 
-<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