![编辑 /sys 文件系统中的文件并保留它们的正确方法是什么](https://linux22.com/image/944237/%E7%BC%96%E8%BE%91%20%2Fsys%20%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E5%B9%B6%E4%BF%9D%E7%95%99%E5%AE%83%E4%BB%AC%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88.png)
我可以使用以下命令让我的蓝牙鼠标停止滞后:
echo 300 > /sys/devices/pci0000:00/0000:00:14.0/usb1/1-14/power/autosuspend
不过,我相信这个更改在重启后将会丢失。
我理解目录的概念/sys
是计算机硬件的抽象,通过写入这个假装的文件,我实际上是在改变一些运行时?内核?参数。
我也知道类似的命令sysctl
在这个系统上运行,以及.rules
文件我认为会用于持续设置这些值,但经过几个小时的搜索,我还是无法弄清楚如何真正实现它。我可能完全偏离了我所知道的一切。
任何建议都值得感激。谢谢
答案1
echo 300 > /sys/devices/pci0000:00/0000:00:14.0/usb1/1-14/power/autosuspend
但是我相信这个更改在重启后将会丢失。
我将创建一个.rules
文件,用于udev
在添加设备时自动设置值。例如,文件/etc/udev/rules.d/90-bluetooth-mouse-autosuspend.rules
包含:
ACTION=="add", \
DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb1/1-14", \
ATTR{power/autosuspend}="300"
现在重新启动并检查该值是否设置为“300”:
$ cat /sys/devices/pci0000:00/0000:00:14.0/usb1/1-14/power/autosuspend
300
请注意,即使您插入了鼠标以外的其他设备,此规则也将应用于该特定 USB 端口。检查以下输出可能是一个更好的udevadm info -a -p /devices/pci0000:00/0000:00:14.0/usb1/1-14
主意ATTR{product}=="xxx"
和/或ATTR{serial}=="xxx"
您可以将其包含在/etc/udev/rules.d/90-bluetooth-mouse-autosuspend.rules
文件中。这将确保规则仅匹配您的蓝牙鼠标。