Kivy应用程序未从systemd servi运行

2024-09-26 22:13:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在启动时使用systemd服务运行python kivy应用程序,它返回以下错误[CRITICAL] [Window ] Unable to find any valuable Window provider. 如果我用我的用户从shell运行这个应用程序,一切正常,但是如果我用systemd或sudo从shell运行,我会得到错误。 我也尝试从bash脚本和cron(@reboot)一起运行应用程序,但是我得到了相同的错误。在

我的系统:

Raspberry Pi 3B+
PipaOS 6.0 based on Raspbian Lite Stretch
Kivy v1.10.0
Python v2.7.13 (default, Nov 24 2017, 17:33:09)

Systemd服务文件:

^{pr2}$

输出错误:

[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_18-10-04_0.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v2.7.13 (default, Nov 24 2017, 17:33:09) 
[GCC 6.3.0 20170516]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: egl_rpi
libEGL warning: DRI3: xcb_connect failed
libEGL warning: DRI2: xcb_connect failed
libEGL warning: DRI2: xcb_connect failed
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
egl_rpi - EGLError: EGL_NOT_INITIALIZED (code x3001)
  File "/usr/local/lib/python2.7/dist-packages/kivy/core/__init__.py", line 67, in core_select_lib
    cls = cls()
  File "/usr/local/lib/python2.7/dist-packages/kivy/core/window/__init__.py", line 899, in __init__
    self.create_window()
  File "/usr/local/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 37, in create_window
    self._create_egl_context(self.win, 0)
  File "/usr/local/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 66, in _create_egl_context
    egl.Initialise(display)
  File "kivy/lib/vidcore_lite/egl.pyx", line 351, in kivy.lib.vidcore_lite.egl.Initialise (/tmp/pip-gDUvyK-build/kivy/lib/vidcore_lite/egl.c:2317)
  File "kivy/lib/vidcore_lite/egl.pyx", line 321, in kivy.lib.vidcore_lite.egl.raise_egl_error (/tmp/pip-gDUvyK-build/kivy/lib/vidcore_lite/egl.c:1873)
[CRITICAL] [App         ] Unable to get a Window, abort.

如果我和我的用户一起从shell运行它,则输出没有错误:

[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_18-10-04_1.txt
[INFO   ] [Kivy        ] v1.10.0
[INFO   ] [Python      ] v2.7.13 (default, Nov 24 2017, 17:33:09) 
[GCC 6.3.0 20170516]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_gif (img_pil, img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: egl_rpi
[INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
[INFO   ] [GL          ] Backend used <gl>
[INFO   ] [GL          ] OpenGL version <OpenGL ES 2.0>
[INFO   ] [GL          ] OpenGL vendor <Broadcom>
[INFO   ] [GL          ] OpenGL renderer <VideoCore IV HW>
[INFO   ] [GL          ] OpenGL parsed version: 2, 0
[INFO   ] [GL          ] Shading version <OpenGL ES GLSL ES 1.00>
[INFO   ] [GL          ] Texture max size <2048>
[INFO   ] [GL          ] Texture max units <8>
[INFO   ] [Shader      ] fragment shader: <Compiled>
[INFO   ] [Shader      ] vertex shader: <Compiled>
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event0
[INFO   ] [MTD         ] Read event from </dev/input/event0>
[INFO   ] [ProbeSysfs  ] device match: /dev/input/event0
[INFO   ] [HIDInput    ] Read event from </dev/input/event0>
[INFO   ] [Base        ] Start application main loop
[INFO   ] [MTD         ] </dev/input/event0> range position X is 0 - 800
[INFO   ] [HIDMotionEvent] using <FT5406 memory based driver>
[INFO   ] [GL          ] NPOT texture support is available
[INFO   ] [MTD         ] </dev/input/event0> range position Y is 0 - 480
[INFO   ] [HIDMotionEvent] <FT5406 memory based driver> range ABS X position is 0 - 800
[INFO   ] [MTD         ] </dev/input/event0> range touch major is 0 - 0

Tags: indevinfoimginputliblinewindow

热门问题