Делать скриншот текущей сессии пользователя

(Простите, если моя терминология здесь не совсем точная)

У меня есть задание cron, которое использует scrot для снимков экрана моего рабочего стола с различными интервалами.

Однако, когда я переключаю пользователя на другую учетную запись (без выхода из системы), скриншоты, которые возвращаются, являются просто снимками экрана блокировки.

Могу ли я в любом случае получить скриншот сеанса текущего пользователя? Т.е. что такое на самом деле на экране?

2
задан 3 June 2015 в 09:23

3 ответа

Насколько X11 затронут, когда Вы переключаетесь на другого пользователя, тот пользователь находится на совершенно другом дисплее.

В Вас сессия, если Вы выполняетесь:

echo $DISPLAY

Вы будете иметь :0, первый виртуальный дисплей. Во втором пользователе то же даст Вам :1, второй дисплей.

Вы видите экраны, используемые с командой w:

[romano:~] % w  
 11:32:03 up  1:05,  8 users,  load average: 0,10, 0,24, 0,30
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
romano   :0       :0               10:27   ?xdm?   6:25   0.13s gdm-session-wor
romano   pts/1    :0               11:03   26:49   0.10s  0.10s zsh
romano   pts/3    :0               11:21    0.00s  0.12s  0.01s w
default  :1       :1               11:24   ?xdm?   6:25   0.07s gdm-session-wor
default  pts/15   :1               11:24    1:56   0.05s  0.05s bash

, Чтобы быть в состоянии сделать снимок экрана с одного экрана другого, или от другого пользователя, пользователя, чтобы быть "shotted" должен выходить, команда

xhost + 

для включения доступа (даже root будет в состоянии сделать снимок иначе). После этого можно сделать

DISPLAY=:1 scrot 

из сценария или другого пользователя. Заметьте, что, если Вы стреляли в экран, который не активен (отобразился), у Вас будут черный экран или странные вещи---, кто знает то, что находится в видео буферной памяти...

Теперь Вам решать для записи сценария, исследуя все это... необходимо в принципе обнаружить, какой пользователь активен (не легкий---, или просто стрелял в весь экран, и отбросьте черные после), и сделайте снимок экрана.

Удачи!

0
ответ дан 3 June 2015 в 09:23

Необходимо сохранить снимки экрана в публично просматриваемых областях, и также xserver блокирует экран на пользователе, переключающемся (не продемонстрированный факт, а разумное предположение). Вероятно, необходимо настроить xserver для отображения этого в файл в корневом каталоге, так, чтобы, когда задание крона называют, Вы разожгли xserver для рендеринга экрана в файл, а не для дисплея.

0
ответ дан 3 June 2015 в 09:23

Когда Вы переключаетесь на другого пользователя тогда, Вы открываете новую сессию для нового пользователя, и старая сессия для первого пользователя находится только на входе в систему. Это - нормальное отношение крона, крон связан с первым пользователем, таким образом, это будет просто работать с его сессией только.

я надеюсь, что Вы понимаете то, что я имею в виду. Я не настолько хорош на английском языке так или иначе, для создания его работами для другого пользователя, необходимо создать тот же крон для второго пользователя, так, чтобы можно было сделать снимки для каждого пользователя.

0
ответ дан 3 June 2015 в 09:23

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

Похожие вопросы: