Zenity向Ubuntu系统发送通知

文章目录

前言

一、Zenity是什么?

二、使用步骤

1.确认是否已安装

2.使用

三. 结论


前言

大家都知道,久坐带来的后果有多么痛苦,但是每天上班,一坐一整天,想着起来活动一下,干起活来就又忘啦,等想起来的时候已经下班了。之前使用手机闹钟,一是怕影响别人,再就是没用几天就烦了,Ubuntu有没有自带的闹钟,干脆自己写一个,反正简单,不会浪费多少时间。可以用高级语言,也可以用shell写一个脚本,用了十分钟就写好了,打包发布,做成系统服务,设置上班时间8点,下班时间17点,每隔60或90分钟弹窗提醒一次。程序简单,但是使用到的细节却值得留意。


一、Zenity是什么?

zenity是一个在X窗口系统中运行的GTK+应用程序,它可以在脚本中创建各种对话框和交互框。用户可以使用zenity在脚本中创建警告对话框、信息对话框、文件选择对话框、进度条等,以增强脚本的交互性和用户体验。Zenity 主要用于shell脚本中的交互界面设计。

二、使用步骤

1.确认是否已安装

一般来说,使用X11的Linux系统都会自带zenity,如果系统使用的不是X11,可以先确认一下是否可以运行X11;

确认是否安装zenity:

zenity  --version

 显示版本号,则表示已安装。

确认X11是否运行:

ps aux | grep Xorg     // Xorg是X11的实现

 

2.使用

使用zenity,可以看官网的zenity文档,比较详细直观,但是这个网站速度比较慢,

也可以使用终端来查看:

zenity文档

示例:

zenity --info --title "Zenity Demo" --text "Hello Zenity!" 

 zenity --entry --title "输入框" --text "请输入:"

 zenity --calendar

 zenity --password --title "口令" --text "请输入:"

简单实用,不再一一列举。

三. 结论

使用shell脚本的话,直接使用zenity就可以了,如果是使用的高级语言,则需要引入相对应的包,比如.Net,要引入System. Diagnostics. Process. dll;

值得一提的是,直接运行程序,没有问题,但是做成系统服务之后就不能显示了,如图:

 原因:

1. 没有正确的设置DISPLAY参数,

Environment=DISPLAY=:0

 2. 设置参数后有可能还是不能显示,这一般是权限的问题:

xhost +

 图形显示xhost对任何用户开放。这样就可以了。

 看看能坚持多久吧。

相关推荐

  1. Android13.0 系统Framework发送通知流程分析

    2024-06-17 18:50:02       32 阅读
  2. 通过TCP或UDP某个IP和端口发送数据

    2024-06-17 18:50:02       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-17 18:50:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-17 18:50:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-17 18:50:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-17 18:50:02       20 阅读

热门阅读

  1. 喜马拉雅项目调整

    2024-06-17 18:50:02       6 阅读
  2. 胡说八道(24.6.16)——数字电子技术以及通信杂谈

    2024-06-17 18:50:02       7 阅读
  3. Docker

    2024-06-17 18:50:02       4 阅读
  4. vue中ref与$parent/$children⽗⼦组件通信例子

    2024-06-17 18:50:02       6 阅读
  5. 微信小程序的常用api

    2024-06-17 18:50:02       5 阅读
  6. 【无标题】

    2024-06-17 18:50:02       7 阅读
  7. [C语言]条件编译

    2024-06-17 18:50:02       8 阅读
  8. 敏捷测试:方法和实践

    2024-06-17 18:50:02       7 阅读
  9. Linux sudo -i取消密码的方法

    2024-06-17 18:50:02       8 阅读
  10. 怎样在C语⾔中制作动画?

    2024-06-17 18:50:02       8 阅读