对不起,我正在尝试获取一个我写在树莓派上自动启动的python脚本 . 我尝试了几种方法,但都失败了 .

我已经尝试了一些使用cron的“@reboot”功能的方法,但是这些似乎使我的脚本在启动顺序中运行得太早,足够早它所需的库还没有加载它和pi的其他关键功能利用还没有开始 . 例如,我发生此错误:

Traceback (most recent call last):
  File "program_name.py", line 688, in <module>
    fig=plt.figure()
  File "/usr/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 435, in figure
    **kwargs)
  File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 81, in new_figure_manager
    return new_figure_manager_given_figure(num, figure)
  File "/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 89, in new_figure_manager_given_figure
    window = Tk.Tk()
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1813, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

这是一个奇怪的开始,因为我使用pygame而不是tkinter . 当我刚从终端使用“python program_name.py”运行我的程序时,这不是一个错误,所以在错误的时刻尝试运行脚本显然是一个问题而不是问题 . 剧本 . 此外,当发生这种情况时,程序试图在崩溃之前运行了一会儿这个错误,但是当我试图在屏幕和窗口上移动它时,鼠标非常缓慢和颤抖,这通常是一个带有相关位的全屏幕中间和黑色空间中的GUI(一种“实际大小,但屏幕可能会显示”显示)在它周围被扭曲成为一种“填充屏幕,即使这会破坏你的宽高比”显示 .

我也尝试使用/etc/xdg/autostart/myprogram.desktop使用/ etc / profile并使用init.d的各种方法,但所有这些似乎什么都不做,pi正常登录而我的python程序无法启动 .

无论如何让python程序在pi登录之后自动运行,所以你会有效地看到pi启动正常,并且正常的桌面开始加载但是一瞬间脚本将开始并且(因为它是基于pygame的python GUI)然后桌面将被它覆盖 .

谢谢