Avec at
, je peux programmer le lancement d'un script qui sera exécuté par défaut dans /bin/sh :
$ echo "/chemin/script.sh" | at now +1 minute
warning: commands will be executed using /bin/sh
job 6 at Mon Apr 13 11:53:00 2020
Mais je n'arrive pas à lancer de la même façon un programme graphique. Par exemple $ echo "/usr/bin/firefox" | at now +1 minute
ou $ echo "/usr/bin/firefox &" | at now +1 minute
ne me lance pas de fenêtre.
En fait, ce qui m'intéresse, ce serait de lancer un script dans une fenêtre de terminal qui s'ouvrirait à une heure précise, un truc du genre $ echo "konsole /chemin/script.sh" | at now +1 minute
.
Quelque chose m'échappe…
# Complément d'infos
Posté par _kaos_ . Évalué à -1.
Salut,
Regarde peut-être par là ?
Pas sûr, mais si pas de /etc/at.allow c'est peut-être
root
qui lance et n'a pas accès au display ?Matricule 23415
# Affecter la variable DISPLAY
Posté par Bernez . Évalué à 3.
Pour que le programme sache où s'afficher, il faut définir la variable DISPLAY. Fais précéder tes commandes de "DISPLAY=:0", par exemple "DISPLAY=:0 konsole".
[^] # Re: Affecter la variable DISPLAY
Posté par vmagnin (site web personnel) . Évalué à 2.
Merci pour vos réponses ! Je m'étais pourtant déjà fais avoir avec des histoires de variables d'environnement avec
at
… Effectivement, ainsi ça marche :Voici les différences entre les variables d'environnement du
bash
de départ et celles dush
lancé parat
:[^] # Re: Affecter la variable DISPLAY
Posté par NeoX . Évalué à 3.
plutot que le
echo xxx | at
pourquoi ne pas utiliser
at -c 'DISPLAY=:0 /usr/bin/firefox'
[^] # Re: Affecter la variable DISPLAY
Posté par vmagnin (site web personnel) . Évalué à 1.
J'ai essayé mais ça ne marche pas. D'après
man at
:Par exemple si j'ai créé avec
at
un job dont l'identifiant est 21, avec$ at -c 21
j'obtiens l'affichage du script qui lancera le job (avec les variables d'environnement qui seront utilisées, lecd
pour le répertoire de travail, etc.) Ce qui est intéressant et permet de comprendre le fonctionnement deat
.[^] # Re: Affecter la variable DISPLAY
Posté par NeoX . Évalué à 3.
mea culpa le man que j'ai consulté doit être un peu vieux
http://www.linuxfr-france.org.invalid/article/man-fr/man1/at-1.html
celui semble plus à jour
https://linux.die.net/man/1/at
du coup en effet, y a pas mieux, sauf peut-être à mettre le lanceur dans un fichier
et à faire
at -f monlanceur -t now+1min
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.