it-swarm.com.de

Ausführen des Skripts python als Dienst und Starten beim Systemstart

Ich habe ein python Skript geschrieben, um einen App Indicator in der Menüleiste von Ubuntu hinzuzufügen.

Ich möchte es als Dienst ausführen, der beim Systemstart gestartet wird.

Ich habe versucht, nach anderen Antworten zu suchen, aber keine davon hat für mich funktioniert, da sie veraltet waren, veraltete Funktionen verwendeten oder einfach nicht für mich funktionierten.

Ich benutze Ubuntu 16.04.

Bitte führen Sie mich. Dankeschön

2
np_complete

Es gibt einen Unterschied, ob Sie als Dienst oder einfach ausführen müssen , da Ihre Frage impliziert, dass es ausreichen würde, ihn einfach auszuführen .

Zum automatischen Starten eines Programms/Skripts

Verwenden Sie Startup Applications in Ihrem Ubuntu.

Platzieren Sie das (ausführbare) Skript an einer beliebigen Stelle und erstellen Sie einen neuen Eintrag, der im Grunde nur auf das Skript verweist.
Stellen Sie sicher, dass das Drehbuch einen richtigen Shebang hat: #!/usr/bin/env python oder ähnliches.
Stellen Sie außerdem sicher, dass der Eintrag aktiviert ist.

Dabei wird im Grunde eine neue .desktop-Datei in ~/.config/autostart erstellt. Sie können sich nach Herzenslust in diese Desktop-Datei hacken. Entfernen Sie einfach nicht den X-MATE-Autostart-enabled=true (diese Zeile kann je nach DE leicht abweichen.)

So erstellen Sie einen ordnungsgemäßen Service

Ubuntu 16 verwendet systemd und Sie müssen einen Dienst dafür erstellen. Das Erstellen eines systemd-Dienstes ist etwas schwieriger, aber es gibt viele gute Anleitungen wie:

Es wird jedoch hauptsächlich für Hintergrund-Daemons verwendet, nicht für Indikatoren oder andere GUI-Dinge. Sie sollten sich also an Startup Applications halten.

3