如何在 Linux 中安装自定义包后显示需要重启的用户通知?

如何在 Linux 中安装自定义包后显示需要重启的用户通知?

安装自定义包后,我应该强制重新启动系统。

我研究了几个解决方案

  1. 用于notify-send显示用户通知,然后是重新启动命令,该命令按预期工作。但用户通知仅在我从命令行安装软件包时显示,而不是通过软件中心安装时显示。

  2. 我碰到了一些帖子,他们建议将以下内容添加到 postinst 脚本中

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

    尝试在 postinst 脚本中包含上述内容,但它所做的只是更新两个文件/var/run/reboot-required.pkgs和/var/run/reboot-required或使用重启信息。

    软件包安装后,它既不显示用户通知,也不重新启动系统。

有没有办法在 Ubuntu/Fedora/Open SU​​SE 中显示需要重启的用户通知?

答案1

我找到了答案。可以使用以下postinst脚本显示安装后用户通知。

创建一个同名的文件postinst并将以下脚本复制到其中。在创建 Debian 包之前,应将此脚本复制到正确的目录中。

注意:这适用于 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

相关内容