更新了Ubuntu 22.04,还行吧,功能冲突包模块冲突的不算多,之前的锁屏是不可用了,因为U更新了wayland做管理。

另外howdy也不好用了,重装也用不了,登录的时候摄像头不断在闪,看日志是已经登录成功的,但没通过认证,需要手动修改更新下/etc/pam.d/下面的配置,把多余的howdy认证require删掉。vim的youcompleteme也不好用了-。-

3.0版改了下一些小细节,修复了一个feature防止自己作弊,哈哈:上个版本时候在锁屏那一刻按住鼠标是可以重新唤醒howdy,又可以重新面容识别继续工作。

#!/bin/bash
# Auth: Zagfai
# lock screen and stop working# Check if another instance of script is running
sleep 2
pidof -o %PPID -x $0 >/dev/null && echo "ERROR: Script $0 already running" && exit 1echo "Started Restme"#########################################################
# config env
export DISPLAY=:0
export XDG_SESSION_TYPE=waylanduser=$(whoami)fl=$(find /proc -maxdepth 2 -user $user -name environ -print -quit)
i=0
while [ -z $(grep -z DBUS_SESSION_BUS_ADDRESS "$fl" | cut -d= -f2- | tr -d '\000' ) ]
dofl=$(find /proc -maxdepth 2 -user $user -name environ -newer "$fl" -print -quit)if [ "$i" -eq 10 ];thenexit;fisleep 1i="$((i+1))"
doneexport DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS "$fl" | cut -d= -f2-)#########################################################
# check last unlock screen time# cat /var/log/auth.log | grep unlocked | tail -1 | awk '{print $1, $2, $3}' > /tmp/unlocktime
# cat /tmp/unlocktime
# python3 -c "import sys;import dateutil.parser;import datetime;to_stop=datetime.timedelta(0, 60*36) >= datetime.datetime.now() - dateutil.parser.parse(open('/tmp/unlocktime').read()) > datetime.timedelta(0, 60*35);sys.exit(0 if to_stop else 1)"
# if [ "$?" -ne 0 ];   then exit;  fi
# sleep 2# if no idle file create one
if [ ! -f /tmp/user_last_idle_time ]; thenecho "$(date +%s)" > /tmp/user_last_idle_time
fiecho "last:" $(cat /tmp/user_last_idle_time) " now: " $(date +%s)# set idle if already idle for more than 100 seconds ( more than 2 mins)
idle=`dbus-send --print-reply --dest=org.gnome.Mutter.IdleMonitor /org/gnome/Mutter/IdleMonitor/Core org.gnome.Mutter.IdleMonitor.GetIdletime | awk '{print $NF}' | sed -n 2p`
idletime=$(( $idle / 1000 ))
if [ "$idletime" -gt 100 ];
thenecho "$(date +%s)" > /tmp/user_last_idle_time
fi# more than one night after system suspended
if [ $(( $(date +%s) - $(cat /tmp/user_last_idle_time) )) -gt 10800 ];  # 3 hours
thenecho "$(date +%s)" > /tmp/user_last_idle_time
fi# less then 30 mins, do NOT dim screen
if [ $(( $(date +%s) - $(cat /tmp/user_last_idle_time) )) -lt 1800 ];
thenexit;
fiecho $(date +%s) > /tmp/user_last_idle_time#########################################################
# Lock# xmodmap -e "keycode 48 = NoSymbol"
sed 's/disabled = false/disabled = true/' /lib/security/howdy/config.ini > /tmp/tmp_howdy_config
cat /tmp/tmp_howdy_config > /lib/security/howdy/config.ini# show loading
(
for i in {1..100};
dosleep 0.28if [ "$i" -eq 1 ];thenwmctrl -i -r $(wmctrl -l | grep 'Session Locking' | awk '{print $1}') -b add,sticky,abovefiif [ "$i" -eq 80 ];thenwmctrl -i -r $(wmctrl -l | grep 'Session Locking' | awk '{print $1}') -b remove,sticky,abovefiecho "$i"
done
) |
zenity --progress \--title="Session Locking" \--text="\n          Have a rest now!   Please ready in 20 seconds.          \n\n" \--auto-close \--auto-kill \--no-cancel \# xdotool key Super+l
# notify-send "Dim Screen"gnome-screensaver-command -lsleep 59# xmodmap -e "keycode 48 = apostrophe quotedbl"
sed 's/disabled = true/disabled = false/' /lib/security/howdy/config.ini > /tmp/tmp_howdy_config
cat /tmp/tmp_howdy_config > /lib/security/howdy/config.ininotify-send "Rest-time's up."
# spd-say 'Get back to work'
# sleep 1
# spd-say 'Get back to work'
# sleep 1
# spd-say 'Get back to work'

