我正在尝试运行一个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 权限(树莓派部分不相关)