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).

#1 12-07-2014 17:46:59

Hypathie
Membre
Lieu : Chambéry _ Montréal
Distrib. : Jessie
Noyau : Linux debian 3.16.0-4-586
(G)UI : Cinnamon Mate Xfce
Inscription : 28-12-2013

Clavier-grec:script-contre-mise-à-jour

Coucou,
désolée pour le titre du fil !

Je cherche à rédiger un script pour "protéger" d'une éventuelle mise à jour, une configuration personnalisée de clavier, suite à cette discussion.

Mon problème, c'est que je ne sais pas trop ce que ferait une mise à jour.

Ne le sachant pas, je suis partie avec l'idée qu'elle pouvait du plus radical au moins radical :

1) renouveler entièrement le dossier : /usr/share/X11/xkb/symbols/
2) modifier l'un ou l'autre, ou les deux fichiers  :
/usr/share/X11/xkb/symbols/gr et /usr/share/X11/xkb/rules/evdev.xml

Donc voilà, le script "isgrc.sh", un peu lourd big_smile, mais qui permet de tester et de réinstaller un clavier grec fonctionnel (testé sur une VM) sur laquelle il n'y a pas eu d'installation du clavier. smile


#!/bin/sh

### Conditions du script:

##  Par sécurité, dans un dossier ~/GRC, se garder les copies des fichiers originaux avant installation :
#  /usr/share/X11/xkb/symbols/gr
#  /usr/share/X11/xkb/rules/evdev.xml

## Avoir copier dans ~/GRC des sauvegardes les fichiers rendant la disposition du clavier grec_hypathie fonctionnelle :
# cp /usr/share/X11/xkb/symbols/grec_hypathie ~/GRC/grec_hypathie
# cp /usr/share/X11/xkb/rules/evdev.xml ~/GRC/evdev-new

## Avec la commande sudoer (root) avoir configuré le fichier /etc/sudoers pour pouvoir utiliser sudo.

## pour lxde : avoir une sauvegade de /etc/default/keyboard dans ~/GRC et une copie de ~/GRC/etc_default_keyboard_new (ce fichier mofifié pour le clavier grec_hypathie).

##### isgrc.sh :

# partie qui teste la fonctionnalité du clavier :

var1=`find /usr/share/X11/xkb/symbols/ -type d -name "symbols" -mtime -1 -print`
var2=`ls /usr/share/X11/xkb/symbols | grep "grec_hypathie"`
var3=`grep -c "grec_hypathie" "/usr/share/X11/xkb/rules/evdev.xml"`

testgrc (){
  if [ "$var1" = "" ]; then
    echo ""
    echo "Il n'y a eu pas de modification $var1 dans /usr/share/X11/xkb/symbols/."
  elif [ "$var1" != "" ]; then
    echo ""
    echo "Le répertoire $var1 a été modifié il y a moins d'un jour."
  fi

  if [ "$var2" = "grec_hypathie" ]; then
    echo ""
    echo "Le fichier \"grec_hypathie\" est présent."
  else
    echo ""
    echo "Le fichier grec_hypathie est absent."
  fi

  if [ "$var3" -eq "6" ]; then
    echo ""
    echo "Le fichier \"/usr/share/X11/xkb/rules/evdev.xml\" est intact."
  elif [ "$var3" -eq "0" ]; then
    echo ""
    echo "Le fichier \"/usr/share/X11/xkb/rules/evdev.xml\" n'est pas configuré pour grec_hypathie."
  fi
 
  }

testgrc
#partie qui réinstalle le clavier :
echo ""
read -p "Voulez-vous installer le clavier grec_hypathie ? [O|N] :  " reponse1
  if [ "$reponse1" = "O" ]; then
      sudo cp ~/GRC/grec_hypathie /usr/share/X11/xkb/symbols/grec_hypathie
      sudo cp ~/GRC/evdev-new /usr/share/X11/xkb/rules/evdev.xml
  elif [ "$reponse1" = "N" ]; then
  echo "Le clavier grec_hypathie ne sera pas installé."
  exit 2
  fi

echo "Les fichiers de configuration pour le clavier grec ont été installés."
var4=`echo "${XDG_CURRENT_DESKTOP}"`
   if [ $var4 = "LXDE" ]; then
    echo ""
    echo "Votre environnement est $var4."
    echo ""
   fi

read -p "Voulez-vous ajouter 'grec_hypathie' à la liste des claviers ? [O/N] : " reponse2
    if [ "$reponse2" = "O" ]; then
      echo "shift+Alt pour passer d'un clavier à l'autre"
      sudo cp ~/GRC/etc-default-keyboard-new /etc/default/keyboard
      sudo udevadm trigger --subsystem-match=input --action=change
     
    elif [ "$reponse2" = "N" ]; then
      echo ""
      echo "N'oubliez pas d'ajouter "grec_hypathie" pour l'utiliser !"
    fi
echo ""
echo "Le système doit être redémarré !"
echo ""
read -p "Voulez-vous redémarrer maintenant ?[O/N]  : " reponse3
  if [ "$reponse3" = "O" ]; then
       echo ""
       echo "Après le redémarrage, n'oubliez pas de sélectionner le clavier \'grec_hypathie\' parmi les configurations claviers."
       sudo /sbin/shutdown -r now
  elif [ "$reponse3" = "N" ]; then
       echo ""
       echo "Le clavier sera actif au prochain redémarrage !"
       exit 2
  fi

exit 0

 



Ensuite je pense configurer cron pour qu'il se lance par exemple tous les dimanches.

Je n'ai pas trouvé comment détecter une mise à jour de xkb... sinon j'aurais testé la fonctionnalité de la disposition à condition qu'il y eu mise à jour de kxb hmm

Dernière modification par Hypathie (24-07-2014 12:13:06)

Hors ligne

Pied de page des forums