Ubuntu 定时锁屏3.0相关推荐

  1. 儿童玩耍电脑时间限制软件,定时锁屏软件,免费开源

    1. 背景与介绍 孩子一玩电脑就忘记时间,造成游戏过度,眼睛近视,故写了一个软件来限制儿童玩电脑时间(大人也可以用).功能有,设置允许玩耍开始时间和结束时间,允许玩耍时长等,到时间自动关机锁屏等. 2 ...

  2. ubuntu修改锁屏密码和root密码

    1.大家用Ubuntu设置密码是会遇到一个痛点,假如设置简单的密码时,会提示让设置更复杂的密码,下面通过一种方法可以设置简单密码. # sudo passwd 用户名 --->输入原来密码 -- ...

  3. ubuntu禁用锁屏

    右上角 --> 系统设置 亮度和锁屏 锁定(关闭)

  4. 他山锁屏 v1.0.4

    下载:他山锁屏Lock.rar 更新时间: 2014年12月01日,  大小:   164 KB 他山锁屏,支持2k,xp,vista,win 7,win 8,支持32/64位系统, vista及其后 ...

  5. ubuntu不锁屏设置

    点击右上角的小齿轮->选择System Settings->Brightness&Lock->Turn screen off when inactive for->Ne ...

  6. 定时监控Ubuntu系统HDMI热插拔进行锁屏操作

    目录 一.简介 二.检测HDNI热插拔状态 三.取HDMI状态值 四.编写逻辑判断 五.定时锁屏

  7. linux桌面 仿android,Ubuntu粉丝必备!仿Ubuntu锁屏App体验

    Ubuntu正在造手机的消息相信很多朋友已经知道了,Ubuntu在早些时候也已经放出过适用于Nexus机器的测试版系统,只是完成度并不高,流畅度和功能都难以令人满意.不过这并不妨碍很多人依然深爱着Ub ...

  8. ubuntu 18.04取消自动锁屏功能

    有时候几分钟不用Ubuntu,系统就自动锁屏了,这是一种安全措施,防止别人趁你不在时使用你的系统.但对于大部分人而言,这是没有必要的,尤其是Ubuntu虚拟机,里面没啥重要的东西,每次锁屏后需要重新输 ...

  9. ubuntu锁屏后,字符密码无法输入

    由于学习Linux,于是尝试着在物理机上安装了ubuntu16.04(虽说有点冒失),但是收获也不少,强迫自己用Linux,进步很快, 出现了很多问题,但好在都有前辈的经验可循. 其间遇到一个问题,就 ...

  10. android h5控制锁屏,WebView播放H5课件时,锁屏解锁后,页面重新绘制的问题

    难题描述:H5页面播放 ,锁屏,解锁后,重新加载了页面,三星不会出现(onpause onstop ,onresume),但在小米.魅族会调用 onpause onstop ondestroy,onr ...

最新文章

  1. 鲲鹏服务器拦截系统调用,鲲鹏服务器unicfg工具适配OpenEuler 20.03问题
  2. 深度学习时间序列预测:GRU算法构建单变量时间序列预测模型+代码实战
  3. 昨夜,5G R16标准正式冻结!5G物联网扬帆起航
  4. 设计模式-工厂模式学习(初级)
  5. mysql 日期前n天_MySQL日期范围查询,当前日期的前后几天
  6. Elasticsearch Java API 的使用—多条件查询
  7. 读书笔记:软件人才-管理的艺术
  8. 我写的几篇技术文章之一:Windows消息拦截技术的应用
  9. 论文浅尝 | Convolutional 2D knowledge graph embedding
  10. java两个web项目之间如何传值,两个项目之间传递参数有关问题 - 大神进
  11. 解密Oracle备份工具-exp/imp
  12. 为什么我们选择 Flutter 开发移动应用?
  13. 用ng-view创建单页APP
  14. 【CF1342D】Multiple Testcases(贪心+优先队列)
  15. 集成电路--封装种类
  16. opencv3编程入门毛星云(第五章节5.2)
  17. 两个苹果手机共享步数_实测:iPhone上“微信运动”步数可以作弊
  18. 【可达编程】P0815. 歌手大赛
  19. 定投基金,如何计算年化收益率
  20. `MD`语法技巧Typora

热门文章

  1. python语言程序设计实践教程答案实验五_Python程序设计实验五
  2. TCPip详解学习--广播,多播
  3. python 爬取直播_python 斗鱼直播间爬取代码
  4. JSON 格式化成视图模式
  5. 【Python】Python解释器
  6. php 自动换行,php imagettftext 规定宽度内自动换行
  7. 高等代数——大学高等代数课程创新教材(丘维声)——第0章 笔记+习题
  8. ubuntu 16.04/14.04 ORK 在 Kinect v2和 Kinect v1的安装(物体位姿估计)
  9. 比较好的取色工具汇总
  10. 【深入浅出精华版视频】-刘意day13思维导图整理