De retour de congés...
[macros-openoffice.git] / auf-poste-client-reflets / auf-reflets-tse
CommitLineData
835191b7 1#! /bin/bash
b84b4c5e 2# Script auf-reflets-tse de lancement de connexion Reflets-TSE (Coda)
588ad7df 3# Copyright © 2007-2009 Agence universitaire de la Francophonie
b84b4c5e
TN
4# Autheur : Progfou <jean-christophe.andre@auf.org>
5# Date de création : juillet 2007
6
4684b291
P
7# extrait de configuration dans /etc/auf-reflets-tse.conf
8etcconf() {
9 # $1 = nom de l'option, $2 = valeur par défaut
10 option="$1"
11 value="$2"
12 if [ -r /etc/auf-reflets-tse.conf ]
13 then
14 confvalue="`sed -n 's/^'"$option"'="\([^"]*\)"$/\1/p' /etc/auf-reflets-tse.conf`"
15 [ -n "$confvalue" ] && value="$confvalue"
16 fi
17 echo $value
18}
19
b84b4c5e
TN
20# chargement de la configuration en place le cas échéant
21[ -r "$HOME/.auf/reflets/tse" ] && . "$HOME/.auf/reflets/tse"
22
23# calcul des options qui n'auraient pas été configurées
24[ -z "$title" ] && title="Reflets-TSE (CODA)"
ba675450 25[ -z "$geometry" ] && geometry="auto"
b84b4c5e 26[ -z "$printer" ] && printer="auto"
b84b4c5e 27[ -z "$username" ] && username="$USERNAME"
da40e1bb 28[ -z "$machine" ] && machine=`echo $username | tr a-z A-Z | tr -dc A-Z0-9`
b84b4c5e
TN
29[ -z "$domain" ] && domain="REFLETS"
30[ -z "$server" ] && server="reflets-tse.auf"
ba675450 31[ -z "$extra" ] && extra=""
b84b4c5e 32
4684b291
P
33# autorise les configuration spécifiques à des machines
34[ "$geometry" = "auto" ] && geometry="`etcconf geometry auto`"
35[ "$printer" = "auto" ] && printer="`etcconf printer auto`"
36extra="$extra `etcconf extra ""`"
37
da40e1bb 38# suppression de la licence si elle vient du serveur AD
835191b7 39licence="$HOME/.rdesktop/licence.${machine:0:15}"
87e68b52 40if [ -r "$licence" ]
4684b291 41then
da40e1bb
P
42 # XXX: la valeur "skip" est empirique (étude de fichiers de licence)
43 # TODO: récupérer la valeur "count" à la position 92 (=> skip=91)
44 serveur_licence="`dd bs=1 skip=92 count=4 if="$licence" 2>/dev/null | iconv -f UCS-2BE -t UTF-8`"
45 [ "$serveur_licence" = "AD" ] && rm -f "$licence"
4684b291
P
46fi
47
b84b4c5e
TN
48# gestion des changements dans les options de configuration
49case "$version" in
ba675450
P
50 2)
51 # version 2 (version actuelle) => c'est bon, rien de plus à faire
52 ;;
b84b4c5e 53 1)
ba675450
P
54 # version 1 => passer à la version actuelle
55 version=2
56 # migration de l'option de géométrie en « presque plein-écran »
57 [ "$geometry" = "fullscreen" ] && geometry="auto"
58 # forcer la ré-écriture du fichier de configuration
59 rm -f "$HOME/.auf/reflets/tse"
b84b4c5e
TN
60 ;;
61 *)
62 # pas de version => passer à la version actuelle
63 version=1
64 # forcer les nouvelles options
65 geometry="fullscreen"
66 printer="auto"
67 # forcer la ré-écriture du fichier de configuration
68 rm -f "$HOME/.auf/reflets/tse"
69 ;;
70esac
71
72# création d'un fichier de configuration s'il n'y en a pas encore
73if [ ! -f "$HOME/.auf/reflets/tse" ]
74then
75 mkdir -p "$HOME/.auf/reflets"
76 cat > "$HOME/.auf/reflets/tse" << __EOF__
77version="$version"
78title="$title"
79geometry="$geometry"
80printer="$printer"
81machine="$machine"
82username="$username"
83domain="$domain"
84server="$server"
ba675450 85extra="$extra"
b84b4c5e
TN
86__EOF__
87fi
88
89# calcul de la valeur finale de l'option de géométrie
90if [ "$geometry" = "auto" ]
91then
ba675450 92 geometry=`LANG= xwininfo -root | awk 'BEGIN{w=800;h=600}/Width:/{w=$2}/Height:/{h=$2}END{printf("%sx%s+%s+%s\n",w-10,h-78,0,25)}'`
b84b4c5e
TN
93fi
94if [ "$geometry" = "fullscreen" ]
95then
96 geometry="-f"
ba675450
P
97elif [ "$geometry" = "workarea" ]
98then
99 geometry="-g $geometry -D"
b84b4c5e
TN
100else
101 geometry="-g $geometry"
102fi
103
104# calcul de la valeur finale de l'option de connexion d'imprimante
105if [ "$printer" = "auto" ]
106then
abf03966 107 printer=`LANG= lpstat -v | sed -n '/cups-pdf:/{s/^.* \([^ ]*\): .*$/\1/p;q}'`
b84b4c5e
TN
108fi
109if [ -n "$printer" ]
110then
111 printer="-r printer:$printer"
112else
76a6b671
P
113 if [ -n "$DISPLAY" -a -x /usr/bin/zenity ]; then
114 zenity --warning --text "Attention : aucune imprimante configurée ! \n"\
115 "\nL'imprimante virtuelle PDF est-elle bien installée ?"
116 else
117 echo "Attention : aucune imprimante configurée !"
118 echo "L'imprimante virtuelle PDF est-elle bien installée ?"
119 fi
b84b4c5e
TN
120fi
121
4684b291
P
122# toc-toc-toc
123ping -c1 "$server" >/dev/null
124
b84b4c5e 125# lancement de la connexion RDP
da40e1bb 126exec rdesktop -T "$title" $geometry $printer -a 8 -z -P -x m \
ba675450 127 -n "$machine" -u "$username" -d "$domain" $extra "$server"