Я пытаюсь контролировать свой ноутбук (Debian 8.7), когда он используется кем-то другим, я хочу видеть, что в любой момент запускают люди в моей системе, и для этого я пытаюсь запустить команду терминала через SSH, которая делает снимок экрана, который я могу просмотреть позже.
Я использую SSH-клиент JUICE SSH со своего телефона Android для входа в свой ноутбук, но не могу выполнить какие-либо команды, связанные со снимками экрана.
Я пробовал scrot
, gnome-screenshot
, import
, но не смог получить скриншот, ошибка с scrot
говорит Не удается открыть X-дисплей. Он * работает *, да?
Я проверил свой sshd_config файл, в нем X11Forwarding установлено значение ДА, поиск в Интернете Я прочитал, что установка значения «Нет» должна заставить его работать, но он работал тоже не произошло.
echo $ DISPLAY var is: 0.0
Идеи, пожалуйста?
Вам нужны привилегии, чтобы шпионить за экраном другого пользователя. Начните с перечисления файлов cookie доступа TARGET_USER
:
$ sudo -u TARGET_USER xauth list
[...]
YOURHOST/unix:0 MIT-MAGIC-COOKIE-1 cc9413c4a3db83ef94647cfb2f1c2f4d
[...]
Выберите нужный дисплей (для основной X-консоли обычно это строка выше) и добавьте его в свой список доступа:
$ xauth add YOURHOST/unix:0 . cc9413c4a3db83ef94647cfb2f1c2f4d
(.
является аббревиатурой MIT-MAGIC-COOKIE-1
). Затем вы можете выгрузить отображение в файл (:0
— это сокращение от YOURHOST/unix:0
):
$ xwd -display :0 -root -silent -out root0.xwd
или показать его напрямую, если у вас есть собственный X display (вероятно, нет, если вы используете SSH из системы Android):
$ xwd -display :0 -root -silent | xwud
Используйте следующую команду, чтобы сделать снимок экрана с помощью терминала Android:
DISPLAY=:0.0 import -window root screenshot.png