>  Q&A  >  본문

linux - Ubuntu自启动脚本实现定时关机的问题?

想象一下给年幼的孩子配了一台电脑,出于对孩子身体健康的着想,打算给孩子装上Ubuntu系统,并让系统实现以下功能:孩子玩电脑超过50分钟时,电脑自动关机;只有当孩子休息20分钟后才能成功开机。

问题:将以下代码写入shutdown_on_time.sh,再新建一个olddate.log(在该文件里写入数字1)文件,shutdown_on_time.sh与olddate.log所处的文件夹位置为/home/lic/shell_test/
在Ubuntu系统的文件/etc/rc.local(系统启动后,会自动执行rc.local里的程序)里加入
bash /home/lic/shell_test/shutdown_on_time.sh
电脑开机后,并没有实现该功能,请问有什么解决方案吗?

注:shutdown_on_time.sh的权限设置:
chmod 777 shutdown_on_time.sh

#!/bin/bash

#shutdown after 50 munite when open the system
standardskip=20 #规定休息时间必须超过20分钟

datenow=$(date +%Y%m%d%H%M) #读取当前时间

dateold=$(awk 'NR==1{print $1}' /home/lic/shell_test/olddate.log) #读取上一次记录的时间

skip=$(expr $datenow - $dateold)

if [ $skip -gt $standardskip ]
then
sleep 100 
notify-send "主人,你已经休息了20分钟了,可以使用电脑了"
sleep 3
notify-send "主人,你已经休息了20分钟了,可以使用电脑了"
sleep 3
notify-send "主人,你已经休息了20分钟了,可以使用电脑了"
sleep 3000
echo $datenow > /home/lic/shell_test/olddate.log
notify-send ["计算机将会在2分钟后关机"] "请及时保存已修改的文件"
sleep 3
notify-send ["计算机将会在3分钟后关机"] "请及时保存已修改的文件"
sleep 3
notify-send ["计算机将会在3分钟后关机"] "请及时保存已修改的文件"
sleep 120
shutdown now
else
sleep 100 
notify-send "主人,还不到20分钟,你应该再休息会"
notify-send ["计算机将会在3分钟后关机"] "请及时保存已修改的文件"
sleep 3
notify-send ["计算机将会在3分钟后关机"] "请及时保存已修改的文件"
sleep 3
notify-send ["计算机将会在3分钟后关机"] "请及时保存已修改的文件"
sleep 300
shutdown now
fi

exit 0
大家讲道理大家讲道理2765일 전803

모든 응답(1)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-17 17:07:43

    '이 기능은 구현되지 않았습니다.' 정확히 구현되지 않은 기능은 무엇인가요? 알림이 구현되었나요? 아니면 자동으로 종료되지 않나요?
    이미 우분투를 설치했는데, 아이들이 웹게임, 스팀을 할까봐 걱정되시나요?

    shutdown 명령에는 sudo 권한이 필요합니다. sudo visudopassword-free에 shutdown을 추가하고 호출 시 앞에 sudo를 추가하세요.

    또한, 자체 시작 프로그램에 대한 일반적인 접근 방식은
    1. Ubuntu의 "시작 응용 프로그램"을 사용하여 관리하는 것입니다.
    2 systemd 또는 sys v 서비스 스크립트 작성

    회신하다
    0
  • 취소회신하다