ubuntu 16.04 chmod 命令未在 rc.local 中自动执行

ubuntu 16.04 chmod 命令未在 rc.local 中自动执行

我正在尝试运行一个chmod命令,rc.local以便它在启动时执行。该命令使I2C设备能够被访问。但是,我需要手动运行rc.local才能使其工作。我使用的是 ubuntu 16.04 LTS。

这是我的rc.local文件:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sudo chmod 777 /dev/i2c-*
exit 0

答案1

您不必使用 sudo chmod 命令,因为该脚本是以 root 身份执行的。
您是否还按照评论部分所述在此脚本上添加了执行位? (即sudo chmod +x /etc/rc.local
您还应该确保遵循评论中 @steeldriver 给出的链接中给出的说明

实现设置设备权限的任务的更好方法是使用 udev 规则,例如如何在 Raspbian 上永久设置设备读写权限?解释了如何使用 udev 在 i2c 设备上设置 666 权限(树莓派部分不相关)

相关内容