releasing version 1.6
authorProgfou <jean-christophe.andre@auf.org>
Thu, 7 May 2009 00:02:23 +0000 (07:02 +0700)
committerProgfou <jean-christophe.andre@auf.org>
Thu, 7 May 2009 00:02:23 +0000 (07:02 +0700)
auf-poste-client-reflets/auf-reflets-tse
auf-poste-client-reflets/debian/changelog

index 256393d..fada817 100755 (executable)
@@ -4,6 +4,19 @@
 # Autheur : Progfou <jean-christophe.andre@auf.org>
 # Date de création : juillet 2007
 
+# extrait de configuration dans /etc/auf-reflets-tse.conf
+etcconf() {
+  # $1 = nom de l'option, $2 = valeur par défaut
+  option="$1"
+  value="$2"
+  if [ -r /etc/auf-reflets-tse.conf ]
+  then
+    confvalue="`sed -n 's/^'"$option"'="\([^"]*\)"$/\1/p' /etc/auf-reflets-tse.conf`"
+    [ -n "$confvalue" ] && value="$confvalue"
+  fi
+  echo $value
+}
+
 # chargement de la configuration en place le cas échéant
 [ -r "$HOME/.auf/reflets/tse" ] && . "$HOME/.auf/reflets/tse"
 
 [ -z "$server"   ] && server="reflets-tse.auf"
 [ -z "$extra"    ] && extra=""
 
+# autorise les configuration spécifiques à des machines
+[ "$geometry" = "auto" ] && geometry="`etcconf geometry auto`"
+[ "$printer" = "auto"  ] && printer="`etcconf printer auto`"
+extra="$extra `etcconf extra ""`"
+
+# vérification de la présence d'une licence
+if [ ! -r "$HOME/.rdesktop/licence.$machine" ]
+then
+  # licence inexistante => recherche d'une ancienne licence
+  licence="`ls -tr "$HOME/.rdesktop/licence".* | tail -1`"
+  # licence trouvée => on utilise le nom de machine indiqué
+  [ -n "$licence" ] && machine="`basename "$licence" | cut -d. -f2`"
+fi
+
 # gestion des changements dans les options de configuration
 case "$version" in
   2)
@@ -91,6 +118,23 @@ else
   fi
 fi
 
+# toc-toc-toc
+ping -c1 "$server" >/dev/null
+
 # lancement de la connexion RDP
-exec rdesktop -T "$title" $geometry $printer -a 8 -z -P -x m \
+rdesktop -T "$title" $geometry $printer -a 8 -z -P -x m \
        -n "$machine" -u "$username" -d "$domain" $extra "$server"
+status="$?"
+[ $status != 0 ] && echo "DEBUG: statut de sortie de rdesktop : $status"
+
+# en cas de sortie anormale, on écarte la licence utilisée
+# (note : status=2 en cas de fermeture forcée de la fenêtre)
+licence="$HOME/.rdesktop/licence.$machine"
+if [ $status != 0 -a $status != 2 -a -r "$licence" ]
+then
+  # FIXME: TODO: tester les cas de problèmes de licences
+  echo -n "DEBUG: " \
+  mv "$licence" "$licence"_DISABLED
+fi
+
+exit $status
index 91bd874..0b26ccf 100644 (file)
@@ -1,3 +1,10 @@
+auf-poste-client-reflets (1.6) hardy; urgency=low
+
+  * Configuration spécifique à une machine via /etc/auf-reflets-tse.conf.
+  * Utilisation d'une ancienne licence le cas échéant.
+
+ -- Progfou <jean-christophe.andre@auf.org>  Thu, 07 May 2009 06:57:51 +0700
+
 auf-poste-client-reflets (1.5) hardy; urgency=low
 
   * La géométrie "auto" fait maintenant du « presque plein-écran ».