很多时候我们不能一直守护在自己的电脑旁边,而且有些文件并不想让别人知道。那么这时候来个锁屏,是再合适不过的了。今天分享一个自制的锁屏工具,如下。

准备

•操作系统 : 我这里是ElementaryOS虚拟机 + XShell 远程登录工具

•Shell语言 : 我使用的是默认的Bash Shell

•其他小工具 :

◦fortune:系统随机的从语库中选出一句英文成语。

◦cowsay :在终端界面上显示出一个奶牛的语句框,配合管道连接上fortune,效果完美!

代码

#!/bin/bash

#scriptname:locktty

#writed by :Marksinoberg

#description : just for protecting our message when we leave away. And we can set the password every time.

reset;clear #清除屏幕

info="Please input the password you will use later!"

cowsay $info

read mypassword

echo "Screen will locked in 7 seconds!"

sleep 7

clear

#!/bin/bash

#scriptname:locktty

#writed by :javalee

#script start...

reset;clear #清除屏幕

info="Please input the password you will use later!"

cowsay $info

read mypassword

echo "Screen will locked in 7 seconds!"

sleep 7

clear

#加上这个倒记时的小东东,;)

trapper () { #建立个函数

trap ' ' 2 3 20 #忽略CTRL+C CTRL+\ CTRL+Z信号

}

while : #进入死循环

do

trapper #调用函数

printf "\n\n\n\n\n\n\n\n\t\t\tPlease enter unlock code:" | cowsay

stty -echo #屏蔽输入的字符

read input

case $input in

$mypassword)

printf "\t\t Hello $USER,Today is $(date +%T)\n"

stty echo

break ;; #输入正确,挑出循环回到命令行

*)echo "Do not check my files,please! See as follows:"

sleep 3

clear

continue ;; #否则,继续循环

esac

done

运行演示

程序运行开始:

mark@mark:~/temp/myscripts$./lockscreen.sh

______________________________________

/ Please input the password you        \

\     will use later!                  /

--------------------------------------

\   ^__^

\  (oo)\_______

(__)\       )\/\

||----w |

||     ||

123

Screen will locked in 7 seconds!

由于静态文本没办法显示程序执行过程中的动态效果,所以直接看解锁界面吧

当我们输入不正确的密码的时候,系统会提示输入错误,以及一个幽默的“警告”

___________________________

/                           \

\ Please enter unlock code: /

---------------------------

\   ^__^

\  (oo)\_______

(__)\       )\/\

||----w |

||     ||

Do not check my files,please! See as follows:

_________________________________________

/ Q: Why is it that the more accuracy you \

| demand from an interpolation            |

|                                         |

| function, the more expensive it becomes |

| to compute? A: That's the Law of Spline |

\ Demand.                                 /

-----------------------------------------

\   ^__^

\  (oo)\_______

(__)\       )\/\

||----w |

||     ||

当我们密码输入正确的时候,如下:

___________________________

/                           \

\ Please enter unlock code: /

---------------------------

\   ^__^

\  (oo)\_______

(__)\       )\/\

||----w |

||     ||

Hello mark,Today is 06:35:05

结语

代码还是很简单的,仅仅用到了shell脚本语法的几个小命令。希望我这个脚本能抛砖引玉,打开你的思路,做出更好的锁屏小脚本!

linux自动锁屏命令_自制Linux终端锁屏工具相关推荐

  1. linux扩展磁盘空间命令_在Linux上监视磁盘空间– SQL Server DBA的有用命令

    linux扩展磁盘空间命令 In this article, we will explore the different Linux commands related to the disk spac ...

  2. linux 查找py文件命令_在 Linux 中如何从命令行查找 VirtualBox 版本

    如果你想知道如何在 Linux 中从命令行查找 VirtualBox 版本,可以采用以下几种方法. -- Sk(作者) 我使用 Oracle VirtualBox 和 KVM 虚拟化程序 测试不同的 ...

  3. linux打开txt文件命令_「linux命令详解」lsof命令解析,教你一步打开所有文件

    专注分享C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协 ...

  4. linux刷新本地dns命令_在Linux/Windows/Mac上刷新DNS缓存的方法

    刷新dns缓存让你可以得到新的域名解析.当你无法正确访问一个新注册的域名时就可以刷新dns缓存试试.刷新dns缓存非常简单,任何时候都以进行.但是不同的系统,Windows.Mac OS和Linux上 ...

  5. linux tcp 丢包命令_在Linux下实现测试TCP和UDP的丢包检测!

    在Linux下实现测试TCP和UDP的丢包检测! 疯狂の猿猴 • 2020 年 12 月 11 日 前言 本人平时基本上都是win,一下子转战到linux,有点不习惯! 因此做个记录,便于以后自己查阅 ...

  6. linux执行多个命令_您必须知道的前50多个Linux命令

    linux执行多个命令 Using Linux command on a regular basis? Today we'll look at 50+ Linux commands you must ...

  7. 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...

  8. linux擦除硬盘数据命令_轻松擦除,删除和安全销毁硬盘数据

    linux擦除硬盘数据命令 Giving a computer to somebody else? Maybe you're putting it out on Craigslist to sell ...

  9. linux 查找文件夹命令_如何从命令行在Linux中查找文件,文件夹和目录?

    linux 查找文件夹命令 Linux provides different ways to find and locate files and folders. We can use GUI too ...

最新文章

  1. datagrid分页问题(前后跳页)《控件版》
  2. 整个世界都是你的绿幕:这个视频抠图换背景的方法着实真假难辨
  3. linux不允许root用户登录图形界面的解决办法
  4. 从一次线下读书会获得的收获
  5. Handler 基本用法--线程间传值
  6. flatpickr功能强大的日期时间选择器插件
  7. 预训练语言模型真的是世界模型?
  8. Java 处理表格,也很轻松
  9. Uep的ajaxform和ajaxgrid组件获取数据源
  10. 华为发布了其自研的鸿蒙操作系统作文,2020高考模拟作文和范文:让传统文化照亮民族复兴之路...
  11. 【推荐】在R中无缝集成Github云端代码托管
  12. 屏幕居中(DIV/CSS) 的几种方法
  13. set 集合容器实现元素的插入与中序排序
  14. M427手动双面改自动双面
  15. Mitmproxy 新版配置上游(二级)代理
  16. 京东方恢复给苹果供应OLED面板,到底扯下了谁的遮羞布?
  17. 《Android Studio从入门到精通》读后感,电子书PDF百度网盘下载
  18. android连接和断开蓝牙音箱的问题
  19. java.lang.OutOfMemoryError异常及相关问题解决
  20. JAVA出现警告无法读取 AppletViewer 属性文件的解决方法

热门文章

  1. word另存为html emz和wmz,轉載:如何將offcie 2003文檔(.doc、.xls、.ppt)轉換成mht文檔...
  2. ROS ANDROID
  3. Hadoop纯理论bb,纸上谈兵
  4. 机器学习-决策树(decision tree)算法
  5. flutter 获取appbar高度,状态栏高度
  6. Oracle abs函数
  7. 名帖127 文徵明 小楷《盘谷叙》
  8. 数字化转型危与机,20年老厂的升级之路
  9. 青年大学习未学习人员名单查询
  10. TSN、TRN、ECO、 S3D、I3D-GCN、SlowFastNet、LFB