Forum Programmation.shell Script - Automatiser la réponse à des questions.

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
19
mai
2020

Bonjour à tous,

Je cherche actuellement à créer un script qui permettrait l'installation d'un logiciel. Petit problème, l'installation demande de rentrer diverses informations : soit simplement un Y/N en ligne de commande (je sais qu'il est possible de le faire avec la commande echo par exemple) soit des informations à compléter via une interface graphique, tel que sélectionner une des options ou entrer un mot de passe. J'ai effectué quelques recherches pour savoir comment automatiser la réponse aux GUI mais je n'ai rien trouvé d'intéressant.
Quelqu'un aurait-il une piste pour pouvoir réaliser cela?

GUI

Merci d'avance :)

  • # Dialog pour les TUI et Zenity pour les GUI

    Posté par  (site web personnel) . Évalué à 1.

  • # xdotool ?

    Posté par  . Évalué à 1.

    Salut,

    Je ne suis pas certain d'avoir bien compris le problème, mais peut-être que xdotool peut faire le boulot ?

    Matricule 23415

    • [^] # Re: xdotool

      Posté par  . Évalué à 1. Dernière modification le 19 mai 2020 à 10:54.

      Merci pour vos réponses.

      Je pense avoir mal décrit mon problème. Pour être plus claire, j'installe le paquet Postgresql depuis la commande apt-get install. Le problème est qu'il est nécessaire de configurer postgresql depuis une GUI, comme montré sur l'image:
      Texte du lien

      Ceci pose problème dans mon cas étant donné que j'aimerai bien automatiser l'installation et la configuration de Postgresql.

      à première vue, xdotool, zenity et l'autre paquet ne correspondent pas à mon cas.

      Merci d'avance :)

      • [^] # Re: xdotool

        Posté par  . Évalué à 1. Dernière modification le 19 mai 2020 à 11:51.

        Salut,

        Désolé, ce n'est toujours pas clair pour moi…

        Tu peux tenter en pipant la commande yes, alors, du coup, non ?

        Ça te fera une installation sans aucune personnalisation, charge à ton script de faire le reste du boulot.

        Edit : la commande en dessous est peut-être meilleure, désolé pour le bruit…

        Matricule 23415

  • # (Outre) Passer l'interface de configuration

    Posté par  . Évalué à 5.

    La réponse se trouve peut-être par ici (pour Debian) : https://unix.stackexchange.com/questions/332909/update-upgrade-debian-and-skip-any-interactions

    La distrib va installer les paquets avec une config par défaut et/ou vide/minimale.

    Par contre ton script devra lui même éditer les fichiers de config avec les valeurs voulues suivant le prompt que tu donneras à l'utilisateur.

  • # Automatisation (v2)

    Posté par  . Évalué à 1.

    Re salut,

    Comme j'ai l'impression de ne toujours pas comprendre à quel niveau tu place la barre, as-tu regardé les logiciels comme :

    • chef,
    • puppet,
    • ansible,
    • saltstack…

    Et il y en a probablement d'autres.

    Matricule 23415

  • # En ligne de commande c'est possible

    Posté par  (site web personnel) . Évalué à 6.

    Je ne sais pas pour les GUI/TUI, mais en ligne de commande tu peux automatiser les entrées attendues avec expect.

    « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

    • [^] # Re: En ligne de commande c'est possible

      Posté par  . Évalué à 4.

      Je suis d'accord avec cette réponse, il doit falloir personnaliser la variable 'TERM' pour qu'apt ne lance pas les questions en ncurses mais en shell de base, et avec expect tu peux script les entrées/sorties en fonction de ce qui apparait à l'écran.

  • # S'agissant d'automatiser une installation

    Posté par  . Évalué à 2.

    Perso, je me tournerais vers ansible ou puppet

    ++
    Gi)

  • # sikulix

    Posté par  . Évalué à 1. Dernière modification le 19 mai 2020 à 22:44.

    Si ton applicatif à automatiser n'a pas d'option en ligne de commande ou d'installation silencieuse tu peux regarder du côté de sikulix.

    http://sikulix.com/

    Tu as des tutos sur youtube si tu veux voir si ça correspond à ton besoin, ça marche par reconnaissance d'image et simule une souris et un clavier.

  • # apt-get quiet

    Posté par  . Évalué à 3. Dernière modification le 19 mai 2020 à 23:52.

    En posisionnant avant
    DEBIAN_FRONTEND=noninteractive
    export DEBIAN_FRONTEND
    En utilisant apt-get -yq paquet
    ça doit fonctionner mais un script de configuration de postgres est ensuite à créer
    pour executer ce script Ansible peut être intéressant.

Suivre le flux des commentaires

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