Скрытые скриншоты в linux - scrot

Иногда (почти всегда) работодатель следит за тем, как сотрудник использует компьютеры.
В моей компании, где 95% компьютеров используют ОС Ubuntu, решение использовало scrot (SCReenshOT) - простую утилиту захвата экрана из командной строки.

команда для его установки
$ sudo apt install -y scrot

### ( step 01 )
### создать необходимые папки
mkdir -p /etc/.scrot; mkdir -p /mnt/desktop-sc; chmod 733 /mnt/desktop-sc;

### ( step 02 )
### desktop-sc_mount_credentials - создание файла для учетных данных, монтирование папки со скриншотами
(echo "username=sharedfolder_login"; echo "password=sharedfolder_pass";) > /etc/.scrot/.desktop-sc_mount_credentials;
chmod -R 700 /etc/.scrot/.desktop-sc_mount_credentials; chown root:root /etc/.scrot/.desktop-sc_mount_credentials;

### ( step 03 )
### записать путь к общей папке в /etc/fstab
head -n $(nl -ba /etc/fstab | grep UUID| tail -1 | awk '{print $1}') /etc/fstab > /tmp/fstab-clean;
cat /tmp/fstab-clean > /etc/fstab; (echo ""; echo "# Other projects screenshots folder"; echo "//10.0.0.10/screenshots/$(hostname | tr [:lower:] [:upper:]) /mnt/desktop-sc cifs uid=1001,gid=1001,credentials=/etc/.scrot/.desktop-sc_mount_credentials,file_mode=0333,dir_mode=0333 0";) >> /etc/fstab;

### ( step 04 )
### desktop-sc.sh - создание скрипта, который делает скриншоты
echo " while true; do scrot -d 120 -q 20 '/mnt/desktop-sc/%Y-%m-%d-%H-%M-%S.jpg'; done " > /etc/.scrot/desktop-sc.sh;
chmod 555 /etc/.scrot/desktop-sc.sh;

### ( step 05 )
### desktop-sc.desktop - создание ярлыка загрузки desktop-sc.sh
(echo '[Desktop Entry]';\
echo 'Type=Application';\
echo 'Hidden=false';\
echo 'NoDisplay=true';\
echo 'X-GNOME-Autostart-enabled=true';\
echo 'Name[en_US]=desktop-sc';\
echo 'Name=desktop-sc';\
echo 'Comment[en_US]=desktop-sc';\
echo 'Comment=desktop-sc';\
echo 'Exec=/etc/.scrot/desktop-sc.sh';) > /etc/.scrot/desktop-sc.desktop;
chmod 664 /etc/.scrot/desktop-sc.desktop;
cp /etc/.scrot/desktop-sc.desktop /etc/xdg/autostart/;

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

### ( step 06 )
### /etc/.scrot/desktop-sc_status.sh - создание скрипта, который проверяет и решает проблемы с desktop-sc.sh
(echo '### wait 30 seconds to avoid startup errors';\
echo 'sleep 30 ;';\
echo '';\
echo '### check if SCROT works';\
echo 'if [ $(ps aux| grep scrot| grep -c mnt ) = '1' ]; then';\
echo 'sleep 0;';\
echo 'else';\
echo '### if SCROT does not work normally, closes all possible scrot processes';\
echo 'kill -9 $(ps aux | grep desktop-sc | awk '{print $2}'|xargs |sed -e 's/ / /g') ;';\
echo 'kill -9 $(ps aux | grep mnt | awk '{print $2}'|xargs |sed -e 's/ / /g') ;';\
echo ' ### wait 5 minutes for the rest of the processes to close';\
echo ' sleep 300 ;';\
echo '### check if SCROT works';\
echo ' if [ $(ps aux| grep scrot| grep -c mnt ) -gt '1' ]; then';\
echo ' sleep 0;';\
echo ' else';\
echo '### if SCROT does not work at all, it sets a "scrot" process that cannot be closed without Log-Out';\
echo ' $(while true; do scrot -d 120 -q 20 '/mnt/desktop-sc/%Y-%m-%d-%H-%M-%S.jpg' ; done) & ';\
echo ' sleep 122;';\
echo ' fi;';\
echo 'fi;';\
echo '';\
echo 'if [ $(ps aux |grep scrot |grep -c mnt ) = '1' ] && [ $(df -h |grep -c mnt ) = '1' ]; then';\
echo 'sleep 3600 && /etc/.scrot/desktop-sc_status.sh & exit ;';\
echo 'else';\
echo 'sleep 0;';\
echo 'fi; ';) > /etc/.scrot/desktop-sc_status.sh;
chmod 555 /etc/.scrot/desktop-sc_status.sh;

### ( step 07 )
### desktop-sc_status.desktop - создание ярлыка загрузки desktop-sc_status.sh
(echo '[Desktop Entry]';\
echo 'Type=Application';\
echo 'Hidden=false';\
echo 'NoDisplay=true';\
echo 'X-GNOME-Autostart-enabled=true';\
echo 'Name[en_US]=desktop-sc_status';\
echo 'Name=desktop-sc_status';\
echo 'Comment[en_US]=desktop-sc_status';\
echo 'Comment=desktop-sc_status';\
echo 'Exec=/etc/.scrot/desktop-sc_status.sh';) > /etc/.scrot/desktop-sc_status.desktop;
chmod 664 /etc/.scrot/desktop-sc_status.desktop;
cp /etc/.scrot/desktop-sc_status.desktop /etc/xdg/autostart/;

~  Fin ~