На моей основной машине у меня открыт рабочий стол Ubuntu и зарегистрирован. Затем я также подключаюсь к этой машине с удаленного компьютера, используя X2go, который создает новый X-сеанс. У меня есть файл libreoffice, открытый на исходной сессии . Я хочу сохранить этот файл и закрыть его - но с удаленного компьютера! (В обоих сеансах зарегистрирован один и тот же пользователь; я могу sudo, если это необходимо)
Я пытался использовать, xdotool search
но это не удается найти окно. Есть ли способ сделать то, что я хочу от этого второго сеанса? Я могу видеть процесс с, ps -A
я могу даже видеть открытый файл с lsof
! Как я могу сделать «сохранить и закрыть» на нем?
DISPLAY=:0
(или любой другой экран, на котором работает ваша другая учетная запись), а затем запустите сервер и получите доступ к нему от клиента. Но это может быть чрезмерным. У LibreOffice может быть протокол сообщений - я не очень знаком с ним, потому что я использую либо Google Docs, либо текстовые файлы в Vim (включая LaTex) ...DISPLAY:1
затем запустите любую X-программу (xeyes for test) и запустите ее под VNC. То же относится и к удаленным vncservers. SSH в машину, затем просто запустите экспорт DISPLAY: 1, прежде чем использовать.Ответы:
Предполагая конфигурацию по умолчанию, xdpyinfo на «original» будет отображать «: 0.0», например
Если ваша переменная окружения DISPLAY для "x2go" равна ": 1.0", то так и должно быть.
Из терминала на "x2go" попробуйте найти идентификатор окна:
Возможно, что управление доступом настроено так, что оно не будет работать, но я думаю, что должно, если вы используете один и тот же ИД пользователя на одном хосте (т.е. доступ к ~ / .Xauthority). Проверьте вывод «xauth list», если нет доступа.
Если это работает, то используйте ваш любимый инструмент для управления им. Добавьте «-int» в xwininfo выше, чтобы напечатать windowid в десятичном формате, если ваш инструмент требует этого, xdotool не делает:
или вам может повезти с ними вместо "ctrl + s" / "ctrl + q"
Вам может потребоваться «alt +» вместо «meta +», у меня есть нестандартные отображения meta / alt / super. у меня работает meta, протестировано с помощью Xnest. Я предполагаю неизменное английское расположение меню и ускорители.
Возможно, у вас есть всплывающее окно, и в этом случае стоит попробовать:
несколько раз, затем повторите попытку сохранения и закрытия. Помните, что xdotool суетливо относится к точному регистру «ключевых» имен.
Вы должны иметь возможность попробовать все это, запустив libreoffice на x2go, а НЕ изменив свой DISPLAY. Вы должны сохранить команды в файле сценария оболочки, чтобы изменения фокуса не мешали вам.
lsof должен показывать, что файл больше не открывается, если он работает :-)
источник
xdotool key "Escape"
об именах, но не пробовал длинные имена: DПохоже, есть пара возможных требований. очевидно, что хост должен находиться в файле xhosts (он был помечен как ответ) и экспортировано соответствующее значение DISPLAY. Этот пост должен помочь вам сделать это так, как вы хотите, чтобы xdotool мог найти удаленное окно x11 .
источник