欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

自制Linux终端锁屏工具

程序员文章站 2022-11-18 18:10:40
很多时候我们不能一直守护在自己的电脑旁边,而且有些文件并不想让别人知道。那么这时候来个锁屏,是再合适不过的了。今天分享一个自制的锁屏工具,如下。 准备  ...

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

准备
 •操作系统 : 我这里是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脚本语法的几个小命令。希望我这个脚本能抛砖引玉,打开你的思路,做出更好的锁屏小脚本!