web-dev-qa-db-fra.com

Exécution du script à l’arrêt et au redémarrage pour éviter la perte de session Chromium

J'exécute Ubuntu 18.04.1 et j'essaie de créer un script qui ferme correctement Chromium avant d'éteindre le système afin qu'il ne me donne pas de "session de restauration" contextuelle après le démarrage. J'ai pensé que j'utiliserais killall pour cela et j'ai trouvé /home/shutdownscript.sh:

#!/bin/bash 
killall -HUP "chromium-browser --enable-pinch"

cela semble faire l'affaire.

Cependant, le fait d’exécuter ce script à l’arrêt ou au redémarrage pose maintenant un problème.

La première chose que j'ai essayée était de le mettre dans /etc/init.d sous la forme shutdownscript avec chmod a+x, puis en lui faisant un lien vers rc0.d et rc6.d sous la forme K99shutdownscript et plus tard K01ashutdownscript. Cependant, cela n'a pas fonctionné pour moi.

J'ai pensé que je devrais peut-être créer un nouveau service systemd, alors j'ai créé shutdownscriptnew.service dans /etc/systemd/system avec un contenu comme celui-ci:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          shutdownscript
# Required-Start:    
# Required-Stop:     
# Default-Start:     
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

[Unit]
Description=Saves Chromium session
Before=shutdown.target reboot.target halt.target

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/home/istir/shutdownscript.sh

[Install]
WantedBy=multi-user.target

Ensuite, j'ai lancé systemctl start shutdownscriptnew.service et systemctl enable shutdownscriptnew.service mais cela ne fonctionnait toujours pas comme prévu. Cependant, lorsque je lance systemctl stop shutdownscriptnew.service, il fait ce qu’il devrait faire et ferme correctement le chrome de sorte qu’après sa réouverture, il ne souhaite pas restaurer les pages.

Ubuntu 18.04.1 LTS GNOME Shell 3.28.2 Chrome installé à partir du logiciel Ubuntu (navigateur chrome) Arrêt de la barre des tâches GNOME.

J'ai également essayé d'installer Google Chrome à partir de google.com/chrome/, mais il souhaitait toujours restaurer les pages après le redémarrage.

Je veux spécifiquement pouvoir exécuter un script comme celui-ci et ne pas réparer le chrome car j'ai un problème similaire avec Spotify - cela ne sauvegarde pas ma dernière chanson lorsque je ferme mon PC et j'espère pouvoir faire quelque chose de similaire.

J'imagine que le problème vient de shutdownscriptnew.service, mais j'ai cherché et cherché et je ne trouve rien qui me convienne.

Merci pour l'aide!

2
istir

Le problème est que votre script s'exécute plus tard que prévu.

Au moment où le script est exécuté, le gestionnaire d’affichage est déjà mort et a emporté Chromium.

Votre script doit être exécuté à la déconnexion, puis fermé.

Edit: Sur GDM3, vous pouvez essayer/etc/gdm3/PostSession/Default

1
Peter Geis