我试图在系统重新启动时自动运行python脚本。我已经跟踪了很多关于这个主题的帖子,我认为我已经接近了,但是却遇到了一个权限被拒绝的错误。在
我的脚本使用GPIO和Tkinter,是用python3.2.3编写的
第一步是我在脚本的顶部添加了这一行。在
#! /usr/bin python3.2
我看到了其他一些帖子,他们在/bin/etcpython中做了一些工作,我可以告诉您python没有安装在这里,如果我尝试这样做,就会抛出其他错误。我也尝试了python而不是python3.2,但我认为应该使用3.2
然后我到终端运行这个命令。在
^{pr2}$它立即返回,没有任何错误。在
然后我修改了LXDE autostart文件
sudo nano ~/etc/xdg/lxsession/LXDE/autostart
我在底部加了一行。在
/usr/bin/sudo ~/FDRT/stopclock.py
然后我重启了pi,它什么也没做 在/home/pi中,我打开了.xsession errors文件,看到我有一个权限被拒绝的错误。在
然后我试着在终端窗口中运行相同的命令
/usr/bin/sudo ~/FDRT/stopclock.py
这将返回相同的权限拒绝错误。在
有人能帮我解释一下我做错了什么吗?在
您在本地获得的权限被拒绝的事实应该会使调试更容易。第一个问题是你似乎缺少一个/ 更改:
到
^{pr2}$编辑回复Joran的评论:
请注意,如果您有以下简单程序(设置为permission 755)
以
python test.py
的形式运行它将打印出hello world;以./test.py
的形式运行它将返回:-bash: ./test.py: /usr/bin: bad interpreter: Permission denied
(至少在我的系统中;我以为我在其他地方看到了权限被拒绝的情况),这就是为什么我希望这样可以在不进行进一步测试的情况下解决问题(假设操作是如何获得shebang的,而不仅仅是粘贴到SO中的伪制品)另外,我建议在步骤中将~替换为实际路径(/home/pi),以确保某个地方没有扩展到root的home(假设/home/pi不是root在RPi上的home)
相关问题 更多 >
编程相关推荐