Mettre en veille gdm avec python

pour économiser un écran LCD et l’énergie, est-il possible de le mettre en veille et de le rallumer avec un script python qui tourne en permanence.
Je pense que la réponse est non, mais peut on afficher un écran noir, puis rétablir le gdm par des commandes python ?

Yo @bbd666

Pour te mettre sur la piste ; un simple script python de test.
J’ai créé le fichier avec nano test-screen.py avec ce contenu (voir ci-dessous).
Je l’ai lancé avec python3 test-screen.py
(je suis uniquement sur Linux chez moi et j’aime tester dans le terminal donc je fais du script bavard)

Ça fonctionne.

Tu devras évidemment adapter pour ton usage en vérifiant que ça interagira bien avec le système, en collant le truc dans une boucle si besoin, etc.

import os
import time

# Éteindre l'écran
print("Extinction de l'écran...")
os.system("xset dpms force off")

# Attendre 15 secondes
time.sleep(15)

# Rallumer l'écran
print("Rallumage de l'écran...")
os.system("xset dpms force on")

print("Test terminé.")

++

P.S. : oui, os.system, c’est crade, mais je ne suis pas du tout dev et j’ai fait vite :blush:

merci
je vais tester.
j’utilise déja os.system pour lancer un script d’initialisation, rien d’autre ne fonctionnait.

j’ai testé,
ca ne fonctionne pas,
j’obtiens ce message d’erreur :

server does not have extension for dpms option
xset: unknown option force

usage: xset [-display host:dpy] option …
To turn bell off:
-b b off b 0
To set bell volume, pitch and duration:
b [vol [pitch [dur]]] b on
To disable bug compatibility mode:
-bc
To enable bug compatibility mode:
bc
To turn keyclick off:
-c c off c 0
To set keyclick volume:
c [0-100] c on
To control Energy Star (DPMS) features:
-dpms Energy Star features off
+dpms Energy Star features on
dpms [standby [suspend [off]]]
force standby
force suspend
force off
force on
(also implicitly enables DPMS features)
a timeout value of zero disables the mode
To set the font path:
fp= path[,path…]
To restore the default font path:
fp default
To have the server reread font databases:
fp rehash
To remove elements from font path:
-fp path[,path…] fp- path[,path…]
To prepend or append elements to font path:
+fp path[,path…] fp+ path[,path…]
To set LED states off or on:
-led [1-32] led off
led [1-32] led on
-led named ‹ name › led off
led named ‹ name › led on
To set mouse acceleration and threshold:
m [acc_mult[/acc_div] [thr]] m default
To set pixel colors:
p pixel_value color_name
To turn auto-repeat off or on:
-r [keycode] r off
r [keycode] r on
r rate [delay [rate]]
For screen-saver control:
s [timeout [cycle]] s default s on
s blank s noblank s off
s expose s noexpose
s activate s reset
For status information: q
To print version: -version

Hello,
Le but était de te mettre sur la voie et que tu cherches.
Je viens de coller mon script et ton erreur dans une IA.

Voici une version modifiée du script qui devrait fonctionner sur un Raspberry Pi selon cette IA :

import os
import time

# Éteindre l'écran
print("Extinction de l'écran...")
os.system("vcgencmd display_power 0")

# Attendre 15 secondes
time.sleep(15)

# Rallumer l'écran
print("Rallumage de l'écran...")
os.system("vcgencmd display_power 1")

print("Test terminé.")

Cette version utilise vcgencmd display_power 0 pour éteindre l’écran et vcgencmd display_power 1 pour le rallumer. Ces commandes sont spécifiques au Raspberry Pi et contrôlent directement l’alimentation de l’écran via l’interface HDMI.

Je n’ai pas le temps de tester sur mes Rpi non accessibles actuellement,

++