Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 hmm


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 wink


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