Задержка доступа к сокету Wayland

Я работаю над проектом, в котором хочу использовать Weston и клиент wayland (myapp), пытающийся подключиться к нему сразу после запуска Weston при запуске.

Ниже приведены несколько строк из моего сценария запуска.

    экспортировать XDG_RUNTIME_DIR=/tmp/mydir
    / Уэстон и
    /myapp &

Я правильно установил переменную env «XDG_RUNTIME_DIR=/tmp/mydir». Уэстон и клиент wayland оба как доступ к пути, установленному в «XDG_RUNTIME_DIR».

Таким образом, Weston создает сокет как «PATH/wayland-0». Но клиент, пытающийся подключиться к этому, завершается с ошибкой «Нет такого файла или каталога».

После этого https://unix.stackexchange.com/a/539011/514997 я попытался добавить сон 2 между запуском клиента (myapp) и запуском вестона, он отлично работает.

Мой вопрос:

  1. Зачем вообще нужен этот сон? Я знаю, что файл сокета недоступен к тому времени, когда клиент пытается подключиться к нему. Но нормально ли это для клиентов Weston и Wayland?
  2. Сколько времени занимает создание файла сокета?
  3. Есть ли лучшее решение, чем использование сна.

PS: Та же проблема наблюдается с приложением QT, которое использует wayland.

0 ответов

Другие вопросы по тегам