You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu 22.04中让notify-send通知永久保留(重启后仍存在)?

如何在Ubuntu 22.04中让notify-send通知永久保留(重启后仍存在)?

嗨,我完全懂你的需求——默认的notify-send通知确实是临时的,系统重启后就会消失,因为GNOME的通知系统默认只把通知存在内存或临时存储里。不过有两种实用的方法可以实现你要的持久化效果:

方法一:用Dunst替代默认通知守护进程(推荐)

Dunst是一款轻量级的通知守护进程,原生支持持久化通知配置,操作步骤如下:

  1. 先安装Dunst:
    sudo apt install dunst
    
  2. 创建并编辑Dunst的配置文件(如果没有就新建):
    mkdir -p ~/.config/dunst
    nano ~/.config/dunst/dunstrc
    
    在配置文件里添加或修改全局设置,开启持久化:
    [global]
    # 让通知永久保留,直到手动关闭
    persist = yes
    
  3. 替换GNOME的默认通知:
    先关闭GNOME的横幅通知(避免和Dunst冲突):
    gsettings set org.gnome.desktop.notifications show-banners false
    
    然后把Dunst添加到开机启动项:打开GNOME的「启动应用程序」,添加一条命令dunst,这样每次登录都会自动启动Dunst。

之后用notify-send发的通知就会一直保留在通知列表里,哪怕重启系统,直到你手动点击关闭。

方法二:自定义脚本实现持久化(适合动手能力强的用户)

如果不想替换默认通知守护进程,可以自己写个脚本把通知内容存到文件里,每次登录时重新加载:

  1. 创建一个脚本文件persistent-notify.sh:
    #!/bin/bash
    # 定义存储通知的目录和文件
    NOTIFY_STORAGE="$HOME/.persistent_notifications"
    mkdir -p "$NOTIFY_STORAGE"
    
    # 发送通知并保存到文件
    if [ $# -ge 2 ]; then
        HEADER="$1"
        BODY="$2"
        # 发送通知并获取通知ID
        NOTIFY_ID=$(notify-send -u critical -p "$HEADER" "$BODY")
        # 把通知信息写入存储文件
        echo "$NOTIFY_ID|$HEADER|$BODY" >> "$NOTIFY_STORAGE/active.txt"
    fi
    
    # 重启后恢复未关闭的通知
    if [ "$1" = "--restore" ]; then
        if [ -f "$NOTIFY_STORAGE/active.txt" ]; then
            while IFS='|' read -r ID HEADER BODY; do
                notify-send -u critical "$HEADER" "$BODY"
            done < "$NOTIFY_STORAGE/active.txt"
        fi
    fi
    
    # 手动清空所有持久化通知
    if [ "$1" = "--clear" ]; then
        rm -f "$NOTIFY_STORAGE/active.txt"
        notify-send "提示" "所有持久化通知已清空"
    fi
    
  2. 给脚本添加执行权限:
    chmod +x persistent-notify.sh
    
  3. 使用方法:
    • 发送持久化通知:./persistent-notify.sh "Header" "Body text"
    • 开机自动恢复通知:打开「启动应用程序」,添加命令/path/to/persistent-notify.sh --restore(替换成你脚本的实际路径)
    • 手动清空通知:./persistent-notify.sh --clear

这个方法的小缺点是,默认通知列表里的“清除所有”按钮不会同步删除存储文件里的内容,需要用脚本的--clear命令来手动清空。

备注:内容来源于stack exchange,提问作者keldorn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:48:14