自制Linux终端锁屏工具

 更新时间:2016年08月08日 16:14:38   作者:Marksinoberg  
这篇文章主要为大家详细介绍了如何自制Linux终端锁屏工具,具有一定的实用性,感兴趣的小伙伴们可以参考一下

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

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

相关文章

  • LAMP服务器性能优化技巧之Mysql优化

    LAMP服务器性能优化技巧之Mysql优化

    目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。本文我们将介绍基于LAMP组合的服务器的性能优化技巧:Mysql优化
    2012-02-02
  • centos7切换启动内核与切换启动模式的讲解

    centos7切换启动内核与切换启动模式的讲解

    今天小编就为大家分享一篇关于centos7切换启动内核与切换启动模式的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • linux实现猜数字小游戏源码

    linux实现猜数字小游戏源码

    这篇文章主要为大家详细介绍了linux实现猜数字小游戏源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • Centos 6和Centos 7下服务启动方法及添加到开机启动项的方法

    Centos 6和Centos 7下服务启动方法及添加到开机启动项的方法

    这篇文章主要介绍了Centos 6和Centos 7下服务启动方法及添加到开机启动项的方法的相关资料,需要的朋友可以参考下
    2016-10-10
  • 在lnmp环境中的nginx编译安装

    在lnmp环境中的nginx编译安装

    本篇文章给大家分享了在lnmp环境中的nginx编译安装的相关步骤以及需要注意的地方,有兴趣的朋友参考学习下。
    2018-04-04
  • LINUX中详解AWK内建变量FS,NF,NR,RT,RS,ORS,OFS

    LINUX中详解AWK内建变量FS,NF,NR,RT,RS,ORS,OFS

    很多朋友没搞告白AWK内建变量FS,NF,NR,RT,RS,ORS,OFS的方法和原理,小编给大家总结了详细的内容,一起来学习下思路。
    2017-11-11
  • UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY

    UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY

    这篇文章主要介绍了UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 历史Linux镜像处理及修复方案

    历史Linux镜像处理及修复方案

    在本文中我们给大家整理了关于如何对于历史Linux镜像的问题进行修复处理的相关内容,有需要的朋友们参考下。
    2018-09-09
  • 详细讲解西软FOXHIS增量备份与恢复方法

    详细讲解西软FOXHIS增量备份与恢复方法

    西软在实施阶段时,会设置好几个Linux shell的自动任务,把数据每天全库备份两次,并且并把数据通过ftp拷至备份库,其实这样做存在非常大的安全隐患,数据库服务器如果给KO了,您酒店只有当天的两次备份,数据损失将是12个小时来计算,对酒店经营非常不利
    2017-01-01
  • sersync实现数据实时同步的方法

    sersync实现数据实时同步的方法

    下面小编就为大家分享一篇sersync实现数据实时同步的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12

最新评论