Получить идентификатор окна X11 терминала из оболочки

Как я могу получить идентификатор окна терминала, в котором выполняется мой скрипт оболочки?

Справочная информация: мне нужно написать скрипт, чтобы сделать что-то на основе того, на каком виртуальном десктопе он запущен. Чтобы получить виртуальный десктоп (не текущий десктоп, я могу изменить его во время работы скрипта), мне нужен идентификатор окна терминала что скрипт запускается. Если скрипт не запускается с терминала, он должен завершиться с ошибкой.

1 ответ

Решение

Я очень мало знаю о X11, но управляю env Команда в моем терминале, я заметил переменную среды WINDOWID, который показывает один и тот же номер в разных вкладках одного и того же терминала, но другой номер в другом терминале. Возможно, это то, что вам нужно?

Похоже, что это Xterm вещь (и, вероятно, любой терминал, который имитирует Xtermс поведением xterm(1) Страница man только говорит:

СРЕДА

   Xterm sets several environment variables:
   ...
   WINDOWID
        is set to the X window id number of the xterm window.

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

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