今天,我试着在我的树莓派上使用这个命令:
sox -t mp3 /home/pi/test.mp3 -t wav - | /home/pi/PiFmRds/src/pi_fm_rds -audio -
但是我得到了这个错误信息:
Failed to open /dev/mem: Permission denied.
Terminating: cleanly deactivated the DMA engine and killed the carrier.
sudo: ./sox : command not found
我试着把"sudo“放在命令前面,但是我得到了同样的错误。我该如何解决这个问题呢?(如果我做错了,很抱歉,我今天开始玩我的覆盆子,这也是我在这个网站上的第一个问题),提前谢谢!
发布于 2020-07-27 04:19:11
将sudo放在sox前面对您没有帮助,因为我非常确定错误消息"Failed to open /dev/mem“来自pi_fm_rds。而这仍然是在没有sudo的情况下启动的。
实际上,您正在执行两个命令。sox是第一个,pi_fm_rds是第二个。您将第一个命令的输出发送到第二个命令(通过管道|)。
要使用超级用户访问权限调用pi_fm_rds,您可以选择以下三个选项之一:
使用sudo调用pi_fm_rds
sox -t mp3 /home/pi/test.mp3 -t wav - | sudo /home/pi/PiFmRds/src/pi_fm_rds -audio -
或者将您的用户添加到kmem组(允许访问/dev/mem) -需要注销/重新启动。
sudo usermod -a -G kmem userName
或者将程序设置为setuid root或setgid kmem
chown root:root /home/pi/PiFmRds/src/pi_fm_rds
chmod u+s /home/pi/PiFmRds/src/pi_fm_rds
https://stackoverflow.com/questions/63104849
复制相似问题