Pages : 1
#1 Le 09/03/2010, à 12:24
- p6s
AT et scripts...
Hello.
un ptit coup dans le man de la commande at m'indique que je dois faire at -f si je veux lancer un script à un moment donné.
du coup je fais un at -f recarte.sh now + 1 minute
(pour tester)
le dit script étant :
vlc rtp://@232.0.1.202:8200 --sout file/ts:/home/jc/arte.ts --sout-all
ligne vlc testée/parfaitement foncionnelle en ligne de commande **, fichier recarte.sh (contenant uniquement cette ligne) rendu executable, atq me montre bien le job a executer...et pourtant quand l'heure arrive, rien ne se passe.
je refais atq et le job n'est plus dans la liste, donc il s'est bien "lancé", sauf qu'il n'a rien fait...
j'ai rajouté un #!/bin/sh en premiere ligne des fois que ça change quelque chose, nada...
Des idées ?
**si ca marche pas chez vous, c'est normal, c'est des flux tv orange, donc faut probablement etre chez orange ET avoir le full routage (livebox v2...)
Hors ligne
#2 Le 09/03/2010, à 12:29
- Totor
Re : AT et scripts...
Bonjour,
Ton script est bien lancé. Simplement vlc ne sait pas dans quel DISPLAY il doit s'afficher.
ceci devrait fonctionner.
export DISPLAY=0:0 vlc rtp://@232.0.1.202:8200 --sout file/ts:/home/jc/arte.ts --sout-all
-- Lucid Lynx --
Hors ligne
#3 Le 09/03/2010, à 12:42
- p6s
Re : AT et scripts...
Jour'bon
mmmh, je viens d'essayer avec le display , toujours rien.
Je ne suis pas sur que le display soit nécessaire d'ailleurs, puisqu'il s'agit d'enregistrer un flux (sout file), pas de l'afficher. quand je lance cette ligne vlc en ligne de commande, il ne m'ouvre aucune fenetre video et se contente sagement d'enregistrer le flux.
... D'un autre coté, même sans fenetre vidéo, il affiche quand meme le player (en ligne de commande, tjrs rien via le script), donc peut-etre que le display est quand meme nécessaire...
Une autre syntaxe ou un autre parametre nécessaire pour le display ?
Dernière modification par p6s (Le 09/03/2010, à 12:46)
Hors ligne
#4 Le 09/03/2010, à 12:50
- credenhill
Re : AT et scripts...
hello
capturer d'éventuels messages d'erreur
recarte.sh >/tmp/log 2>&1
Hors ligne
#5 Le 09/03/2010, à 12:51
- Totor
Re : AT et scripts...
Désolé, j'ai omis un caractère :
export DISPLAY=:0.0 vlc rtp://@232.0.1.202:8200 --sout file/ts:/home/jc/arte.ts --sout-all
[...]il affiche quand meme le player (en ligne de commande, tjrs rien via le script), donc peut-etre que le display est quand meme nécessaire...
Dès lors qu'une application affiche quoi que ce soit de "graphique", le display est nécessaire
EDIT : :0.0 ne correspond peut-être pas à ton display. Au besoin ajuste cette valeur
Dernière modification par Totor (Le 09/03/2010, à 12:52)
-- Lucid Lynx --
Hors ligne
#6 Le 09/03/2010, à 13:00
- p6s
Re : AT et scripts...
hello
capturer d'éventuels messages d'erreur
recarte.sh >/tmp/log 2>&1
Hello.
effectivement c'est amusant,
"bash: recarte.sh : commande introuvable"
des histoires de syntaxe de base Unix que je maitrise pas trop apparemment
Va de soi que recarte.sh est bien là, sauf que je dois taper ./recarte.sh et pas recarte.sh pour que ça se lance. pas sur si le ./ passe dans une commande at -f...
Désolé, j'ai omis un caractère :
export DISPLAY=:0.0 vlc rtp://@232.0.1.202:8200 --sout file/ts:/home/jc/arte.ts --sout-allp6s a écrit :[...]il affiche quand meme le player (en ligne de commande, tjrs rien via le script), donc peut-etre que le display est quand meme nécessaire...
Dès lors qu'une application affiche quoi que ce soit de "graphique", le display est nécessaire
EDIT : :0.0 ne correspond peut-être pas à ton display. Au besoin ajuste cette valeur
avec ou sans le ":" manquant, ./recarte.sh me donne export: 4: rtp://@232.0.1.202:8200: bad variable name
Ou trouve-je l'info pour "ajuster" la valeur ? ca correspond à la resolution de l'ecran ? autre chose ?
Dernière modification par p6s (Le 09/03/2010, à 13:03)
Hors ligne
#7 Le 09/03/2010, à 13:11
- Totor
Re : AT et scripts...
Etrange la valeur
bon, export le DISPLAY sur une ligne différente :
export DISPLAY=:0.0
vlc rtp://@232.0.1.202:8200 --sout file/ts:/home/jc/arte.ts --sout-all
Pour référencer ton fichier "recarte.sh", je te conseille de mettre le chemin complet (et pas seulement ./)
-- Lucid Lynx --
Hors ligne
#8 Le 09/03/2010, à 13:22
- credenhill
Re : AT et scripts...
$ at now+2 minute
warning: commands will be executed using /bin/sh
at>
at exécutes sh, qui ne connait pas export=
mettre
DISPLAY=:0.0 ; export DISPLAY
ou mettre #!/bin/bash dans le script, pas /bin/sh
Dernière modification par credenhill (Le 09/03/2010, à 13:23)
Hors ligne
#9 Le 09/03/2010, à 13:25
- p6s
Re : AT et scripts...
Etrange la valeur
bon, export le DISPLAY sur une ligne différente :
export DISPLAY=:0.0
vlc rtp://@232.0.1.202:8200 --sout file/ts:/home/jc/arte.ts --sout-all
Ah, ca va mieux, j'irai même jusqu'à dire que ça marche !
donc si je veux enregistrer les trucs de ziq sur Arte à 6h du mat par exemple, j'aurai plus qu'à faire
at -f ./recarte.sh 6AM tomorrow (+ un pkill vlc pour finir)
merci
Dernière modification par p6s (Le 09/03/2010, à 13:27)
Hors ligne
#10 Le 09/03/2010, à 13:47
- credenhill
Re : AT et scripts...
il y a une option --play-and-exit pour sortir de VLC après avoir joué, peut-être fonctionne-t-elle avec sout
Hors ligne
#11 Le 09/03/2010, à 14:01
- p6s
Re : AT et scripts...
il y a une option --play-and-exit pour sortir de VLC après avoir joué, peut-être fonctionne-t-elle avec sout
C'est à dire ? si j'enregistre un flux (vs lire un fichier), comment va t-il savoir à quel moment stopper le dit flux ?
Pour un fichier/une playlist, vlc sait quand il arrive au bout, mais pour un flux, à priori il risque pas de deviner si je veux enregistrer 45 minutes ou deux heures.
Dernière modification par p6s (Le 09/03/2010, à 14:03)
Hors ligne
#12 Le 09/03/2010, à 14:10
- credenhill
Re : AT et scripts...
effectivement
à la fin de ton script, tu peux mettre
echo "pkill vlc" ¦ at now+2hours
pour qu'il s'arrêtre 2h après avoir été lancé
Hors ligne
#13 Le 09/03/2010, à 15:10
- p6s
Re : AT et scripts...
je vais meme tout passer en parametres du coup je pense histoire de faire plus simple/pas avoir à editer le script à chaque fois, genre
./recarte.sh hh mm hh mm (heure minute debut / heure minute fin)
et le script deviendrait quelque chose comme
export DISPLAY=:0.0
echo 'vlc rtp://@232.0.1.202:8200 --sout file/ts:/home/jc/arte.ts --sout-all'|at $1:$2
echo 'pkill vlc'|at $3:$4
...sauf que ça marche pas, y compris si j'essaie
echo 'export DISPLAY=:0.0'|at $1:$2
encore une histoire de syntaxe qui m'échappe surement...
vais reeessayer le truc d'au dessus (rediriger vers /tmp/log) pour voir où ca coince
...ah ben non rien d'interessant dedans......
warning: commands will be executed using /bin/sh
job 45 at Tue Mar 9 14:25:00 2010
warning: commands will be executed using /bin/sh
job 46 at Tue Mar 9 14:25:00 2010
warning: commands will be executed using /bin/sh
job 47 at Tue Mar 9 14:26:00 2010
bon tant pis, je lancerai 2 commandes at depuis le terminal (une pour recarte.sh , une pour pkill) et "pic'étout"
Dernière modification par p6s (Le 09/03/2010, à 15:29)
Hors ligne
Pages : 1