
Я пытаюсь следить за своим ноутбуком (Debian 8.7), когда им пользуется кто-то другой. Я хочу видеть, что в любой момент времени люди запускают на моей системе. Для этого я пытаюсь запустить команду терминала через SSH, которая делает снимок экрана, который я могу просмотреть позже.
Я использую SSH-клиент JUICE SSH со своего телефона Android для входа в свой ноутбук, но не могу выполнить ни одной команды, связанной со снимком экрана.
Я пробовал scrot
, gnome-screenshot
но import
не смог сделать снимок экрана, ошибка с которой scrot
говоритCan't open X display. It *is* running, yeah?
Я проверил свойsshd_configфайл, который он имелX11Пересылкаустановите значение ДА. Поискав в интернете, я прочитал, что установка значения нет должна помочь, но этого не произошло.
echo $DISPLAY var is :0.0
Пожалуйста, поделитесь идеями?
решение1
Чтобы сделать снимок экрана с помощью терминала Android, используйте следующую команду:
DISPLAY=:0.0 import -window root screenshot.png
решение2
Вам нужны привилегии, чтобы шпионить за экраном другого пользователя. Начните с перечисления файлов 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-дисплей (вероятно, нет, если вы подключаетесь по SSH из системы Android):
$ xwd -display :0 -root -silent | xwud