Linux Frage Script lässt sich nicht mit systemd starten

Freeldr77

Themenstarter
La gaffe
Ich habe einen Pi400 als Retrogaming Station eingerichtet.
Dazu verwende ich das Pimiga 2 Image und habe manuell noch Retrostation installiert.
Läuft soweit wie gewünscht.

Nun wollte ich aber, um zwischen den beiden Systemen zu wechseln (und später verschiedene Amiberry Profile direkt aus der Shell zu starten) direkt in der Shell ein kleines Auswahlmenü automatisch bei Systemstart ausführen.

Datei wird erstellt in: sudo nano /usr/local/sbin/start-menu

#!/bin/bash select auswahl in AMIGA EMULATIONSTATION EXIT do case "$auswahl" in EXIT) echo "GOODBYE" ; break ;; AMIGA) sudo /home/pi/./amiberry.sh ; break ;; EMULATIONSTATION) emulationstation ; break ;; esac done

sudo chmod +x /usr/local/sbin/start-menu

macht daraus eine ausführbare Datei, die im Order für Scripte mit root-Berechtigung liegt.

Gebe ich nun sudo start-menu in die Shell, erscheint erwartungsgemäß:

1) AMIGA 2) EMULATIONSTATION 3) EXIT #?

Die Befehle werden ausgeführt, soweit ist hello-world erledigt.

Das Script soll nach Systemstart von allein beginnen, ich möchte systemd verwenden.

Dazu erstelle ich eine Datei sudo nano /etc/systemd/system/startmenu.system

[Unit] Description=Startmenu for Emulators After=multi-user.target [Service] User=pi Type=idle ExecStart=sudo /usr/local/sbin/start-menu [Install] WantedBy=multi-user.target

Berechtigung mit sudo chmod 644 /etc/systemd/system/starmenu.service gesetzt.
System ist informiert mit sudo systemctl daemon-reload
Diese wird mit sudo systemctl start startmenu.service aktiviert und mit
sudo systemctl enable startmenu.service zum automatischen Start nach dem Rebooten eingetragen.

Das Ergebnis lautet allerdings:

● startmenu.service loaded failed failed Startmenu for Emulators

Und das Menü wird natürlich nicht angezeigt.

Klar könnte ich das Script auch einfach manuell ausführen, möchte ich aber nicht ;)

Was hab ich übersehen?
 
Zuletzt bearbeitet:
Oben Unten