web-dev-qa-db-fra.com

Migrer Upstart vers SystemD sur Ubuntu / Lubuntu pour démarrer automatiquement Chrome

Ceci est très similaire à cette question mais il n’a reçu aucune réponse.

Je suis en train de migrer de Lubuntu 14.04 à 16.04 et j'ai un simple script de démarrage que je dois convertir en systemd. Il commence Chrome dans OpenBox comme il est issu de: Conversion d’un bureau Ubuntu existant en kiosque Chrome

Il crée un script de démarrage qui démarre une session X11 avec kiosk.sh:

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

emits starting-x
respawn

exec Sudo -u $USER startx /etc/X11/Xsession /opt/kiosk.sh --

kiosk.sh fait ensuite ce qui suit pour lancer openbox et chrome:

#!/bin/bash

xset -dpms
xset s off
openbox-session &

while true; do
    rm -rf ~/.{config,cache}/google-chrome/
    google-chrome --kiosk --no-first-run  'http://thepcspy.com'
done

Quelle serait la meilleure approche pour atteindre le même objectif avec systemd?

6
Rory O'Siochain

Vous pouvez garder le kiosk.sh. Systemd est capable d'exécuter des scripts Shell. Créez un fichier appelé "chromestart.service" dans "/ etc/systemd/system /" et entrez le contenu suivant:

[Unit]
Description=Start of Google Chrome on startup

[Service]
Type=simple
ExecStart=startx /etc/X11/Xsession /opt/kiosk.sh
User=ENTER USERNAME HERE
Group=ENTER GROUPNAME HERE (usually the same as username)

[Install]
WantedBy=multi-user.target

Après avoir enregistré ce fichier, exécutez cette commande pour activer le service au démarrage:

systemctl enable chromestart.service

Il est également recommandé de définir les autorisations appropriées:

Sudo chown root:root /etc/systemd/system/chromestart.service
Sudo chmod 755 /etc/systemd/system/chromestart.service

Maintenant, redémarrez.

3
CubeDev