Я пытаюсь использовать xdotool поверх ssh в Ubuntu 20.04 LTS. Он отлично работает из окна терминала при локальном входе в систему, но через ssh он отображает следующую ошибку при использовании любой команды:
$ xdotool click 1
Error: Can't open display: (null)
Failed creating new xdo instance
При поиске этой ошибки исправление подсказывает, что экспортирует переменную DISPLAY перед запуском это, но для меня это приводит только к новой строке, добавленной к сообщению об ошибке:
$ export DISPLAY=:0.0 && xdotool click 1
No protocol specified
Error: Can't open display: (null)
Failed creating new xdo instance
Ищу ошибки «Протокол не указан» для xdotool, единственное другое предложение , которое я смог найти, также добавление в команду export XAUTHORITY = / home / [имя пользователя] /. Xauthority
, но для меня это не имеет значения. Вероятно, стоит отметить, что у меня нет файла .Xauthority в моем домашнем каталоге (и создание пустого, чтобы посмотреть, имеет ли это значение, не помогло). Я не очень хорошо знаком с X-сервером, поэтому не знаю, изменились ли эти вещи с момента написания результатов, которые я нахожу.
Я был бы признателен за любой совет, пытаясь заставить это работать.
Решено: Как указал N0rbert, мне не хватало опции -X при подключении через SSH. Это все, что мне нужно было включить.
Вы должны запустить ssh
с опцией -X
, как показано ниже:
ssh -X user@hostname
, а затем выполнить «графические» команды как обычно.
Дело в том, что это будет управлять системой, которая подключена через SSH, а не хостом, которым вы хотите управлять. Например, я вхожу в систему с помощью ssh -X (скрытый), а затем говорю xdotool перемещать мышь вместо перемещения мыши на сервере, он перемещает мышь на подключенном клиенте.