web-dev-qa-db-fra.com

Comment afficher la notification utilisateur de redémarrage requise après l'installation d'un package personnalisé sous Linux?

Après avoir installé un package personnalisé, je devrais forcer un redémarrage du système.

J'ai regardé quelques solutions à ce problème

  1. utilisation notify-send pour afficher la notification de l'utilisateur suivie d'une commande de redémarrage, qui a fonctionné comme prévu. Mais la notification utilisateur ne s'affiche que lorsque j'installe le package à partir de la ligne de commande et non lorsque je l'ai installé via le Centre logiciel.

  2. Je suis tombé sur quelques messages où ils ont suggéré d'ajouter ce qui suit au script postinst

    [ -x /usr/share/update-notifier/notify-reboot-required ] && \
    /usr/share/update-notifier/notify-reboot-required || true
    

    J'ai essayé d'inclure ce qui précède dans le script postinst mais tout ce qu'il fait est de mettre à jour les deux fichiers /var/run/reboot-required.pkgs et /var/run/reboot-required avec des informations de redémarrage.

    Il n'a ni affiché de notification utilisateur ni redémarré le système après l'installation du package.

Existe-t-il un moyen d'afficher la notification utilisateur de redémarrage requise dans Ubuntu/Fedora/Open SUSE?

2
user284588

J'ai trouvé la réponse à cela. Peut afficher une notification utilisateur après l'installation à l'aide du script postinst suivant.

Créez un fichier avec le nom postinst et copiez-y le script suivant. Ce script doit être copié dans le bon répertoire avant de créer le paquet Debian.

Remarque: c'est pour l'environnement Debian.

#!/bin/sh -e

if [ -d /var/lib/update-notifier/user.d/ ]; then
   rm -rf /var/lib/update-notifier/user.d/PackageName
   cat << EOF >> /var/lib/update-notifier/user.d/PackageName
Name: PackageName Post Install Notification 
Priority: High
Terminal: False
#Command: /usr/bin/PackageName
Description: Reboot is required to complete the installation. 
EOF
   touch /var/lib/update-notifier/dpkg-run-stamp
fi
2
user284588