Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 27-02-2021 16:49:17

almotra
Membre
Inscription : 27-02-2021

Réponse automatique sur script

Bonjour,
J'installe régulièrement des systèmes jeedom, lors de l'installation, une fenêtre s'affiche ou j'ai le choix entre yes ou non que je valide par entrée.
Je me suis préparé une clé usb avec un script d'installation automatique au démarrage avec systemd, tous fonctionne bien jusqu'au moment ou je devrais répondre a cette question, mais vu que ca s'installe avec systemd et un script, je ne sais pas comment y répondre et je voudrais pouvoir y répondre automatiquement.
J'espère avoir était suffisamment précis dans ma demande.
Si quelqu'un a une idée ?

Cordialement
Alex

Dernière modification par almotra (27-02-2021 16:50:10)

Hors ligne

#2 27-02-2021 16:57:36

saitama-san
Membre
Inscription : 28-07-2019

Re : Réponse automatique sur script

utiliser la commande "yes" ?

man yes

Hors ligne

#3 27-02-2021 17:12:41

almotra
Membre
Inscription : 27-02-2021

Re : Réponse automatique sur script

Ok, moi je doit répondre no.
La partie de mon script qui coince : wget -O- https://raw.githubusercontent.com/jeedo … install.sh | bash
Ou dois-je mettre cette commande ?

Autre info, ce n'est pas une simple question en ligne genre y/n, ou je doit entrer y ou n puis entrée, j'ai une fenêtre qui s'affiche, avec les flèches je sélectionne yes ou no, et je tape sur entrée pour valider, je ne sais pas si c'est le même principe.

1614441581.png

Dernière modification par almotra (27-02-2021 17:41:58)

Hors ligne

#4 27-02-2021 17:20:25

almotra
Membre
Inscription : 27-02-2021

Re : Réponse automatique sur script

Je viens de remarqué qu'en installation manuelle, quand cette fenêtre s'affiche, l'installation reprend en cliquant sur exit.

Dernière modification par almotra (27-02-2021 17:35:49)

Hors ligne

#5 27-02-2021 20:47:17

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-16-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Réponse automatique sur script

Hello
C'est une box dialog (man dialog) je vois pas a quel moment elle doit apparaître dans ton script
si y'a pas moyen de ne pas l'afficher ,est ce que le script peut continuer?
je pensais en simulant l'appui d'une touche avec xdotool
je l'avais utilisé dans un script ,il faut donner le focus sur la bonne fenêtre
recupérer id de la fenêtre , donner le focus et la touche a appuyer

id=$(xdotool search --name 'stephane@debian') ; xdotool windowfocus --sync $id; xdotool key F5'


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#6 27-02-2021 21:09:58

almotra
Membre
Inscription : 27-02-2021

Re : Réponse automatique sur script

Voici le script, un peu long, je met juste le debut, la fenêtre apparaît a l'étape 2, je pense a l'installation de samba (smbclient)

#!/bin/sh
VERT="\\033[1;32m"
NORMAL="\\033[0;39m"
ROUGE="\\033[1;31m"
ROSE="\\033[1;35m"
BLEU="\\033[1;34m"
BLANC="\\033[0;02m"
BLANCLAIR="\\033[1;08m"
JAUNE="\\033[1;33m"
CYAN="\\033[1;36m"

if [ $(id -u) != 0 ] ; then
  echo "Les droits de super-utilisateur (root) sont requis pour installer Jeedom"
  echo "Veuillez lancer 'sudo $0' ou connectez-vous en tant que root, puis relancez $0"
  exit 1
fi

apt_install() {
  apt-get -y install "$@"
  if [ $? -ne 0 ]; then
    echo "${ROUGE}Ne peut installer $@ - Annulation${NORMAL}"
    exit 1
  fi
}

