Ich kann einen Systemd Autostart Service für ein Python-Skript auf dem Beaglebone Debian Jessie nicht aktivieren. Ich verwende Tkinter in meinem Skript. Hier ist meine Unit-Datei Code:Problem mit Systemd für Autostart in Python/Tkinter auf Beaglebone
[Unit]
Description=Startup OQY
[Service]
WorkingDirectory=/home/debian/oqy
ExecStart=/usr/bin/python oqy.py
SyslogIdentifier=oqy
[Install]
WantedBy=multi-user.target
und hier ist der Status Fehler
● oqy.service - Startup OQY
Loaded: loaded (/lib/systemd/system/oqy.service; enabled)
Active: failed (Result: exit-code) since Wed 2016-04-06 16:40:35 UTC; 2min 58s ago
Process: 10739 ExecStart=/usr/bin/python oqy.py (code=exited, status=1/FAILURE)
Main PID: 10739 (code=exited, status=1/FAILURE)
Apr 06 16:40:35 beaglebone oqy[10739]: Traceback (most recent call last):
Apr 06 16:40:35 beaglebone oqy[10739]: File "oqy.py", line 270, in <module>
Apr 06 16:40:35 beaglebone oqy[10739]: main()
Apr 06 16:40:35 beaglebone oqy[10739]: File "oqy.py", line 252, in main
Apr 06 16:40:35 beaglebone oqy[10739]: root = tk.Tk()
Apr 06 16:40:35 beaglebone oqy[10739]: File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1813, in __init__
Apr 06 16:40:35 beaglebone oqy[10739]: self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
Apr 06 16:40:35 beaglebone oqy[10739]: _tkinter.TclError: no display name and no $DISPLAY environment variable
Apr 06 16:40:35 beaglebone systemd[1]: oqy.service: main process exited, code=exited, status=1/FAILURE
Apr 06 16:40:35 beaglebone systemd[1]: Unit oqy.service entered failed state.
Was mache ich falsch?
UPDATE: Systemdienste konfigurieren Systemdienste. Die GUI muss warten, bis der Display-Server und der Display-Manager gestartet sind, also sollte ich systemd überhaupt nicht verwenden.
Suche für diesen Fehler: es sieht aus wie es die Wurzel des Problems ist. Es gibt viele Antworten auf dieser Seite und anderen dazu: 'kein Anzeigename und keine $ DISPLAY-Umgebungsvariable' –