让 Kivy 在 Win10 的 WSL2 上工作 Ubuntu

Getting Kivy to work in Ubuntu on WSL2 on Win10

我正在 Win10 上使用 VSCode 开发 Kivy 应用程序。一切正常。

要将我的应用程序部署到 Android,我想使用在 Linux 上仅 运行 的 buildozer。我已经打开 WSL2 并安装了 Ubuntu。一切正常。

我在 Linux 中创建了一个完全独立的部署环境来补充我的 Windows 开发环境。在这两种情况下我都使用虚拟环境。一切正常。

当我 运行 我的应用程序在 Windows 环境中时,它可以工作。当我 运行 它在 Linux 环境中时,它失败了。经过四处搜索,我认为问题与 windowing 有关。 Kivy 想打开 window,但我的 Ubuntu 没有为此设置。

顺便说一句,我对Linux了解不多。

这是代码和消息。

示例代码

from kivy.app import App
from kivy.uix.label import Label

class Play(App):

    def build(self):
        l = Label(text="Hello World")
        return l

if __name__ == '__main__':
    Play().run()

错误信息

 /usr/bin/env /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/bin/python /home/mkortink/.vscode-server/extensions/ms-python.python-2020.9.114305/pythonFiles/lib/python/debugpy/launcher 65502 -- /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/hello.py 
mkortink@DESKTOP-6FAUQ4D:/mnt/c/Users/mark/OneDrive/dev/babyclix_stg$  /usr/bin/env /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/bin/python /home/mkortink/.vscode-server/extensions/ms-python.python-2020.9.114305/pythonFiles/lib/python/debugpy/launcher 65502 -- /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/hello.py 
source /mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/bin/activate
[INFO   ] [Logger      ] Record log in /home/mkortink/.kivy/logs/kivy_20-10-16_3.txt
[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "/mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/lib/python3.7/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.7.9 (default, Aug 18 2020, 02:07:21) 
[GCC 9.3.0]
[INFO   ] [Python      ] Interpreter at "/mnt/c/Users/mark/OneDrive/dev/babyclix_stg/.venv/bin/python"
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
[INFO   ] [Window      ] Provider: x11(['window_egl_rpi', 'window_sdl2'] ignored)
Couldn't connect to X server

谁能告诉我我需要做什么才能 Ubuntu 让 Kivy 正常工作。 或者,我很乐意给 Ubuntu 轻弹并安装一个更适合初学者的 Linux 发行版,它更像 Windows 并且预装了 window 管理器。

谢谢

Can someone please tell me what I need to do to Ubuntu to get Kivy working.

您需要安装并设置 X 服务器。

我不清楚,你为什么要need/want这样做?为什么不使用 windows 进行 gui 开发和 Ubuntu 环境进行打包?

I am quite happy to give Ubuntu the flick and install a more beginner friendly Linux distro that is more Windows-like and comes with things like window managers preinstalled.

Ubuntu 正是那种适合初学者的发行版。你没有开箱即用的 gui 支持的原因是 WSL2 没有为它设置,而不是 Ubuntu 做错了什么,虽然我知道 WSL2 正在朝着拥有一些内置 wayland 的方向发展支持。