Когда я пытаюсь запустить wmctrl (например, wmctrl -l) с tty вне X (например, tty1), я получаю сообщение «Невозможно открыть дисплей».
Я пробовал устанавливать переменные $DISPLAY и $XAUTHORITY в значения, которые я получаю из эмулятора терминала внутри X, но это ничего не меняет.
решение1
Установка DISPLAY недостаточна; переменная будет установлена только внутри оболочки. Для работы в программах, вызываемых из оболочки, ее необходимо экспортировать.
export DISPLAY=:0
Или вы вызываете wmctrl следующим образом:
DISPLAY=:0 wmctrl