В предыдущих постах
здесь и
здесь, я обращался к теме установки и настройки терминального сервера на базе
Debian Linux. Иногда (почти всегда) у руководства возникает желание иметь
возможность получить ответ на вопрос: "а чем собственно занимается сотрудник в
рабочее время?"
Реализации этой возможности и посвящена данная статья.
как можно видеть из текста скрипта я опробовал 2 утилиты для создания скриншотов scort и imagemagick
в Debian они установлены по умолчанию, в случае отсутствия необходимо установить стандартным способом, остановился на imagemagick - он позволяет делать .jpg
Реализации этой возможности и посвящена данная статья.
Постановка задачи:
Необходимо, чтобы в домашний каталог ответственного пользователя (у меня создан специальный пользователь control), складывались скриншоты рабочего стола пользователей, за которыми осуществляется контроль(для каждого пользователя отдельная папка).Реализация:
Из под рута создаем файл автозагрузки, который обеспечивает разрешение на взаимодействие, для нашего ответственного пользователя с X сессиями других пользователей.touch /etc/xdg/autostart/xhost.desktop
mcedit /etc/xdg/autostart/xhost.desktop
помещаем следующее содержимое:[Desktop Entry]
Name=Xhost
Comment=Unlok X session
Exec=xhost local:control
#Icon=
Terminal=false
Type=Application
Categories=ConsoleOnly;Utility;;XSystem;
Keywords=console;
Чтобы не иметь в дальнейшем граблей с правами делаем из под рута:
su control
(здесь и далее control меняем на вашего ответственного пользователя)
cd
mkdir screens
mkdir .scripts
touch .scripts/screenList.txt
touch .scripts/screenshot.sh
chmod +x .scripts/screenshot.sh
В файлике screenList.txt хранятся контролируемые пользователи, каждый
пользователь с новой строки(следить за отсутствием пробелов до и после). в
файл screenshot.sh помещаем следующее содержимое:
#!/bin/sh
List=/home/control/.scripts/screenList.txt
screenDir=/home/control/screens
DATE=`date '+%Y-%m-%d %H:%M:%S'`
for i in $(awk '{print $0}' "$List");do
DSPL=$(ps -u $i l|awk ' /'Xorg'/ {print $14}')
if ! [ -d "$screenDir"/"$i" ]; then
mkdir "$screenDir"/"$i"
fi
if [ -n "$DSPL" ]; then
# DISPLAY=$DSPL scrot "$screenDir"/"$i"/"$DATE".png
DISPLAY=$DSPL import -window root "$screenDir"/"$i"/"$DATE".jpg
fi
done
Сохраняем, идем в crontab:
crontab -e
прописываем запуск скрипта с нужным интервалом, у меня каждую минуту:
*/1 8-19 * * 1-5 /root/screenshot.sh
Дело сделано.как можно видеть из текста скрипта я опробовал 2 утилиты для создания скриншотов scort и imagemagick
в Debian они установлены по умолчанию, в случае отсутствия необходимо установить стандартным способом, остановился на imagemagick - он позволяет делать .jpg
Комментариев нет:
Отправить комментарий