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
rootqui 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, Mastodon) . É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
bashde départ et celles dushlancé parat:[^] # Re: Affecter la variable DISPLAY
Posté par NeoX . Évalué à 3.
plutot que le
echo xxx | atpourquoi ne pas utiliser
at -c 'DISPLAY=:0 /usr/bin/firefox'[^] # Re: Affecter la variable DISPLAY
Posté par vmagnin (site web personnel, Mastodon) . Évalué à 1.
J'ai essayé mais ça ne marche pas. D'après
man at:Par exemple si j'ai créé avec
atun job dont l'identifiant est 21, avec$ at -c 21j'obtiens l'affichage du script qui lancera le job (avec les variables d'environnement qui seront utilisées, lecdpour 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+1minSuivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.