让Kivy在Win10上的WSL2上在Ubuntu中工作



我正在Win10上使用VSCode开发Kivy应用程序。一切都很顺利。

为了将我的应用程序部署到Android,我想使用只在Linux上运行的buildozer。我已经打开了WSL2并安装了Ubuntu。一切都很顺利。

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

当我在Windows环境中运行我的应用程序时,它可以工作。当我在Linux环境中运行它时,它会失败。经过四处查找,我认为问题与开窗有关。Kivy想打开一个窗口,但我的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,并预装了窗口管理器之类的东西。

感谢

有人能告诉我我需要对Ubuntu做什么才能让Kivy工作吗。

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

我不清楚,你为什么真的需要/想这样做?为什么不使用windows进行gui开发,使用Ubuntu环境进行打包呢?

我很高兴能给Ubuntu一个机会,安装一个更适合初学者的Linux发行版,它更像Windows,并预装了窗口管理器等功能。

Ubuntu正是那种对初学者友好的发行版。你没有现成的gui支持的原因是WSL2没有为它设置,而不是Ubuntu做错了什么,尽管我知道WSL2正在朝着有一些内置的wayland支持的方向发展。

相关内容

  • 没有找到相关文章

最新更新