Используется xprop
для получения класса моего окна и xdotool
] как показано ниже:
xdotool search --onlyvisible --classname gnome-terminal-server behave %@ focus exec xinput disable bcm5974 &
xdotool search --classname gnome-terminal-server behave %@ blur exec xinput enable bcm5974 &
Предыдущий вариант нестабилен, поэтому следующий сценарий, основанный на ответе @ SHW, лучше:
#!/bin/sh
[ "$(pgrep -x $(basename $0))" != "$$" ] && exit 1
while [ true ]
do
window=`xdotool getwindowfocus getwindowname`
is_enabled=`xinput --list-props bcm5974 | awk '/Device Enabled/{print $NF}'`
if [ "$window" = "Terminal" -o "$window" = "Guake!" ]; then
if [ "$is_enabled" = "1" ]; then
xinput disable bcm5974
fi
else
if [ "$is_enabled" = "0" ]; then
xinput enable bcm5974
fi
fi
sleep 1
done
Я нашел решение: использовать символическую ссылку, созданную путем добавления виртуальной среды нужной мне версии Python.
поэтому имея
ExecStart=/root/project/venv/bin/python3.6 -m flask run
и указание переменной окружения:
Environment=FLASK_APP=app.py
также рабочий каталог (, необходимый для распознавания app.py)
все в служебном файле systemd помогло.