0

我正在开发一个项目,我想在 Weston 启动后立即使用 Weston 和一个 Wayland 客户端(myapp)试图连接到它。

以下是我的启动脚本中的几行。

    导出 XDG_RUNTIME_DIR=/tmp/mydir
    /韦斯顿&
    /我的应用 &

我已经正确设置了环境变量“XDG_RUNTIME_DIR=/tmp/mydir”。Weston 和 Wayland 客户端都可以访问“XDG_RUNTIME_DIR”中设置的路径。

因此,weston 将套接字创建为“PATH/wayland-0”。但是尝试连接到此的客户端失败并出现错误“没有这样的文件或目录”。

在此https://unix.stackexchange.com/a/539011/514997之后,我尝试在客户端(myapp)启动和韦斯顿启动之间添加 2 的睡眠,它工作正常。

我的问题是:

  1. 为什么需要这种睡眠?我知道客户端尝试连接时套接字文件不可用。但这对于 Weston 和 Wayland 客户来说正常吗?
  2. 创建套接字文件需要多少时间?
  3. 有没有比使用睡眠更好的解决方案。

PS:使用 Wayland 的 QT 应用程序观察到相同的问题。

4

0 回答 0