许多用户在升级至 Fedora 16 之后发现,rc.local 开机脚本竟然不再自动执行了。实际上,系统本身是支持该功能的,只是默认安装时这个文件被直接删除了。要让它恢复正常工作,方法很简单——手动创建一个 rc.local 文件即可。下面我们一步步进行操作验证。
测试环境:Fedora 16 Gnome 桌面系统
1. /etc/rc.local 其实是 /etc/rc.d/rc.local 的软连接
首先需要留意的是,rc.local 文件头部必须加上 #!/bin/sh,否则系统不会将其识别为可执行脚本。接着执行以下命令,将调节亮度的指令写入文件,并赋予执行权限:
echo "echo 4 > /sys/class/backlight/acpi_video0/brightness" > /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
ln -s /etc/rc.d/rc.local /etc/rc.local
2. 查看 rc-local.service 的状态
使用 systemctl 命令检查该服务是否已经就绪:
systemctl status rc-local.service
如果服务尚未启动,可以先手动启动它。
3. 启动 rc-local.service
systemctl start rc-local.service
再次使用第 2 步的命令查看状态。此时可能会遇到服务启动失败的情况,问题出在哪里?
解决:
编辑 /lib/systemd/system/rc-local.service 文件,找到下面这行:
ConditionFileIsExecutable=/etc/rc.d/rc.local
在其前面加上 # 将其注释掉。然后重新启动 rc-local.service,并用 systemctl status rc-local.service 确认状态已经变为 active。
4. 重启机器验证
重启之后你会发现屏幕亮度已经自动调整到 4 了——这表明开机脚本确实成功执行了。当然,这个脚本中你可以放入任何需要在开机时自动运行的命令,不仅限于调节亮度。
