Scénario -> script bash : Pseudo-terminal will not be allocated because stdin is not a terminal

Salut à tous,

J’essaie de piloter l’écran d’une machine Debian distante (celle qui affiche les designs).

Les deux scripts bash sont fonctionnels dans un terminal sur l’hôte Jeedom :

Script bash extinction écran distant :

sshpass -p $PASSWORD ssh $USER@$TARGET << EOF
xset -display :0 dpms force off 
EOF

Script bash allumage écran distant :
Scénario > script > bash : 6. Détails :

sshpass -p $PASSWORD ssh $USER@$TARGET << EOF
xset -display :0 dpms force on
EOF

Ils sont bien intégrés dans la partie script de Jeedom :

Je les appelle à partir d’un scénario :

image

Le bash se lance mais la commande ne se joue pas sur la machine distante :

[2024-04-23 01:01:51][SCENARIO] **-- Début :** Scenario lance manuellement. 
[2024-04-23 01:01:51][SCENARIO] - Exécution du sous-élément de type [action] : action 
[2024-04-23 01:01:51][SCENARIO] Exécution de la commande [Aucun][ScriptDesighSalonEcran][DesignSalonOn] 
[2024-04-23 01:01:52][SCENARIO] Erreur sur sudo chmod +x /var/www/html/plugins/script/data/script_design_salon_screen_on.sh 2>/dev/null;/var/www/html/plugins/script/data/script_design_salon_screen_on.sh 2>&1 valeur retournée : 6. Détails : Pseudo-terminal will not be allocated because stdin is not a terminal. 
[2024-04-23 01:01:52][SCENARIO] Fin correcte du scénario

Pourriez-vous m’aider à trouver ce qui coince svp ?
Merci.

Mettre à la fin de ton script

>/dev/null 2>&1

Plutôt que

>2&1

Et s’assurer que ton Bash a les droits d’exécution (ça a dû normalement se corriger dans la nuit)

Ça ne suffit pas, mais le contenu exact de tes Bash

Norbert

Revérifié à l’instant, pour moi les bash ont les bons droits :

Pas mieux (sauf si je n’ai pas inséré la chaîne où il faut :

Et voici script bash (je viens de revérifier, OK si lancés d’un terminal Jeedom):


#!/bin/bash
PASSWORD="123"
USER="test"
TARGET="10.10.10.10"

sshpass -p $PASSWORD ssh $USER@$TARGET xset -display :0 dpms force off
#!/bin/bash
PASSWORD="123"
USER="test"
TARGET="10.10.10.10"

sshpass -p $PASSWORD ssh $USER@$TARGET xset -display :0 dpms force on