无法获取 GtkDrawingArea 小部件的 xid

Can't get xid of GtkDrawingArea widget

我正在尝试在 Python 3.6 中使用 python-vlc 和 Gtk 创建一个 GUI 应用程序。但是当我尝试访问我的 GtkDrawingArea 小部件的 xid(将它与我的播放器屏幕绑定)时,我收到一条错误消息

AttributeError: 'GdkWaylandWindow' 对象没有属性 'get_xid'

这是我试图获取 GtkDrawingArea 小部件的 xid 的代码部分:

def vlc_realize_handler(self, widget, data=None):
    self.win_id = widget.get_property('window').get_xid()
    self.player.set_xwindow(self.win_id)

那么,如何将我的播放器与此小部件绑定?

PS - 我使用 Ubuntu 17.10 作为默认使用 Gnome shell 的操作系统。

我认为这是因为 Gtk+ 3.0 应用程序默认会 运行 直接通过 Wayland。要强制应用程序通过 XWayland(X 客户端 over Wayland),请使用

启动您的应用程序
GDK_BACKEND=x11 your-app

我猜这是多少X11 apps can be used on Wayland