J'ai un script bash que je lance via cron pour redémarrer vlc (j'utilise vlc pour afficher le flux depuis une webcam IP que j'utilise comme un babyphone - le stream est progressivement retardé, donc je lance ce script pour tuer toutes les instances de vlc et le redémarrer). Ce script s'est bien passé sous Ubuntu 11.04 pendant un an. J'ai mis à jour vers Ubuntu 11.10 (oh, idiot moi) et maintenant cela ne fonctionne correctement que si je l'exécute avec l'option de débogage bash activée (bash -x script.sh). Si je l'exécute sans l'option -x, le script tue toutes les instances de vlc, mais quitte puis redémarre vlc.j'ai aucune idée pourquoi. Notez que peu importe si je l'exécute via ou cron ou direct sur la ligne de commande, sans l'option -x, il tue vlc mais ne lance jamais vlc.Le script Bash s'exécute lorsque débogué (-x) mais échoue lorsqu'il est exécuté normalement
Ici, il est:
#!/bin/bash
DISPLAY=:0
export DISPLAY
VPID=($(ps -e | grep vlc | awk '{print $1;}'))
if [ -n "$VPID" ];then
while [ -n "$VPID" ];do
kill $VPID
VPID=($(ps -e | grep vlc | awk '{print $1;}'))
done
vlc --volume=900 http://lily:@192.168.1.43/videostream.asf &
sleep 10
WID=($(xwininfo -display :0 -name "http://192.168.1.43/videostream.asf - VLC media player" -int | awk '/Window id:/ {print $4}'))
sleep 10
xdotool windowmove --sync $WID 0 0
xdotool windowsize --sync $WID 1600 1000
exit
fi
exit
'pkill vlc' est beaucoup plus simple que votre méthode actuelle de tuer tous les processus vlc. –
Merci, je vais essayer - j'ai toujours tendance à utiliser un marteau pour casser un écrou;) – prupert