Linux定时任务-定时锁屏
作为程序员,经常写代码写到难以自拔,但是如果长时间如此,对眼睛和颈椎都是很大负担。如何善待自己的眼睛和颈椎呢?答案就是:Linux cron
。本文将介绍通过定时任务实现定时锁屏。注意:本人机器为 Ubuntu。
安装锁屏命令
sudo apt install gnome-screensaver
锁屏
gnome-screensaver-command -l
页面通知
为了更加优化,在锁屏前,弹出系统通知
notify-send -u normal -t 50000 -i appointment-new '1分钟后锁屏' '注意休息,善待眼睛、善待颈椎'
定时任务
Terminal中输入 crontab -e
进入定时任务编辑页面(如果是第一次,会提示选择编辑器,本人选择vim)。输入如下内容:
# m h dom mon dow command
29 * * * * notify-send -u normal -t 50000 -i appointment-new '1分钟后锁屏' '注意休息,善待眼睛、善待颈椎'
30 * * * * gnome-screensaver-command -l
奇怪的是,不管是通知还是锁屏,均无法生效。原因就在于 cron 中执行界面相关的命令,需要有如下合适的参数:$DBUS_SESSION_BUS_ADDRESS
,$DISPLAY
。如何给这两个参数设置合适的值呢?可以从系统中已运行的程序中获取,详情介绍请参考。
新建脚本:/usr/local/bin/gui-program-from-cron.sh
,内容如下:
#!/bin/sh
[ "$#" -lt 1 ] && echo "Usage: $0 program options" && exit 1program="$1"
shiftuser=$(whoami)
env_reference_process=$( pgrep -u "$user" xfce4-session || pgrep -u "$user" ciannamon-session || pgrep -u "$user" gnome-session || pgrep -u "$user" gnome-shell || pgrep -u "$user" kdeinit | head -1 )export DBUS_SESSION_BUS_ADDRESS=$(cat /proc/"$env_reference_process"/environ | grep --null-data ^DBUS_SESSION_BUS_ADDRESS= | sed 's/DBUS_SESSION_BUS_ADDRESS=//')
export DISPLAY=$(cat /proc/"$env_reference_process"/environ | grep --null-data ^DISPLAY= | sed 's/DISPLAY=//')
"$program" "$@"
修改脚本权限:
sudo chmod +x /usr/local/bin/gui-program-from-cron.sh
再次执行 crontab -e
# m h dom mon dow command
29 * * * * /usr/local/bin/gui-program-from-cron.sh notify-send -u normal -t 50000 -i appointment-new '1分钟后锁屏' '注意休息,善待眼睛、善待颈椎'
30 * * * * /usr/local/bin/gui-program-from-cron.sh gnome-screensaver-command -l
善待眼睛、善待颈椎,从看完本文开始!
参考
- Make notify-send work from user cron file in ubuntu
- ubuntu下提醒自己定时休息
Linux定时任务-定时锁屏相关推荐
- Linux终端怎么锁屏,自制Linux 终端 锁屏防窃助手
很多时候我们不能一直守护在自己的电脑旁边,而且有些文件并不想让别人知道.那么这时候来个锁屏,是再合适不过的了.今天分享一个自制的锁屏工具,如下. 准备 操作系统 : 我这里是ElementaryOS虚 ...
- 儿童玩耍电脑时间限制软件,定时锁屏软件,免费开源
1. 背景与介绍 孩子一玩电脑就忘记时间,造成游戏过度,眼睛近视,故写了一个软件来限制儿童玩电脑时间(大人也可以用).功能有,设置允许玩耍开始时间和结束时间,允许玩耍时长等,到时间自动关机锁屏等. 2 ...
- linux(Debian11)休眠锁屏后无法唤醒
原文:[Debian10]intel核显使用xfce锁屏会黑屏无法唤醒解决方案 - Daniel_Luo - 博客园 intel核显笔记本安装了debian10.使用的是xfce的桌面环境.但是xfc ...
- linux定时任务 定时重启docker容器
Linux添加crontab定时任务 由于公司古董项目,不知原因引发了,容器得每次重启才能正常使用.由于工作进度的原因没办法对老项目进行构架重构.就采取了这个定时任务的方式解决办法. 首先根据网页提供 ...
- linux设定vnc锁屏时间,3. 设置VNC和时间同步
# 设置VNC 这里的通过vnc方式访问虚拟机不是在kvm虚拟机安装配置vnc服务器,通过虚拟主机的IP地址与端口进行访问,kvm虚拟化对vnc的支持相对来说比xen要好很多,在虚拟主机上配置VNC访 ...
- Linux 定时任务 定时备份mysql数据
首先查看服务器是否安装 crontab crontab 执行 crontab 命令如果报 command not found,就表明没有安装 安装 crontab yum install -y vix ...
- linux mint 更改锁屏壁纸
cd /usr/share/backgrounds/linuxmintsudo cp /home/.../壁纸.jpg .sudo rm default_background.jpgsudo ln - ...
- 定时监控Ubuntu系统HDMI热插拔进行锁屏操作
目录 一.简介 二.检测HDNI热插拔状态 三.取HDMI状态值 四.编写逻辑判断 五.定时锁屏
- centos linux怎么关闭锁屏时间,【Centos】Centos7.5取消自动锁屏功能
00. 目录 @ 01. 问题描述 Centos7.5系统在用户闲置一段时间(默认为5分钟)后,会启动屏幕保护程序(默认的屏保为黑屏),并要求重新输入密码才能回到原来桌面.如果是管理员,建议开启自动锁 ...
- 如何修改Linux的锁屏时间,调整Kali Linux的锁屏时间
调整Kali Linux的锁屏时间 锁屏是保护隐私的一种重要机制.当用户不操作电脑一段时间后,系统会进入锁屏状态.用户需要输入口令,才能重新进入系统.避免因为操作人员离开电脑后,被其他人员利用现有帐号 ...
最新文章
- Linux基础服务_DNS原理以及正反向DNS配置
- python基础07_tuple_dict
- MATLAB数字信号处理函数
- Java “\”与\\的替换
- php 类 private,有关php类的private属性继承问题详解
- java二级考纲_二级JAVA程序设计考试大纲
- 树莓派自启动配置端口映射及启动jar
- ubuntu18.04安装CH340和CH341驱动
- Excel排序、筛选
- spss的独立样本T检验
- Microsoft Remote Desktop 10 - 微软官方免费远程桌面控制 Windows 的软件 APP
- GB2312和UTF-8
- Java PDF生成方案介绍及问题汇总
- msvcr100.dll丢失怎么办?msvcr100.dll丢失的解决方法
- linux完美卸载编译的php,完美卸载linuxoracle的方法
- python绘制3d动态模型_python+matplotlib库绘制数学3d模型分析图
- rocketmq client端源码分析(1)-consumer实现
- 百度APIak和sk
- 三星电视:科技创新塑造美好生活,绿色行动守护地球明天
- 密码学:分组密码.(块密码:是一种对称密码算法)