温馨提示×

ubuntu消息怎么设置提醒

小樊
45
2025-10-28 02:12:26
栏目: 智能运维

Ubuntu消息提醒设置方法汇总

1. 使用notify-send命令行工具(基础/手动提醒)

notify-send是Ubuntu系统自带的轻量级通知工具,适合快速发送桌面提醒。需先确保安装libnotify-bin包(默认已安装):

# 基本用法:发送带标题和内容的提醒
notify-send "标题" "这是一条提醒消息"

# 自定义选项:设置图标、紧急程度、显示时长
notify-send -i /path/to/icon.png -u critical -t 10000 "重要提醒" "请立即处理!"
# 参数说明:-i 指定图标路径/名称;-u 紧急程度(low/normal/critical);-t 显示时长(毫秒,默认5秒)

2. 定时任务提醒(结合crontab

若需定时发送提醒(如每45分钟提醒休息),可通过crontab调度notify-send

# 编辑当前用户的crontab文件
crontab -e

添加以下内容(关键:设置DISPLAY环境变量确保图形显示):

*/45 * * * * export DISPLAY=:0 && notify-send "休息提醒" "该起来活动一下啦!"

保存后,cron会每45分钟执行一次提醒。

3. 命令执行完成提醒(自动化反馈)

若需在终端命令执行完毕后收到通知(如脚本运行完成),可通过以下两种方式实现:

  • 简单拼接:在命令后追加notify-send(适用于手动执行的命令):
    ./long_running_script.sh; notify-send "脚本完成" "脚本已成功执行!"
    
  • Shell别名/函数(简化重复操作):
    编辑~/.bashrc文件,添加以下内容:
    # 定义别名(快速调用)
    alias notifycmd='notify-send "终端" "命令已执行"'
    
    # 或自动捕获所有命令的执行结果
    notify_command() {
      status=$?
      if [ $status -ne 0 ]; then
        notify-send "命令失败" "错误代码:$status"
      else
        notify-send "命令完成" "已成功退出"
      fi
    }
    PROMPT_COMMAND="notify_command; $PROMPT_COMMAND"
    
    保存后运行source ~/.bashrc生效。此后,任何命令执行完毕后都会自动发送对应状态的提醒。

4. 图形化弹框提醒(替代方案)

若偏好更醒目的弹框,可使用zenity工具(需安装):

# 安装zenity
sudo apt install zenity

# 发送错误类型弹框
zenity --error --text="发生了一个错误!"

# 发送确认对话框(返回0/1表示用户选择)
if zenity --question --text="是否继续?"; then
  echo "用户选择了继续"
else
  echo "用户取消了操作"
fi

5. 高级自定义(Python+libnotify)

若需要更复杂的通知(如自定义样式、声音),可使用Python的notify2库:

# 安装依赖
sudo apt install python3-notify2

# 编写Python脚本(如send_notification.py)
import notify2
notify2.init("MyApp")
notification = notify2.Notification("自定义标题", "这是Python发送的通知", "/path/to/icon.png")
notification.show()

运行脚本即可显示高级通知。

常见问题解决

  • crontab中notify-send不显示:需在脚本中明确设置DISPLAY环境变量(如export DISPLAY=:0),并确保cron任务以当前用户身份运行。
  • 通知不弹出:检查桌面环境是否支持通知(如GNOME/KDE均支持),或尝试重启通知服务:systemctl --user restart dbus

0