Coupure dans l'exécution de mon code après une demande de login

Bonjour à tous,

Suite à la nouvelle mise à jour du logiciel de raspberry pi pour installer l’IOS dans les cartes, je me suis retrouvée donc avec une version plus récente que Bullseye, ici Bookwom, suite à un changement de carte pour mon projet.
Au début tout aller bien, jusqu’à ce que je demande à exécuter ce programme:

import RPi.GPIO as gp
import os
import time
import subprocess
import datetime

gp.setwarnings(False)
#gp.setmode(gp.BCM)
gp.setmode(gp.BOARD)

gp.setup(7, gp.OUT)
gp.setup(11, gp.OUT)
gp.setup(12, gp.OUT)
gp.setup(36, gp.OUT)

def main():
start_time = datetime.datetime.now()
end_time = start_time + datetime.timedelta(hours=1, minutes=30)
i = 0
while datetime.datetime.now() < end_time:
loop=time.monotonic()
while time.monotonic() - loop < 5:
gp.output(36, gp.HIGH)
print(f’Start testing the camera A (iteration {i})')
i2c = « i2cset -y 1 0x70 0x00 0x04 »
os.system(i2c)
gp.output(7, False)
gp.output(11, False)
gp.output(12, True)

        max_retries = 3
        for _ in range(max_retries):
            try:
                subprocess.run(["libcamera-still", "-t", "800", "-o", "/home/pi/RaspberryPi/Multi_Camera_Adapter_V2.2_python/photo/" + str(i) + "_cam1.jpeg"])
                break
            except subprocess.CalledProcessError:
                print("Error: Device timeout detected, attempting a restart !!!")
                time.sleep(1)  # Ajouter un délai avant de réessayer
                continue
        else:
            print("Error: Unable to recover after multiple retries.")

        i2c = "i2cset -y 1 0x70 0x00 0x06"
        time.sleep(0.2)
        print(f'Start testing the camera C (iteration {i})')
        os.system(i2c)
        gp.output(7, False)
        gp.output(11, True)
        gp.output(12, False)

        for _ in range(max_retries):
            try:
                subprocess.run(["libcamera-still", "-t", "800", "-o", "/home/pi/RaspberryPi/Multi_Camera_Adapter_V2.2_python/photo/" + str(i) + "_cam2.jpeg"])
                break
            except subprocess.CalledProcessError:
                print("Error: Device timeout detected, attempting a restart !!!")
                time.sleep(1)  # Ajouter un délai avant de réessayer
                continue
        else:
            print("Error: Unable to recover after multiple retries.")

        i = i + 1
        gp.output(36, gp.LOW)
    time.sleep(6)

if name == « main »:
try:
main()
finally :
gp.output(7, False)
gp.output(11, False)
gp.output(12, True)
subprocess.run([« pkill », « -9 », « libcamera-still »]) # Ferme les processus libcamera-still
subprocess.run([« pkill », « -9 », « lxterminal »]) # Ferme les terminaux lxterminal

Je tiens à préciser que ce programme est un programme de capture d’image sur un minuteur définis avec 2 caméras qui a toujours très bien fonctionné.
Depuis cette nouvelle mise à jour, voici ce qu’il se passe, je lance donc mon programme celui-ci va s’exécuter pendant 12min avant que le login raspberry pi apparaissent et me demande de me connecter. Ce qui provoque la fermeture de mon code qui n’a pas pus s’exécuter pendant les 1h30 indiqué dans mon programme.

Est-ce que quelqu’un a le même problème que moi et si il y a une solution pour éviter la demande de login ?

Merci à tous

Bonjour, la version de l’OS Bookworm active par défaut un nouveau gestionnaire d’affichage « wayland » en remplacement de X11.
Peut être qu’en rebasculant en X11, cela solutionnera le problème ?
voir la page 20 de ce document
https://github.com/thagrol/Guides/blob/main/bookworm.pdf

Attention: basculer de wayland à X11 provoque la désactivation de VNC. Il faut le réactiver si vous en avez besoin