#!/bin/sh # Par Julien MOREAU ( jmoreau@bigfoot.com ) nbps=1 # Nombre de paramètres souhaités nom_cmde=`basename $0` # Nom de la commande usage="Usage: $nom_cmde |moi" # Message d'aide usage=$usage"\n\tDonne l'adresse du terminal X d'un utilisateur." if test `uname` != "HP-UX" ; then e="-e" ; fi if [ $# -lt $nbps ] ; then # Si le nombre de paramètres est incorrecte, echo $e $usage 1>&2 ; exit 2 # Affichage aide puis arrêt. fi # sufx="isty-info.uvsq.fr:0.0" # Suffixe à l'ISTY sufx=":0.0" # Suffixe par défaut argv=$* ; argc=$# for nom in $argv ; do if [ $argc -gt 1 ] ; then echo "$nom : \c" 1>&2 ; fi if [ $nom = "moi" ] ; then if test -n "$DISPLAY" ; then echo $DISPLAY ret=0 ; continue else nom=`whoami` fi fi grep -q ^$nom /etc/passwd if [ $? -ne 0 ] ; then echo "Login inconnu sur ce serveur." 1>&2 ; ret=3 ; continue fi ps -u $nom >> /dev/null 2>&1 if [ $? -eq 1 ] ; then echo "Cette personne n'est pas loguée en ce moment." 1>&2 ret=4 ; continue fi res=`who -T|grep ^$nom|grep -v ' old '` if test -z "$res" ; then echo "Cette personne n'a pas de fenêtre\c" 1>&2 echo " shell d'ouverte en ce moment." 1>&2 ; ret=5 ; continue fi ligne=`who -T|grep -e ' \. ' -e ' 0:' -e ' 1:' | grep ^$nom | head -n1` if test -z "$ligne" ; then ligne=`echo $res | head -n1` ; fi set $ligne ret=$? echo $9|grep -q ^*.*.*$ if [ $? -eq 0 ] ; then echo $9 else poste=`echo $9|cut -d':' -f1 #|cut -d'.' -f1` if test -z "$poste" ; then poste=$MACHINE ; fi echo $poste.$sufx fi done exit $ret