Commit | Line | Data |
---|---|---|
b84b4c5e TN |
1 | #! /bin/sh |
2 | # Script auf-reflets-tse de lancement de connexion Reflets-TSE (Coda) | |
3 | # Copyright © 2007-2008 Agence universitaire de la Francophonie | |
4 | # Autheur : Progfou <jean-christophe.andre@auf.org> | |
5 | # Date de création : juillet 2007 | |
6 | ||
7 | # chargement de la configuration en place le cas échéant | |
8 | [ -r "$HOME/.auf/reflets/tse" ] && . "$HOME/.auf/reflets/tse" | |
9 | ||
10 | # calcul des options qui n'auraient pas été configurées | |
11 | [ -z "$title" ] && title="Reflets-TSE (CODA)" | |
ba675450 | 12 | [ -z "$geometry" ] && geometry="auto" |
b84b4c5e TN |
13 | [ -z "$printer" ] && printer="auto" |
14 | [ -z "$machine" ] && machine=`echo $USERNAME | tr a-z A-Z | tr -dc A-Z0-9` | |
15 | [ -z "$username" ] && username="$USERNAME" | |
16 | [ -z "$domain" ] && domain="REFLETS" | |
17 | [ -z "$server" ] && server="reflets-tse.auf" | |
ba675450 | 18 | [ -z "$extra" ] && extra="" |
b84b4c5e TN |
19 | |
20 | # gestion des changements dans les options de configuration | |
21 | case "$version" in | |
ba675450 P |
22 | 2) |
23 | # version 2 (version actuelle) => c'est bon, rien de plus à faire | |
24 | ;; | |
b84b4c5e | 25 | 1) |
ba675450 P |
26 | # version 1 => passer à la version actuelle |
27 | version=2 | |
28 | # migration de l'option de géométrie en « presque plein-écran » | |
29 | [ "$geometry" = "fullscreen" ] && geometry="auto" | |
30 | # forcer la ré-écriture du fichier de configuration | |
31 | rm -f "$HOME/.auf/reflets/tse" | |
b84b4c5e TN |
32 | ;; |
33 | *) | |
34 | # pas de version => passer à la version actuelle | |
35 | version=1 | |
36 | # forcer les nouvelles options | |
37 | geometry="fullscreen" | |
38 | printer="auto" | |
39 | # forcer la ré-écriture du fichier de configuration | |
40 | rm -f "$HOME/.auf/reflets/tse" | |
41 | ;; | |
42 | esac | |
43 | ||
44 | # création d'un fichier de configuration s'il n'y en a pas encore | |
45 | if [ ! -f "$HOME/.auf/reflets/tse" ] | |
46 | then | |
47 | mkdir -p "$HOME/.auf/reflets" | |
48 | cat > "$HOME/.auf/reflets/tse" << __EOF__ | |
49 | version="$version" | |
50 | title="$title" | |
51 | geometry="$geometry" | |
52 | printer="$printer" | |
53 | machine="$machine" | |
54 | username="$username" | |
55 | domain="$domain" | |
56 | server="$server" | |
ba675450 | 57 | extra="$extra" |
b84b4c5e TN |
58 | __EOF__ |
59 | fi | |
60 | ||
61 | # calcul de la valeur finale de l'option de géométrie | |
62 | if [ "$geometry" = "auto" ] | |
63 | then | |
ba675450 | 64 | 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 |
65 | fi |
66 | if [ "$geometry" = "fullscreen" ] | |
67 | then | |
68 | geometry="-f" | |
ba675450 P |
69 | elif [ "$geometry" = "workarea" ] |
70 | then | |
71 | geometry="-g $geometry -D" | |
b84b4c5e TN |
72 | else |
73 | geometry="-g $geometry" | |
74 | fi | |
75 | ||
76 | # calcul de la valeur finale de l'option de connexion d'imprimante | |
77 | if [ "$printer" = "auto" ] | |
78 | then | |
abf03966 | 79 | printer=`LANG= lpstat -v | sed -n '/cups-pdf:/{s/^.* \([^ ]*\): .*$/\1/p;q}'` |
b84b4c5e TN |
80 | fi |
81 | if [ -n "$printer" ] | |
82 | then | |
83 | printer="-r printer:$printer" | |
84 | else | |
76a6b671 P |
85 | if [ -n "$DISPLAY" -a -x /usr/bin/zenity ]; then |
86 | zenity --warning --text "Attention : aucune imprimante configurée ! \n"\ | |
87 | "\nL'imprimante virtuelle PDF est-elle bien installée ?" | |
88 | else | |
89 | echo "Attention : aucune imprimante configurée !" | |
90 | echo "L'imprimante virtuelle PDF est-elle bien installée ?" | |
91 | fi | |
b84b4c5e TN |
92 | fi |
93 | ||
94 | # lancement de la connexion RDP | |
ba675450 P |
95 | exec rdesktop -T "$title" $geometry $printer -a 8 -z -P -x m \ |
96 | -n "$machine" -u "$username" -d "$domain" $extra "$server" |