#1 Le 11/02/2022, à 16:24
- weezixx
Utiliser vlc avec la commande "at"
Bonjour,
j'essaie en vain de faire fonctionner cette commande pour faire qqch du genre :
vlc /Musique/Artiste/Album | at now + 1 minute
Pour que simplement vlc se lance, comme je pourrai le faire dans un terminal, mais rien
J'ai déjà fait export DISPLAY=:0, mais rien n'y fait.
Et 2e question : c'est possible d'utiliser "at" avec un alias ?
D'avance merci !
Hors ligne
#2 Le 11/02/2022, à 17:12
- Vobul
Re : Utiliser vlc avec la commande "at"
Peut-être qu'utiliser un autre outil serait préférable. Comme mpc qui interagit avec mpd. Car VLC c'est non seulement un truc graphique (donc j'pense que ton pipe il s'en fout) mais en plus c'est un lecteur vidéo.
mpc play | at now "+1 minute"
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#3 Le 11/02/2022, à 17:16
- weezixx
Re : Utiliser vlc avec la commande "at"
Bon en fait mon message est plutôt un exemple pour comprendre de façon générique comment utiliser "at" pour lancer les lignes de commande que je lance dans le terminal mais à un moment spécifique.
Et je viens de tester "cvlc" qui est vlc sans GUI, ça fonctionne pas non plus
Merci d'avoir répondu
Hors ligne
#4 Le 11/02/2022, à 18:46
- Watael
Re : Utiliser vlc avec la commande "at"
at prend en argument une commande, pour différer son exécution, et elle ne reçoit en entrée que l'information d'une commande à exécuter, pas sa sortie (à moins que cette sortie soit une liste de commande(s) à exécuter)
donc, je dirais, sous réserve de définir le DISPLAY (comme pour cron), et qu'il soit accessible lors du déclenchement de l'exécution :
DISPLAY=:0 at now +1minute vlc "$maVideo"
...
?
Dernière modification par Watael (Le 11/02/2022, à 18:47)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 11/02/2022, à 21:16
- Compte supprimé
Re : Utiliser vlc avec la commande "at"
Bonsoir,
@Watael:
(venv) ~/venv jt'écoute :DISPLAY=:0 at now +1minute vlc
syntax error. Last token seen: v
Garbled time
(venv) ~/venv jt'écoute :
Sinon c'est juste pour lancer vlc dans 1 mn, on peut toujours faire:
$(sleep 60; vlc mavideo)&
Dernière modification par Compte supprimé (Le 11/02/2022, à 21:36)
#6 Le 11/02/2022, à 21:35
- Compte supprimé
Re : Utiliser vlc avec la commande "at"
ceci fonctionne:
echo "DISPLAY=:0 vlc"|at now
#7 Le 11/02/2022, à 21:42
- MicP
Re : Utiliser vlc avec la commande "at"
Bonjour
Il faut peut-être que la session du compte utilisateur concerné soit ouverte,
que l'écran n'ait pas été mis en veille entre temps,
et exporter aussi la variable $XAUTHORITY de la session
Dernière modification par MicP (Le 11/02/2022, à 21:45)
Hors ligne
#8 Le 11/02/2022, à 21:48
- Watael
Re : Utiliser vlc avec la commande "at"
oui, DISPLAY doit être défini pour vlc, at ne la transmettra pas.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 11/02/2022, à 22:08
- Compte supprimé
Re : Utiliser vlc avec la commande "at"
Bonjour
Il faut peut-être que la session du compte utilisateur concerné soit ouverte,
que l'écran n'ait pas été mis en veille entre-temps,
et exporter aussi la variable $XAUTHORITY de la session
Tu penses à tout
[hs] je suis en train d'imaginer que cette commande pourrait servir de base pour faire un programme de contrôle parental ...(quel vilain mot^^)
#10 Le 12/02/2022, à 17:07
- jplemoine
Re : Utiliser vlc avec la commande "at"
Pour démarrer vlc en mode texte (via ssh), j'ai utilisé cette commande (via un script) :
/usr/bin/cvlc "/home/user/Musique/chanson.mp3" --gain 1 --play-and-exit &
Donc, on devrait pouvoir utiliser at + cvlc quite à passer par un script
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#11 Le 13/02/2022, à 00:15
- LeoMajor
Re : Utiliser vlc avec la commande "at"
salut,
normalement, c'est le dbus_session, qu'il faut aller chercher (depuis la mise en place de systemd)
$ at now + 1 minute <<<"DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-NPuZOfZqFQ DISPLAY=:0 XAUTHORITY=/run/user/1001/gdm/Xauthority totem \"/home/toto/Téléchargements/Taratata - Benjamin Biolay Même Si Tu Pars (2005).mp4\""
warning: commands will be executed using /bin/sh
job 22 at Sat Feb 12 23:52:00 2022
...
OK
anciennement,
...
declare -a aexporter
active_session=$(loginctl --no-pager --no-legend list-sessions | awk '$2>=1000 {cmd="loginctl -p State -p Type show-session "$1; \
while (cmd|getline tmp)if(tmp~/active|online|x11/){sess[$1]++}; close(cmd)}; END {for (s in sess)if(sess[s]==2)print s}')
active_userid=$(loginctl -p User show-session "$active_session" | cut -d= -f2)
active_pid=$(pgrep -u "$active_userid" gnome-session) # lightdm gdm3
aexporter=($(awk '/^(DBUS_SESSION_BUS_ADDRESS|DISPLAY|XAUTHORITY)/ ' < <(strings /proc/${active_pid}/environ)))
export "${aexporter[@]}"
...
echo "${aexporter[@]}"
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-NPuZOfZqFQ DISPLAY=:0 XAUTHORITY=/run/user/1001/gdm/Xauthority
c'est quand même plus simple, avec mplayer sans interface graphique pour lire de la musique
$ at now + 1 minute <<<"mplayer ~/Musique/chanson.mp3"
warning: commands will be executed using /bin/sh
job 23 at Sun Feb 13 00:09:00 2022
OK
Hors ligne
#12 Le 13/02/2022, à 11:14
- LeoMajor
Re : Utiliser vlc avec la commande "at"
active_session=$(loginctl --no-pager --no-legend list-sessions | awk '$2>=1000 {cmd="loginctl -p State -p Type show-session "$1; \
while (cmd|getline tmp)if(tmp~/active|online|x11/){sess[$1]++}; close(cmd)}; END {for (s in sess)if(sess[s]==2)print s}')
active_userid=$(loginctl -p User show-session "$active_session" | cut -d= -f2)
active_pid=$(pgrep -u "$active_userid" gnome-session) # lightdm gdm3
aexporter=($(awk '/^(DBUS_SESSION_BUS_ADDRESS|DISPLAY|XAUTHORITY)/ ' < <(strings /proc/${active_pid}/environ)))
at now + 2 minute <<<"${aexporter[@]} cvlc /home/toto/Téléchargements/Taratata-Charlie_Winston_Kick_The_Bucket-2016-.mp4"
Hors ligne