Bonjour,
Je tente de convertir le script de démarrage sous systemd. Mais pas beaucoup de doc à ce sujet en français.
Ancien fichier :
!/bin/sh
USER=« teamspeak »
DIR=« /usr/local/teamspeak/teamspeak3-server_linux-x86 »
case « $1 » in
start)
su $USER -c « /usr/bin/exagear – ${DIR}/ts3server_startscript.sh start »
;;
stop)
su $USER -c « /usr/bin/exagear – ${DIR}/ts3server_startscript.sh stop »
;;
restart)
su $USER -c « /usr/bin/exagear – ${DIR}/ts3server_startscript.sh restart »
;;
status)
su $USER -c « /usr/bin/exagear – ${DIR}/ts3server_startscript.sh status »
;;
*)
echo « Usage: {start|stop|restart|status} » >&2
exit 1
;;
esac
exit 0
Nouveau :
[Unit]
Description=TeamSpeak 3 Server
After=network.target
[Service]
WorkingDirectory=/usr/local/teamspeak/teamspeak3-server_linux-x86/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/usr/bin/exagear – /usr/local/teamspeak/teamspeak3-server_linux-x86/ts3server_startscript.sh start
ExecStop=/usr/bin/exagear – /usr/local/teamspeak/teamspeak3-server_linux-x86/ts3server_startscript.sh stop
ExecReload=/usr/bin/exagear – /usr/local/teamspeak/teamspeak3-server_linux-x86/ts3server_startscript.sh restart
PIDFile=/usr/local/teamspeak/teamspeak3-server_linux-x86/ts3server.pid
RestartSec=15
Restart=always
[Install]
WantedBy=multi-user.target
Une âme charitable peut me dire si la syntaxe est bonne?
Merci d’avance,
Alexis
je vais peut être dire des bêtises 
(précision inutile puisque je ne suis pas du tout informaticien
)
le script de base est appelé par “init” et on doit lui dire comment ça fonctionne (start/stop/…)
systemd connaît déjà les commandes start/stop/… donc tu n’as pas besoin de lui redonner
je me base sur cet exemple (lm-sensors)
le script init.d
#!/bin/sh
### BEGIN INIT INFO
# Provides: lm-sensors
# Required-Start: $remote_fs
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: lm-sensors
# Description: hardware health monitoring
### END INIT INFO
. /lib/lsb/init-functions
[ -f /etc/default/rcS ] && . /etc/default/rcS
PATH=/bin:/usr/bin:/sbin:/usr/sbin
PROGRAM=/usr/bin/sensors
test -x $PROGRAM || exit 0
case "$1" in
start)
log_begin_msg "Setting sensors limits"
if [ "$VERBOSE" = "no" ]; then
/usr/bin/sensors -s 1> /dev/null 2> /dev/null
/usr/bin/sensors 1> /dev/null 2> /dev/null
else
/usr/bin/sensors -s
/usr/bin/sensors > /dev/null
fi
log_end_msg 0
;;
stop)
;;
force-reload|restart)
$0 start
;;
status)
exit 0
;;
*)
log_success_msg "Usage: /etc/init.d/lm-sensors {start|stop|restart|force-reload|status}"
exit 1
esac
exit 0
le service systemd (carément plus simple 
[Unit]
Description=Initialize hardware monitoring sensors
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=-/usr/bin/sensors -s
ExecStart=-/usr/bin/sensors
[Install]
WantedBy=multi-user.target
après je ne connais pas /usr/bin/exagear ni le contenu de ts3server_startscript.sh
mais c’est intéressant comme démarche (pour mieux comprendre systemd) 
(re-précisions : c’est basé plus sur ma compréhension que sur de réelles connaissances
)
La Doc arch est bien faite
https://wiki.archlinux.fr/Systemd
Si le systemctl enable passe ça ira peut-être
bonjour,
tu peux t’inspirer des “paquets” archlinux puisqu’ils sont avec un fichier .service
ici ils utilisent 2 fichiers, le 2eme est un fichier environnement passé à la commande