Подождите, пока разветвленный процесс откроет окно

Я пытаюсь сделать скрипт следующим образом:

st -n dropdown & pid=$(xdotool search --classname dropdown) 

st – эмулятор терминала

Я пытаюсь запустить некоторые команды на созданном st с помощью xdotool. К сожалению, команды после st -n dropdown & запускаются до того, как запускается фактический ST-терминал, поэтому нет pid. Я всегда могу просто поставить sleep 0.1 после, но есть примеры (например, на более старых машинах), где для запуска терминала потребуется больше 0,1 секунды. Есть ли способ подождать, пока терминал запустится до выполнения остальной части скрипта?

Команда wait не работает, потому что ожидает завершения процесса, который в случае st , когда он убит, что не то, что я хочу.

One Solution collect form web for “Подождите, пока разветвленный процесс откроет окно”

xtoolwait – это утилита, которая запускает приложение X и ждет, пока оно не отобразит его окно. Затем он возвращает управление исходному сеансу оболочки.

Обычно он используется из файла .xinitrc или .xsession .

Вы можете использовать его в своем скрипте следующим образом:

 xtoolwait st -n dropdown pid=$(xdotool search --classname dropdown) 

Вторая команда не будет запускаться до xtoolwait пор, пока xtoolwait обнаружит, что st отобразило ее окно. Обратите внимание на отсутствие & на первой строке (это не нужно). Это может обеспечить достаточную задержку для второй команды для правильного поиска ПИД-регулятора.

  • Binvox не работает на безголовом сервере Linux
  • lxde stop auto максимизирует вертикаль при перемещении окна в правый край экрана
  • dbus-запуск прерывается ненормально со следующей ошибкой: протокол не указан
  • Терминал только как «Рабочий стол»
  • Можно ли переместить окно с одного экрана X на другой на одном хосте?
  • Включение растровых шрифтов выборочно в X?
  • Как скопировать и вставить текст, который находится в странном окне (на фото здесь)?
  • Как восстановить отсутствующий serverauth, чтобы пользователь мог запустить startx?
  • Храните приложение x11 GUI, перенаправленное через ssh после потери соединения
  • Укажите строки / столбцы полноэкранного X-терминала?
  • Пустое окно Android Studio в DWM
  • Linux и Unix - лучшая ОС в мире.