飞牛nas重启后自动关闭屏幕
我的飞牛nas是安装在一台笔记本电脑上,使用笔记本电脑的好处是自带屏幕和键盘,方便安装配置。
但其实也就是首次安装需要用一下屏幕和键盘,后续维护都是通过手机APP,或者是使用其他电脑登录网页端。
笔记本电脑安装飞牛nas,每次启动后,屏幕都会是亮着的,从省电和保护屏幕的角度出发,应该把它关闭掉。
之前我是在每次重启nas以后,在笔记本电脑上登录管理员用户,然后输入关闭屏幕的命令:
setterm --blank force --term Linux /tty1
后来想着能否偷个懒,让nas重启后自动运行关闭屏幕的脚本。
具体方案如下:
一、使用ssh登录到飞牛nas
具体方法见之前写的一篇文章:
二、创建关闭显示器的脚本
1.创建脚本文件
使用文本编辑器nano,在/usr/local/bin/ 目录下创建一个新脚本文件turn-off-screen.sh,命令如下:
sudo nano /usr/local/bin/turn-off-screen.sh
2.编写脚本内容
将以下内容写入脚本文件。这个脚本会对虚拟终端tty1执行关闭命令。
#!/bin/bash
CURRENT_TTY="/dev/tty1"
/usr/bin/ setterm --blank force --term Linux /tty1
然后按Ctrl+x退出nano编辑器,按y确认修改,按回车确认需要保存的文件名。
3.设置脚本权限
保存文件后,赋予脚本可执行权限:
sudo chmod +x /usr/local/bin/turn-off-screen.sh
三、创建并启用Systemd服务
接下来,我们将这个脚本注册为一个系统服务,以便在开机时自动运行。
1.创建服务文件
创建一个新的service文件:
sudo nano /etc/systemd/system/turn-off-screen.service
2.配置服务参数
将以下配置内容写入服务文件。这里我们设置服务在系统启动后、用户登录前(multi-user.target)运行,并且确保在网络就绪之后。
[Unit]
Description=Turn Off Screen after Boot
After=network.target multi-user.target
Wants=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/turn-off-screen.sh
RemainAfterExit=yes
StandardOutput=journal
[Install]
WantedBy=multi-user.target
备注:
Type=oneshot 表示这个服务执行一次命令后就会退出。
RemainAfterExit=yes 告诉systemd即使命令执行完毕,服务状态仍应视为活跃。
WantedBy=multi-user.target 确保服务在系统进入多用户模式(标准运行级别)时启动。
3.重新加载systemd并启用服务
创建服务文件后,需要重新加载systemd配置,然后启用这个服务,使其在每次开机时自动运行。
#以下命令是重新加载systemd配置
sudo systemctl daemon-reload
#以下命令是启用服务
sudo systemctl enable turn-off-screen.service
四、测试和验证
完成以上步骤后,手动启动服务来检查屏幕是否会被关闭:
sudo systemctl start turn-off-screen.service
使用以下命令查看服务是否成功运行,以及是否有错误日志:
sudo systemctl status turn-off-screen.service
如果服务运行失败,可以使用以下命令查看详细的日志:
sudo journalctl -u turn-off-screen.service -f
最后,重启飞牛NAS笔记本,验证显示器是否在启动后自动关闭。
sudo reboot

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
