Ubuntu消息提醒设置方法汇总
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秒)
crontab)若需定时发送提醒(如每45分钟提醒休息),可通过crontab调度notify-send:
# 编辑当前用户的crontab文件
crontab -e
添加以下内容(关键:设置DISPLAY环境变量确保图形显示):
*/45 * * * * export DISPLAY=:0 && notify-send "休息提醒" "该起来活动一下啦!"
保存后,cron会每45分钟执行一次提醒。
若需在终端命令执行完毕后收到通知(如脚本运行完成),可通过以下两种方式实现:
notify-send(适用于手动执行的命令):./long_running_script.sh; notify-send "脚本完成" "脚本已成功执行!"
~/.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生效。此后,任何命令执行完毕后都会自动发送对应状态的提醒。若偏好更醒目的弹框,可使用zenity工具(需安装):
# 安装zenity
sudo apt install zenity
# 发送错误类型弹框
zenity --error --text="发生了一个错误!"
# 发送确认对话框(返回0/1表示用户选择)
if zenity --question --text="是否继续?"; then
echo "用户选择了继续"
else
echo "用户取消了操作"
fi
若需要更复杂的通知(如自定义样式、声音),可使用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()
运行脚本即可显示高级通知。
notify-send不显示:需在脚本中明确设置DISPLAY环境变量(如export DISPLAY=:0),并确保cron任务以当前用户身份运行。systemctl --user restart dbus。