Poster une réponse à un sujet: Cron qui ne démarre pas le programme
Attention, ce sujet est un sujet ancien (5885 jours sans réponse)
FA
Bonjour,
J'ai exactement le même souci ; j'ai suivi les mêmes consignes et vlc refuse de faire quoique ce soit en tâche.
Éventuellement, lancé à la main il fait un semblant de capture du flux.
export DISPLAY=":0.0"; export XAUTHORITY=/home/florent/.Xauthority; /usr/bin/vlc /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>&1 &
Lancé en root me crée une capture de 4 octets ! Pas de message d'erreur, pas d'arrêt du programme.
Via le script, en root,
Idem sauf que j'ai des messages :
tail: /home/florent/Vidéo/log.txt: fichier tronqué
[00000274] dummy interface: using the dummy interface module...
[00000314] mux_ps private: Open
[00000303] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=s- d'
[00000314] mux_ps private: Close
[00000268] main playlist: nothing to play
signal 2 received, terminating vlc - do it again in case it gets stuck
[00000268] main playlist: stopping playback
Puisqu'il me dit "nothing to play", je vérifie le contenu de mon m3u :
#EXTM3U
#EXTVLCOPT:demux=podcast
#EXTVLCOPT:sout=#transcode{vcodec=mp1v,vb=1024,scale=1,acodec=mp3,ab=192,channels=- 2}:duplicate{dst=std{access=file,mux=mpeg1,dst=/home/florent/Vidéo/emission.mpe- g}}
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=sd
Celui-ci fonctionne parfaitement bien dès lors que je l'ouvre depuis VLC lancé depuis gnome : il y a donc bien quelque chose à jouer.
Quant au cron, que ce soit pour lancer magneto.m3u ou directement
48 19 * * * florent -c export DISPLAY=":0.0"; export XAUTHORITY=/home/florent/.Xauthority; /usr/bin/vlc -I dummy /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>/tmp/vlc.txt &
Le résultat est le même.
Parfois, j'ai réussi à lancer vlc et obtenir une capture, mais c'était sous mon compte et en session graphique.
Actuellement, après une heure de manip et 10 000 tests, j'obtiens avec
/usr/bin/vlc /home/florent/Vidéo/magnetoArtesansimage.m3u >/home/florent/Vidéo/vlc.txt 2>&1 &
L'erreur
00000274] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000293] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000272] main input error: no suitable access module for `'
[00000316] mux_ps private: Open
[00000305] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=s- d'
[00000316] mux_ps private: Close
[00000320] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000321] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000319] main input error: no suitable access module for `'
[00000268] main playlist: nothing to play
Quelle est la solution svp ?
F.A.
J'ai exactement le même souci ; j'ai suivi les mêmes consignes et vlc refuse de faire quoique ce soit en tâche.
Éventuellement, lancé à la main il fait un semblant de capture du flux.
export DISPLAY=":0.0"; export XAUTHORITY=/home/florent/.Xauthority; /usr/bin/vlc /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>&1 &
Lancé en root me crée une capture de 4 octets ! Pas de message d'erreur, pas d'arrêt du programme.
Via le script, en root,
#!/bin/sh
echo "début tâche"
killall vlc
echo "vlc tué"
export DISPLAY=":0.0"
echo "display changé"
export XAUTHORITY=/home/florent/.Xauthority
echo "authentification"
/usr/bin/vlc -I dummy /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>&1
echo "vlc lancé"
echo "début tâche"
killall vlc
echo "vlc tué"
export DISPLAY=":0.0"
echo "display changé"
export XAUTHORITY=/home/florent/.Xauthority
echo "authentification"
/usr/bin/vlc -I dummy /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>&1
echo "vlc lancé"
Idem sauf que j'ai des messages :
tail: /home/florent/Vidéo/log.txt: fichier tronqué
[00000274] dummy interface: using the dummy interface module...
[00000314] mux_ps private: Open
[00000303] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=s- d'
[00000314] mux_ps private: Close
[00000268] main playlist: nothing to play
signal 2 received, terminating vlc - do it again in case it gets stuck
[00000268] main playlist: stopping playback
Puisqu'il me dit "nothing to play", je vérifie le contenu de mon m3u :
#EXTM3U
#EXTVLCOPT:demux=podcast
#EXTVLCOPT:sout=#transcode{vcodec=mp1v,vb=1024,scale=1,acodec=mp3,ab=192,channels=- 2}:duplicate{dst=std{access=file,mux=mpeg1,dst=/home/florent/Vidéo/emission.mpe- g}}
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=sd
Celui-ci fonctionne parfaitement bien dès lors que je l'ouvre depuis VLC lancé depuis gnome : il y a donc bien quelque chose à jouer.
Quant au cron, que ce soit pour lancer magneto.m3u ou directement
48 19 * * * florent -c export DISPLAY=":0.0"; export XAUTHORITY=/home/florent/.Xauthority; /usr/bin/vlc -I dummy /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>/tmp/vlc.txt &
Le résultat est le même.
Parfois, j'ai réussi à lancer vlc et obtenir une capture, mais c'était sous mon compte et en session graphique.
Actuellement, après une heure de manip et 10 000 tests, j'obtiens avec
/usr/bin/vlc /home/florent/Vidéo/magnetoArtesansimage.m3u >/home/florent/Vidéo/vlc.txt 2>&1 &
L'erreur
00000274] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000293] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000272] main input error: no suitable access module for `'
[00000316] mux_ps private: Open
[00000305] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=s- d'
[00000316] mux_ps private: Close
[00000320] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000321] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000319] main input error: no suitable access module for `'
[00000268] main playlist: nothing to play
Quelle est la solution svp ?
F.A.
Repi
Merci Zion.
zion
Le & c'était pour toi en ligne de commande, sous putty ainsi que le ctrl+z et bg %1, pas pour ton script
Mais content que cela fonctionne.
Mais content que cela fonctionne.
Repi
Voila, j'ai trouvé la solution et elle tourne au tour de l'interface de commande, donc bel et bien un rapport avec l'écran Putty.
Avec la commande dans mon script :
/usr/local/bin/vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'
Vlc choisit une interface la plus appropriée selon lui(sortie http,interface de commande), dans mon cas l'écran du Putty. Lorsque l'on fait un cron, il ne trouve pas d'écran à afficher -> Erreur et il refuse de se lancer.
Si je rajoute -I dummy à ma commande, ce qui me donnera :
/usr/local/bin/vlc -I dummy /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'
je force vlc à ne pas afficher d'interface. Le & de Zion n'a pas d'effet. Merci à Max qui m'as bcp aidée et au autres aussi. Voila après 15 heures env. de recherche, le dossier est classé. Putain ça fait du bien.
Avec la commande dans mon script :
/usr/local/bin/vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'
Vlc choisit une interface la plus appropriée selon lui(sortie http,interface de commande), dans mon cas l'écran du Putty. Lorsque l'on fait un cron, il ne trouve pas d'écran à afficher -> Erreur et il refuse de se lancer.
Si je rajoute -I dummy à ma commande, ce qui me donnera :
/usr/local/bin/vlc -I dummy /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'
je force vlc à ne pas afficher d'interface. Le & de Zion n'a pas d'effet. Merci à Max qui m'as bcp aidée et au autres aussi. Voila après 15 heures env. de recherche, le dossier est classé. Putain ça fait du bien.
Repi
J'ai ajouter & et il s'éteind tjrs. J'ai essayer avec :
vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'&
mais aussi avec :
vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}&'
Repi
Que disent les logs (rien à mon avis :/)
Essaye aussi ceci pour voir si tu n'as pas d'autres messages d'erreur:
21 12 * * * /home/pire/tv.cmd >>/home/pire/fichier.log 2> /home/pire/maxestunbonpetitgars.log
Essaye aussi ceci pour voir si tu n'as pas d'autres messages d'erreur:
21 12 * * * /home/pire/tv.cmd >>/home/pire/fichier.log 2> /home/pire/maxestunbonpetitgars.log
Oui, Il y a un message d'erreur dans le nouveau fichier log :
Je vois que vlc s'initialise et inscrit :
Error opening terminal: Unknown
sans poursuivre de se lancer.
Je ne sais pas de quoi ça vient ?
zion
Lorsque je le lance dans le Putty et que je ferme la connexion, vlc s'éteind.
Ajoute un & Ã la fin de ta commande simplement.
Sinon CTRL + Z puis bg %1
ovh
Précise les chemins pour TOUS les programmes que tu lances.
Exemple :
killall >> /usr/bin/killall
Souvent en cron c'est ça qui foire, il ne reconnaît aucun path.
Exemple :
killall >> /usr/bin/killall
Souvent en cron c'est ça qui foire, il ne reconnaît aucun path.
Repi
Un bon truc aussi est de lancer l'environnement de l'utilisateur qui utilise le script en temps normal.
donc rajoute dans le script
. <home_du_user>/.profile
Le cron utilise le /etc/profile mais pas le profile du user.
Ou alors un su vers l'utilisateur du script dans le cron, de cette facon le .profile est execute.
* * 1 2 3 su - <user> -c "<tonscript>"
donc rajoute dans le script
. <home_du_user>/.profile
Le cron utilise le /etc/profile mais pas le profile du user.
Ou alors un su vers l'utilisateur du script dans le cron, de cette facon le .profile est execute.
* * 1 2 3 su - <user> -c "<tonscript>"
J'ai mis la deuxième possibilité mais ça ne marche pas.
Quand à " . <home_du_user>/.profile " avec root je sais pas comment suivre ton conseil. Peux-tu me donner plus de détail ? merci.
Mes fichier sont maintenant :
Pour crontab :
2 14 * * * su - root -c "/home/pire/tv.cmd" >>/home/pire/fichier.log
Pour le scrip (tv.cmd):
#!/bin/sh
killall vlc
export DISPLAY=:0.0
/usr/local/bin/vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'
Le script s'exécute toujours de façon manuelle.
Lorsque je le lance dans le Putty et que je ferme la connexion, vlc s'éteind. Peut-être que lorsque je lance le programme par le cron et comme il n' y a pas de fenêtre ouvert avec le Putty il ne s'allume pas !?? Je ne sais pas comment vérifié celà .
max
Le script fonctionne 'tout seul' ? Il ne manquerait pas un ' à la fin de la ligne de commande de vlc ? (ou bien c'est le résultat d'un copié/collé chaotique sur le forum et ma remarque n'a plus raison d'être)
Que disent les logs (rien à mon avis :/)
Essaye aussi ceci pour voir si tu n'as pas d'autres messages d'erreur:
21 12 * * * /home/pire/tv.cmd >>/home/pire/fichier.log 2> /home/pire/maxestunbonpetitgars.log
Que disent les logs (rien à mon avis :/)
Essaye aussi ceci pour voir si tu n'as pas d'autres messages d'erreur:
21 12 * * * /home/pire/tv.cmd >>/home/pire/fichier.log 2> /home/pire/maxestunbonpetitgars.log