尝试在启动后自动启动python脚本。我想在终端窗口中启动它,因为该程序在终端中提供了重要的反馈。
我研究了很多方法,包括crontab,init.d,rc.local和/etc/xdg/autostart/myscript.desktop
当我手动测试我的脚本(rc.local)时,从终端调用rc.local - 它可以工作,但是在启动后这些都不起作用。
我尝试了很多变体,最新的crontab:
@reboot sleep 60 && xterm -hold -e sudo python /home/pi/newcode/newcode/boot-test.py
我试过的其他变种包括(从shell脚本调用我的python脚本):
@reboot sleep 60 && /home/pi/bin/mount.sh && sh /home/pi/foo1.sh
和
@reboot sleep 60 && /home/pi/bin/mount.sh && sh /home/pi/foo1.sh
我真的很感激任何帮助
更新
foo1.desktop(保存在/ usr / local / bin / foo1):
[Desktop Entry]
...
Name=foo1
Exec=gksu /usr/local/bin/foo1
Terminal=false
Type=Application
Categories=GTK;System;TerminalEmulator;
foo1(保存在/etc/xdg/autostart/foo1.desktop):
#!/bin/bash
/usr/bin/x-terminal-emulator --command="/home/pi/newcode/newcode/boot-test.py" --title="My foo1"
python脚本,现在非常简单(保存在/home/pi/newcode/newcode/boot-test.py)
sensortype=raw_input("press enter to continue")
答案 0 :(得分:0)
<强>注释强>:
1.被命名为foo1.desktop?
2.命名为foo1.sh?
3. foo1.sh需要可执行吗?
Exec=gksu /usr/local/bin/foo1.sh
问题:我手动测试了我的脚本(rc.local)
请勿使用etc/rc.local
, X11 执行早期。
我的/etc/xdg/autostart
示例:
foo1.desktop
:[桌面输入]
...
NAME = foo1
Exec = gksu / usr / local / bin / foo1
终端=假
类型=应用
分类= GTK;系统;虚拟终端;
复制foo1.desktop
或在foo1.desktop
中创建指向/etc/xdg/autostart
的链接。
使用以下内容创建/usr/local/bin/foo1
:
#!/斌/庆典
/ usr / bin / x-terminal-emulator --command =“python path_to_your _ *。py”--title =“My foo1”
/usr/local/bin/foo1
,可执行。答案 1 :(得分:0)
尝试多个变体后,有效的脚本包含以下内容:
#!/bin/bash
/usr/bin/x-terminal-emulator -hold -e sudo python /home/pi/newcode/newcode/hms2-v2.6.py
通过执行以下操作使脚本可执行也是必要的:
sudo chmod 755 /etc/xdg/autostart/foo1.desktop
我从未让cron或init.d工作