mysql_sql() {
  echo "$@" | mysql -uroot -p${MYSQL_ROOT_PASSWD}
  if [ $? -ne 0 ]; then
    echo "C${ROUGE}Ne peut exécuter $@ dans MySQL - Annulation${NORMAL}"
    exit 1
  fi
}

step_1_upgrade() {
  echo "---------------------------------------------------------------------"
  echo "${JAUNE}Commence l'étape 1 de la révision${NORMAL}"
 
  apt-get update
  apt-get -f install
  apt-get -y dist-upgrade
  echo "${VERT}étape 1 de la révision réussie${NORMAL}"
}

step_2_mainpackage() {
  echo "---------------------------------------------------------------------"
  echo "${JAUNE}Commence l'étape 2 paquet principal${NORMAL}"
  apt_install ntp ca-certificates unzip curl sudo cron
  apt-get -y install locate tar telnet wget logrotate fail2ban dos2unix ntpdate htop iotop vim iftop smbclient
  apt-get -y install usermod
  apt-get -y install visudo
  apt-get -y install git python python-pip
  apt-get -y install python3 python3-pip
  apt-get -y install software-properties-common
  apt-get -y install libexpat1 ssl-cert
  apt-get -y install apt-transport-https
  apt-get -y install xvfb cutycapt xauth
  apt-get -y install at
  add-apt-repository non-free
  apt-get update
  apt-get -y install libav-tools
  apt-get -y install libsox-fmt-mp3 sox libttspico-utils
  apt-get -y install espeak
  apt-get -y install mbrola
  apt-get -y remove brltty
  apt-get -y remove net-tools
  apt-get -y install nmap
  apt-get -y install ffmpeg
  echo "${VERT}étape 2 paquet principal réussie${NORMAL}"
}

step_3_database() {
  echo "---------------------------------------------------------------------"
  echo "${JAUNE}Commence l'étape 3 base de données${NORMAL}"

Hors ligne

#7 28-02-2021 00:44:36

hybridemoineau
Membre
Inscription : 21-02-2016

Re : Réponse automatique sur script

On ne voit pas où apparaît samba dans ton script.

Surtout, pour ce qui est de valider en cliquant sur un des boutons d'une fenêtre, la solution est celle donnée par Croutons.

Par exemple, pour lancer dans un script une appli avec une fenêtre au maximum d'étendue dans xfce4 :

xdotool key alt+F10



xdotool est un paquet qui doit être installé à part, non une instruction bash native.

Pour ce qui est de la commande "yes", d'après le man, pour répondre "no" automatiquement, il faut mettre

yes no



Mais ça concerne les enchaînements dans un terminal, pas dans dans des fenêtres.

Dernière modification par hybridemoineau (28-02-2021 00:47:54)

Hors ligne

#8 28-02-2021 10:43:30

Croutons
Membre
Distrib. : Debian10 Buster
Noyau : Linux 4.19.0-16-amd64
(G)UI : Mate
Inscription : 16-12-2016

Re : Réponse automatique sur script

Bon j'ai essayé en récupérant id de la fenetre de dialog de smbclient puis depuis un autre terminal avec xdotool j'arrive a simuler l'appui d'une touche
mais quand j’essaie de le mettre dans un script j'arrive a rien la boite dialog se freeze
Par contre la dialog box n’apparaît que lors d'une première installation de smbclient, donc pour ne pas avoir de soucis il faudrait créer le fichier de conf avant d'installer smclient

/etc/samba/smb.conf

Dernière modification par Croutons (28-02-2021 10:43:48)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#9 28-02-2021 11:34:35

almotra
Membre
Inscription : 27-02-2021

Re : Réponse automatique sur script

Bonjour,
J'ai réussi a contourner le problème en installant smbclient sur ma clé de démarrage, comme ca il est déjà installé et lors de l'installation automatique, ca ne bloque plus.
Mais ton idée de créer un fichier smb.conf m'intéresse mais le fichier doit être vide ou dois je y mettre des informations ?

Hors ligne

Pied de page des forums