korte inhoud van het voorafgaande
Dit is een onderdeel van een paar pagina’s over het zelfstartend maken van een Raspberry Pi. Op die manier is het mogelijk informatie op een scherm te laten zien zonder tussenkomst van een gebruiker.
Omdat de tijd en de ontwikkeling niet stilstaan, zijn er verschillende generaties Raspberry Pi in omloop die op verschillende versies van het besturingssysteem Pi OS draaien. Daardoor kan de manier om een Pi zelfstartend te maken verschillen.
Deze pagina behandelt het opstarten onder OS-versie Debian 12 (Bookworm) met systemd.
In 2026 is de actuele OS-versie: Debian 13 (Trixie). De opstartmethode autostart is beschreven op een andere pagina.
Met welke versie van Pi-OS werkt is op te vragen in een terminalvenster met de opdracht cat /etc/os-version.
Tot en met Raspberry Pi 3 werkt het opstarten ook onder Trixie met systemd, maar vanaf Pi 5 werkt deze methode niet meer.
De Pi 3 werkt ook met autostart onder Trixie (Pi 4 heb ik er nog niet mee getest).
systemd instellen
Een paar dingen zijn nodig als voorbereiding.
unit file
Dit is een tekstbestand waarin staat wat we gaan starten en onder welke voorwaarden. Deze zetten we in /etc/systemd/system met het achtervoegsel .service.
In deze omgeving moet je werken met root-bevoegdheid. Maak het bestand in de tekstbewerker nano met de volgende opdracht.sudo nano /etc/systemd/system/voorbeeld.service
Als je geen gebruik maakt van de grafische omgeving, dan is deze inhoud passend.
[Unit]
Description=Mijn voorbeeld
After=multi-user.target
[Service]
ExecStart=/usr/bin/python3 /home/pi/voorbeeld.py
[Install]
WantedBy=multi-user.target
Als het programma wel in de grafische omgeving draait dan is dit een goede inhoud.
[Unit]
Description=Mijn voorbeeld
After=graphical.target
[Service]
Type=Idle
User=pi
Environment=DISPLAY=:0
Environment=XAUTHORITY=/home/pi/.Xauthority
ExecStart=/usr/bin/python3 /home/pi/voorbeeld.py
Restart=always
RestartSec=10s
KillMode=process
TimeoutSec=infinity
[Install]
WantedBy=graphical.target
Na het tikwerk sluit je af met ctrl+O om op te slaan en ctrl+X om nano te stoppen.
aanmelden bij systemd
Geef systemd de opdracht alle services op te halen, waaronder het voorbeeld.sudo systemctl daemon-reload
Meld het voorbeeld aan om te starten.sudo systemctl enable voorbeeld.service
Herstart na deze opdrachten de Pi omhet resultaat te zien.
andere opdrachten voor systemd
Om te weten hoe de toepassing ervoor staat: systemctl status voorbeeld.service
Om de toepassing te stoppen: sudo systemctl stop voorbeeld.service
Om weer te starten: sudo systemctl start voorbeeld.service
niet meer nodig?
Als de toepassing niet meer automatisch moet starten, zet hem dan uit.sudo systemctl disable voorbeeld.service
Als de toepassing helemaal niet meer nodig is, verwijder dan de unit file en laat systemd een nieuwe lijst met services maken.sudo rm /lib/systemd/system/voorbeeld.service
sudo systemctl daemon-reload
Dit wordt van kracht bij de volgende start van de computer.


