#1 Le 27/10/2019, à 11:30
- Sipo
Notification en cli OK mais...[Résolu]
Bonjour à tous.
J'ai un souci de notification avec un script.
Je vous le présente ici :
#! /bin/bash
#Mes variables
rech=$(zenity --entry --width 600 --height 50 --title="Titre de la video" | sed -e 's/ /+/g')
uri=http://www.google.fr/search?q=${rech}
yt=https://www.youtube.com/watch?v=
cast="mpv"
exec="/usr/bin/w3m"
vid(){
$exec $uri | \
grep https://www.youtube.com/watch?v= | \
head -n 1 | \
cut -d '=' -f2
}
play(){
$cast --geometry=356x200+0+930 --border=no --no-window-dragging | \
$yt$(vid)
}
main(){
play
if [[ $? != 0 ]]
then
notify-send "Recherche non trouvée."
fi
}
main
À savoir : j'exécute ce script via Openbox à l'aide de son rc.xml :
<keybind key="F12">
<action name="Execute">
<startupnotify>
<enabled>true</enabled>
<name>Recherche YouTube</name>
</startupnotify>
<command>sh /home/sipo/Documents/Scripts/music.sh</command>
</action>
</keybind>
Le problème :
Lors de l'exécution du script via le terminal, celui-ci me notifie correctement qu'il n'a pas trouvé la vidéo. La condition fait donc le job.
En revanche, lors de l'appel du script via le raccourci Openbox, la notification ne s'exécute pas.
Avez-vous un indice sur cette panne ?
En vous remerciant d'avance.
Cordialement.
Dernière modification par Sipo (Le 31/10/2019, à 20:18)
Hors ligne
#2 Le 27/10/2019, à 12:43
- credenhill
Re : Notification en cli OK mais...[Résolu]
hello
essayer d'ajouter dans le script
export DISPLAY=:0
Hors ligne
#3 Le 27/10/2019, à 13:36
- Sipo
Re : Notification en cli OK mais...[Résolu]
Malheureusement, ce n'est pas la solution.
De plus, la variable d'env est déjà déclarer :
$ echo $DISPLAY
:0
Je suspecte un problème du style PID, ou un truc process parent-enfant. (Mais bon, j'dis peut-être n'importe quoi )
Je continue mes recherches...
Hors ligne
#4 Le 27/10/2019, à 16:09
- credenhill
Re : Notification en cli OK mais...[Résolu]
ca c'est dans le terminal, essayer de mettre la ligne dans le script
Hors ligne
#5 Le 27/10/2019, à 18:14
- Sipo
Re : Notification en cli OK mais...[Résolu]
Non, ça ne fonctionne pas malgré que la ligne soit dans le script.:(
Hors ligne
#6 Le 28/10/2019, à 12:44
- credenhill
Re : Notification en cli OK mais...[Résolu]
essayer de modifier cette ligne pour exécuter bash et récupérer messages et erreurs
<command>bash /home/sipo/Documents/Scripts/music.sh > /tmp/log1 2>&1</command>
Hors ligne
#7 Le 28/10/2019, à 13:10
- metalux
Re : Notification en cli OK mais...[Résolu]
Bonjour,
J'ai déjà rencontré un problème similaire avec un script lancé à partir d'un lanceur dans le tableau de bord sur Xubuntu. En fait c'était un problème de chemin et il m'a fallu rajouter ces 2 lignes en début de script:
path=$(dirname $0|sed -e 's/ /\\ /g')
cd "$path"
Bien que je ne suis pas sûr que ce soit la raison, tu peux déjà essayer afin de voir si ça ne vient pas de là.
Hors ligne
#8 Le 31/10/2019, à 20:17
- Sipo
Re : Notification en cli OK mais...[Résolu]
Merci pour vos réponses.
C'est résolu et...j'ai honte !
J'appelle mon script avec la commande sh dans mon Openbox or, mon script a les caractères du Bash !
Le test [[ ]] n'est valable que sur un Shell Bash et...c'est sur que si j'appelle mon script avec la commande "sh" et non ./ ou "bash" bah..ça marche moins bien !
Hors ligne