Как скрыть терминал, но поддерживать его активным с помощью wmctrl

#bash #wmctrl

Вопрос:

Я пытаюсь запустить сценарий в фоновом режиме, который принимает ввод от сканера штрих-кодов и переключается между двумя окнами. Одно окно-это документ Google листов, другое-графический интерфейс, который принимает данные со сканера и вводит их в базу данных.

Когда штрих-код сканируется со значением «переключиться», в то время как графический интерфейс является активным окном, вызывается следующий сценарий для переключения в окно Google листы:

 wmctrl -a <Window that displays the google sheets document>
 

У меня есть скрипт, работающий в фоновом режиме, который должен переключиться обратно в графический интерфейс, когда штрих-код снова сканируется со значением «переключиться». Этот скрипт содержит следующее:

 #!/bin/bash

while read input
do
   if [ $input = "switch" ]
   then
      wmctrl -a <Window that displays GUI>
   fi
done
 

Проблема в том, что при вызове первого скрипта документ Google sheets становится активным окном. Терминал, работающий со вторым сценарием, не получает ввод от сканера штрих-кодов, так как он не находится в фокусе, и окно никогда не переключается обратно на графический интерфейс.