我正在开发一个项目,我想在 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 的睡眠,它工作正常。
我的问题是:
- 为什么需要这种睡眠?我知道客户端尝试连接时套接字文件不可用。但这对于 Weston 和 Wayland 客户来说正常吗?
- 创建套接字文件需要多少时间?
- 有没有比使用睡眠更好的解决方案。
PS:使用 Wayland 的 QT 应用程序观察到相同的问题。