#1 Le 07/05/2020, à 17:10
- hervax
[Résolu] Script en sortie de veille
Bonjour à tous !
Après le passage de 18.04 à 20.04, mon fond d'écran xplanetfx ne fonctionnait plus. Hésitant à installer Python2 juste pour ce fond d'écran, j'ai suivi les instructions de cette page pour installer xplanet et les scripts de mise en oeuvre du fond d'écran.
Tout fonctionne et le fond d'écran se met bien à jour toutes les 10 minutes. J'ai même ajouté un script qui se lance tous les 1er du mois pour changer la texture de base de la Terre, en se basant sur les fichiers "blue marble" de la NASA.
Mon souci, c'est que j'aimerais que le script de mise à jour (/usr/local/bin/xplanet-bg) se lance en sortie de veille, pour ne pas avoir à attendre jusqu'à 10 minutes pour la prochaine mise à jour.
A cet effet, j'ai créé fichier "xplanet-sleep" dans le dossier "/lib/systemd/system-sleep/" et je l'ai rendu exécutable. Il contient les instructions suivantes, mais cela ne fonctionne pas et je ne comprends pas pourquoi :
#!/bin/sh
case $1 in
post)
/usr/local/bin/xplanet-bg
;;
esac
Quelqu'un aurait une idée ?
Dernière modification par hervax (Le 10/05/2020, à 17:42)
Acer Swift 5 Dual Boot Win11 - Ubuntu 24.04.1
Hors ligne
#2 Le 07/05/2020, à 17:37
- ylag
Re : [Résolu] Script en sortie de veille
Bonjour,
Sous toute réserve: Si echo "$DISPLAY" retourne la valeur :0, essaie de passer la variable d'environnement DISPLAY=:0 dans la ligne de commande de ton script:
#!/bin/sh
case $1 in
post)
DISPLAY=:0 /usr/local/bin/xplanet-bg
;;
esac
Vu dans cette discussion (même si c'est pas tout à fait similaire):
System-sleep script not executed
A+
Dernière modification par ylag (Le 07/05/2020, à 17:46)
Hors ligne
#3 Le 08/05/2020, à 09:35
- hervax
Re : [Résolu] Script en sortie de veille
Merci pour ta proposition. Malheureusement, il n'y a pas de changement
Acer Swift 5 Dual Boot Win11 - Ubuntu 24.04.1
Hors ligne
#4 Le 08/05/2020, à 10:00
- alduc31
Re : [Résolu] Script en sortie de veille
Salut,
Le script de sortie de veille est exécuté en tant que root je pense.
Peut-être comme ça :
#!/bin/sh
case $1 in
post)
runuser -l UTILISATEUR -c 'sleep 5; DISPLAY=:0 /usr/local/bin/xplanet-bg' &
;;
esac
En remplaçant UTILISATEUR par ton login.
J'ai mis une temporisation de 5s (sleep 5 [à adapter au besoin]) pour attendre que le réseau se reconnecte.
Asus Vivobook S5406MA (Core Ultra 7 155H, 16Go, AX211)
Hors ligne
#5 Le 08/05/2020, à 10:30
- ylag
Re : [Résolu] Script en sortie de veille
Bonjour,
Peut-être faut-il s'assurer que le processus s'arrête lors de la mise en veille?
Ça pourrait donner quleque chose comme:
case $1 in
pre)
killall /usr/local/bin/xplanet-bg
done
;;
post)
runuser -l UTILISATEUR -c 'sleep 5; DISPLAY=:0 /usr/local/bin/xplanet-bg' &
;;
esac
done
;;
esac
?
Hors ligne
#6 Le 08/05/2020, à 10:38
- alduc31
Re : [Résolu] Script en sortie de veille
Le script est donné ici : https://doc.ubuntu-fr.org/xplanet
A priori il ne tourne pas en tache de fond
Asus Vivobook S5406MA (Core Ultra 7 155H, 16Go, AX211)
Hors ligne
#7 Le 09/05/2020, à 01:37
- hervax
Re : [Résolu] Script en sortie de veille
Merci à tous les deux !
Effectivement, le script ne tourne pas en tâche de fond. Mais le fait d'ajouter l'utilisateur semble fonctionner. Voici à quoi ressemble mon script maintenant (j'ai ajouté une notification pour en vérifier le fonctionnement) :
#!/bin/bash
case $1 in
post)
sleep 5
runuser -l herve -c 'DISPLAY=:0 notify-send "Mise à jour de xplanet"'
runuser -l herve -c 'DISPLAY=:0 /usr/local/bin/xplanet-bg'
;;
esac
Merci encore, et bon week-end !
Acer Swift 5 Dual Boot Win11 - Ubuntu 24.04.1
Hors ligne