自动开机只有通过系统偏好设置来设置,而关机可以使用 shell 指令来实现。
一、自动开机
- 系统偏好设置->节能->定时->勾选设置定时开机;
说明
- 定时开机只是把电脑打开,开机之后显示的是用户登录窗,此时系统级别的开机启动配置设置会正常启动,但用户自定义的开机启动的配置需要用户登入相应用户 mac 账号才会执行。想了解开机启动的配置??;
- 基于上面的情况,如果需要开机自动启动用户自己配置的开机启动任务,则要再设置下自动登录,操作如下:系统偏好设置->用户与群组->登录选项->解锁,输入密码->自动登录;
二、自动关机
- 系统偏好设置->节能->定时->勾选设置定时关机;
- 通过
shutdown
指令:
shutdown -h now
立即关机
shutdown -h +10
10分钟之后自动关机
说明
/etc/sudoers
主要设置如下:
# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
我们添加的配置,如有别的需要,可参考上面👆
--------------------------------------------
user01 localhost=/sbin/shutdown
--------------------------------------------
- user01 是需要赋予权限的用户,用户和用户名不一定相同,可通过 whoami 指令查看当前用户。
- 这样配置以后就可以不用输入密码直接在脚本里通过 shell 指令关机,而不需要手动输入密码了。如需要定时自动执行,需要使用
crontab
指令,请参考。示例如下:
user01$ crontab -e
# 输入以下指令后再 wq! 保存并退出
30 5 * * * shutdown -h now #指定每天的 5:30 执行关机命令
#关于其它免密码输入的办法
网上有提出方案把密码通过管道传给sudo
指令,但我都测试过了,在Mac上行不通。方案包括:
echo 密码 | sudo shutdown -h now
-
sudo shutdown -h now<<EOF
密码
EOF
网友评论