Linux System : Free Employee Monitoring with Automatic Screenshots

Introduction :

Automatic screen-shots of Linux system directly import on your web server with Linux samba server service and Scrot command.

Configuration in Web Server

  1. Setup web panel UI on your web server :

Get web panel PHP/HTML code from Github URL:

It’s work in Linux server LAMP environment(no need database for this configuration )

Default login username password is admin/1234. You can change username/password from login.php file in line number #6

Login Page :

Dashboard :

Screenshot Page :

2. Samba server configuration on web server :

I. Install Samba on your server where you setup Linux screenshot log system web panel.

sudo apt-get update

sudo apt-get install samba

II. Set a password for your user in Samba

sudo smbpasswd -a <user_name>

III. Share gallery-images folder from you web panel.

This is my web panel gallery-images path /var/www/html/linuxscreenshot/gallery-images

IV. Edit the file “/etc/samba/smb.conf”


path = /var/www/html/linuxscreenshot/gallery-images.

valid users = <user_name>

read only = no

V. Restart the samba service

sudo service smbd restart

Configuration on Linux System (Employee System)

  1. Install cifs-utils in employees Linux system :

CIFS-UTILS use for mount network shared folder in system.

Run this command for install cifs service in Linux system.

sudo apt-get install cifs-utils

2. Install scrot in employees Linux system:

Scrot use for tacking screenshot of current display of Linux system.

Run this command for install scrot service in Linux system.

sudo apt-get install scrot

You check with run scrot [image-name].png

3. Add Linux script in employees Linux system:

Employee system username is user1

linux system mount point is /var/opt/img/ (You can use mount point as you like)

Network shared location : //serverhost/gallery-images/user1/

Samba username/password : smabauser/sambapw

> Linux script like this.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —


LOCATION=”$(date +/var/opt/img/%Y/%m/%d)”

if mountpoint -q /var/opt/img


mkdir -p $LOCATION


DISPLAY=:0 scrot ‘%Y-%m-%d-%H%M.jpg’ -q 20


sudo mount -t cifs //serverhost/gallery-images/user1/ /var/opt/img/ -o user=smabauser,password=sambapw,iocharset=utf8,uid=user1

mkdir -p $LOCATION


DISPLAY=:0 scrot ‘%Y-%m-%d-%H%M.jpg’ -q 20


— — — — — — — — — — — — — — — — — — — — — — — — —

Save this file as

4. Set corn job for in employee system:

Add corn job for run file every 5 mints

Open corn with run command

crontab -e

Add this line

*/5 * * * * sh /path/of/shfile/

This file automatically run every 5 mints and script take screenshot with scrot command and upload on mounted network shared drive.

Thanks for being here.

Facebook Page :

Instagram :




We are CloudIntel

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Send Emails in the Django REST Framework

Timsort — the fastest sorting algorithm you’ve never heard of


Dark blue image with “amazon web services” written on it.

Secure Your Server-Less Forms With reCaptcha v2

GitHub to Google Sheets API Project

Dagger 2 Annotations: @Binds & @ContributesAndroidInjector

Using SingleStore as a Machine Learning Feature Store

Learning from Lesson 8 [FastAI]

some more examples

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cloud Intel

Cloud Intel

We are CloudIntel

More from Medium

Linux Instance not booting after I changed its type to a Nitro-based instance type.

How was DockerCon 2022?

Organizational Challenges of Continuous Integration, brought in by Microservice transition

Containers: In-depth Introduction