Forum Programmation.shell Débutant en shell script needs help !!

Posté par .
Tags : aucun
0
6
juin
2005
J'essaie de développer un script pour le lancement automatique de vncserver sur mon serveur. Mais bon, il y a intérêt que cela fonctionne du premier coup, car le serveur n'est pas à côté de moi.

Voici le code:

#####################
#!/bin/sh

if [ -f "/tmp/.X*-lock" ] ; then echo "VNC Temp files detected"
for $i in /tmp/.X*-lock
if /bin/rm $i; then echo "VNC temp files deleted"
else echo "Error: can't delete VNC temp files"
fi
else echo "VNC ready to be launched"
exit
fi

if su --command='vncserver :1 -depth 16 -geometry 1024x768' timouton; then echo "Xtight server starts";
else echo "ERREUR: Impossible de demarrer Xtight Server"
fi
exit
#####################


J'ai une erreur au niveau de /tmp/.X*-lock (fin de chaine inattendue. J'ai aussi bien peur que ma ligne "su--command ..." ne bloque le serveur au démarrage pour demander le password du user "timouton" sous lequel vncserver doit être lancé.
  • # Test si le serveur est déjà lancé

    Posté par . Évalué à 1.

    une erreur au niveau de /tmp/.X*-lock
    Pourquoi faire un test pour savoir si ce genre de fichier existe puisque de toute façon tu les supprimes ? Trouves un autre test pour vérifier que le server n'est pas déjà lancé.

    demander le password du user "timouton"
    Si c'est root qui lance la script, aucun mot de passe sera demandé par su.
    • [^] # Re: Test si le serveur est déjà lancé

      Posté par . Évalué à 1.

      Ce n'était pas un moyen de vérifier que le serveur tourne déjà... Je vérifiais seulement si les fichiers existent pour les supprimer... mais bon, c'est vrai autant les supprimer direct qu'ils soient présent ou non.

      Sinon, Lorsque le script est lancé au démarrage, c'est root qui le lance ?
  • # propositions :

    Posté par . Évalué à 1.

    #####################
    #!/bin/sh

    if [ -f /tmp/.X*-lock ]
    then
    echo "VNC Temp files detected"
    for $i in /tmp/.X*-lock
    do
    ( /bin/rm $i && echo "VNC temp files deleted" ) || echo "Error: can't delete VNC temp files"

    fi
    else echo "VNC ready to be launched"
    exit
    fi

    ( su --command='vncserver :1 -depth 16 -geometry 1024x768' timouton && echo "Xtight server starts" ) || echo "ERREUR: Impossible de demarrer Xtight Server"


    #####################

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.