Linux 番茄时钟 定时 取消 快捷方式
shell 脚本
clock.sh
#!/bin/bash
if [ $1 == 0 ]
then
at -d `atq | awk -v ORS=" " '{a[NR]=$1} END {for(i=1;i<=NR;i++){print a[i]}}'` 2> /dev/null
espeak -v zh "取消"
else
time1=${1:-45}
time2=$[$time1+5]
espeak -v zh "$time1"
echo "env DISPLAY=:1 feh -F ~/Downloads/icon/th.jpeg" | at now +$time1 minutes
echo "env DISPLAY=:1 animate -backdrop ~/Downloads/icon/fd.gif" | at now +$time2 minutes
echo "ps -ef | grep feh | grep -v grep | awk '{print \$2}' | sed -n '1p' | xargs kill 2> /dev/null" | at now +$time1 minutes
feh ~/Downloads/icon/lazha2.jpg
fi
解释
if [ $1 == 0 ]
then
# 取消刚才设定的闹钟
at -d `atq | awk -v ORS=" " '{a[NR]=$1} END {for(i=1;i<=NR;i++){print a[i]}}'`
espeak -v zh "取消"
else
# 默认45分钟
time1=${1:-45}
# 如果到点后仍意犹未尽,那么5分钟后全屏提示
time2=$[$time1+5]
# 普通话读出时间,需要安装 espeak,可以玩一下
espeak -v zh "$time1"
# time1 时间后,在外接屏上显示指定图片,修改路径`~/Downloads/icon/th.jpeg`,按`Esc`关闭图片
echo "env DISPLAY=:1 feh -F ~/Downloads/icon/th.jpeg" | at now +$time1 minutes
# time2 时间后,在全部屏幕上显示指定gif动画,修改路径`~/Downloads/icon/fd.gif`,按`Esc`关闭图片
echo "env DISPLAY=:1 animate -backdrop ~/Downloads/icon/fd.gif" | at now +$time2 minutes
# time1 时间后,关闭提示图片
echo "ps -ef | grep feh | grep -v grep | awk '{print \$2}' | sed -n '1p' | xargs kill 2> /dev/null" | at now +$time1 minutes
# 因为有时候不知道是否已经开启,显示一张【提示图片】,修改路径`~/Downloads/icon/lazha2.jpg`
feh ~/Downloads/icon/lazha2.jpg
fi
添加快捷方式
- 在
/usr/share/applications/
目录下添加clock.desktop
文件
sudo vim /usr/share/applications/clock.desktop
[Desktop Entry]
Name=Clock
Exec=sh /home/lfp/bin/clock.sh
Icon=/home/lfp/Downloads/icon/clock.png
Type=Application
StartupNotify=true
Actions=time1;time2;cancel;
[Desktop Action time1]
Name=30分钟
Exec=sh /home/lfp/bin/clock.sh 30
[Desktop Action time2]
Name=35分钟
Exec=sh /home/lfp/bin/clock.sh 35
[Desktop Action cancel]
Name=取消时钟
Exec=sh /home/lfp/bin/clock.sh 0
需要自己修改的地方
- Exec 路径,修改为自己clock脚本所在路径
- Icon 路径,修改为你要显示的图片的路径
- Actions 可以自己添加或修改时间,修改之后需要重启dock
alt + F2 打开对话框,输入 "r",回车重启生效
添加可执行权限
sudo chmod +x /usr/share/applications/clock.desktop
此时在程序列表中就会显示该快捷方式
可以右键添加到收藏夹快捷启动
资源
th.jpeg
fd.gif
clock.png
lazha2.jpg
Linux 番茄时钟 定时 取消 快捷方式的更多相关文章
- linux 实时时钟(RTC)驱动【转】
转自:http://blog.csdn.net/yaozhenguo2006/article/details/6820218 这个是linux内核文档关于rtc实时时钟部分的说明,此文档主要描述了rt ...
- Linux中的定时自动执行功能(at,crontab)
Linux中的定时自动执行功能(at,crontab) 概念 在Linux系统中,提供了两种提前对工作进行安排的方式 at 只执行一次 crontab 周期性重复执行 通过对这两个工具的应用可以让我们 ...
- linux下mysql定时备份数据库
linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈 一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...
- Linux 系统时钟(date) 硬件时钟(hwclock)
/********************************************************************* * Linux 系统时钟(date) 硬件时钟(hwclo ...
- linux 通用时钟框架CCF
linux CCF 时钟框架 简单介绍 这里讲的时钟是给soc各组件提供时钟的树状框架,并非内核使用的时间,和其它模块一样,clk也有框架,用以适配不同的平台.适配层之上是客户代码和接口,也就是各模块 ...
- linux中服务器定时程序设定
服务器不重启的情况下定时自动重启apache及mysql服务,其实也大同小异.具体步骤如下: 一.每天的12点及16点重启apache及mysql服务 [root@www bin]# cd /opt ...
- 如何使用Linux的Crontab定时执行PHP脚本的方法[转载]
首先说说cron,它是一个linux下的定时执行工具.根用户以外的用户可以使用 crontab 工具来配置 cron 任务.所有用户定义的 crontab 都被保存在/var/spool/cron 目 ...
- Linux系统时钟的更改
linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间. 查看.设置硬件时间: 查看系统硬件时钟 hwclo ...
- 【Java并发编程】20、DelayQueue实现订单的定时取消
当订单定时取消需要修改数据库订单状态,但是怎么确定订单什么时候应该改变状态,解决方案有下面两种: 第一种,写个定时器去每分钟扫描数据库,这样更新及时,但是如果数据库数据量大的话,会对数据库造成很大的压 ...
随机推荐
- Fiddler 介绍
1.fiddler原理介绍 fiddler 是一个抓包工具,当浏览器访问服务器会形成一个请求,此时,fiddler就处于请求之间,当浏览器发送请求,会先经过 fiddler,然后在到服务器:当服务器有 ...
- 04 全局局部配置 wxml数据绑定 事件 冒泡
一. 配置介绍 一个小程序应用程序会包括最基本的两种配置文件.一种是全局的 app.json 和 页面自己的 page.json(index.json /test.json等) 注意:配置文件中不能出 ...
- Azure AD(一)入门认识
一,引言(吹水) 距离上一次介绍Azure Functions的相关博文以及过期快一个月了,本来早早都想好已经规划好的Azure的相关的学习的路线,无奈还是由于自己文笔不好以及自身太懒,导致博文没有更 ...
- K - Leapin' Lizards HDU - 2732 网络流
题目链接:https://vjudge.net/contest/299467#problem/K 这个题目从数据范围来看可以发现是网络流,怎么建图呢?这个其实不是特别难,主要是读题难. 这个建图就是把 ...
- SpringCloudGateWay学习 之 从函数式编程到lambda
文章目录 前言: 函数式编程: 什么是函数式编程: 函数式编程的特点 lambda表达式: 核心: 函数接口: 方法引用: 类型推断: 变量引用: 级联表达式跟柯里化: 前言: 这一系列的文章主要是为 ...
- STC8A8K64S4A12通过SPI接口操作基于ST7920的LCD12864液晶模块
文章地址:https://www.cnblogs.com/jqdy/p/12665430.html 1. 硬件连接 1.1 64引脚的STC8A8K64S4A12 使用的是最小核心板,所以引脚皆引出可 ...
- Excel:公式转数值
跨Workbook引用有些危险,有时要把公式转换为数值.修改频繁,有时也要把公式转换为数值. 方法一,选中区域,复制Ctrl+C,选择性粘贴Ctrl+Alt+V,数值V.方法二,选中区域,复制Ctrl ...
- JDBC05 ResultSet结果集
ResultSet结果集 -Statement执行SQL语句时返回ResultSet结果集 -ResultSet提供的检索不同类型字段的方法,常用的有: getString():获得在数据库里是var ...
- [hdu5521 Meeting]最短路
题意:有N个点,给定M个集合,集合Si里面的点两两之间的距离都为Ti,集合里面的所有点数之和<=1e6.有两个人分别在1和N处,求1个点使得两个人到这一点距离的最大值最小 思路:这题是裸的最短路 ...
- [zoj3593]扩展欧几里得+三分
题意:给一个数A,有6种操作,+a,-a,+b,-b,+(a+b),-(a+b),每次选择一种,用最少的次数变成B. 思路:由于不同的操作先后顺序对最后的结果没有影响,并且加一个数与减一个相同的数不能 ...