Page 1 sur 1

[Systemd] Application au démarrage (résolu)

Publié : mer. 06 janv. 2016, 14:32
par RoKN
Bonjour et bonne année à tous ! :D

Je cherche à programmer le lancement au démarrage d'un logiciel mais je suis un peu perdu...
Sous Debian je passe par le fichier /etc/rc.local, mais apparemment sous Archlinux c'est vers systemd qu'il faut se tourner... et c'est là que je pige plus trop.

J'ai créé un service et demandé à systemd de le lancer au démarrage, ça fonctionne bien mais il ne reste pas tourner en tâche de fond : il se lance brièvement et s'arrête.

Voici le contenu de mon fichier puredata.service (car c'est le soft puredata que je cherche à faire tourner en fond) :

Code : Tout sélectionner

[Unit]
Description=Puredata
After=tlp-init.service

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/local/bin/puredata.sh

[Install]
WantedBy=multi-user.target
Et mon fichier puredata.sh :

Code : Tout sélectionner

#!/bin/sh
pd -nogui -noadc -nomidi -alsa /home/alarm/pure.pd &
Avez-vous une idée de la façon dont je pourrais m'y prendre s'il vous plait ?

Re: [Systemd] Application au démarrage (non résolu)

Publié : mer. 06 janv. 2016, 14:39
par benjarobin
Bonjour
Une petite lecture de la doc de systemd pourrait aider :-)
Essaye ceci :

Code : Tout sélectionner

[Unit]
Description=Puredata

[Service]
ExecStart=/usr/bin/pd -nogui -noadc -nomidi -alsa /home/alarm/pure.pd

[Install]
WantedBy=multi-user.target
Tu lances Puredata en tache de fond, utilisation de &, mais tu indiques à systemd que c'est un type oneshot, alors que c'est un type forking. Bref, le plus simple est d’utiliser le type 'simple', celui par défaut

Pourquoi avoir ajouté la dépendance, After=tpl-init ? Cela n'a apparemment pas de sens

Re: [Systemd] Application au démarrage (non résolu)

Publié : jeu. 07 janv. 2016, 17:01
par RoKN
Ah ça fonctionne nickel, merci beaucoup ! :-D

En fait, dans mes recherches je me suis contenté de copier/coller un exemple que je n'arrive plus à retrouver sans me poser de question, d'où le "After=tpl-init" que je ne sais pas du tout ce qu'il signifie... va falloir que je potasse :-)

EDIT :
J'essaye d'arrêter le service avec un "systemctl stop puredata.service" mais ça me retuorne

Code : Tout sélectionner

Failed to stop puredata.service: The name org.freedesktop.PolicyKit1 was not provided by any .service files
J'imagine que c'est normal, mais comment ça se fait ?

Re: [Systemd] Application au démarrage (non résolu)

Publié : jeu. 07 janv. 2016, 17:15
par benjarobin
Bonjour,
Non, ce n'est pas normal, sauf si tu as tenté de lancer cette commande en tant qu'utilisateur et que ta session ne gère pas les actions PolicyKit1 (étrange quand même)
Bref, la commande devrait être faite en root