Monitor And Manage Open Source Computer Lab With Epoptes

Epoptes (a Greek word for overseer) is an open source computer lab management and monitoring tool. It allows for screen broadcasting and monitoring, remote command execution, message sending, imposing restrictions like screen locking or sound muting the clients and much more.

It can be installed in any Ubuntu, Debian and openSUSE based labs that may contain LTSP servers, thin and fat clients, non LTSP servers, standalone workstations, NX or XDMCP clients etc.

In this tutorial let us setup Epoptes for our Ubuntu lab. I use Debian 7 as Epoptes server and Ubuntu 13.04 as Epoptes client. My Debian server FQDN is server.unixmen.com and IP address is 192.168.1.200/24.

Epoptes consists of a server package called epoptes and a client package called epoptes-client

 

. Install the server part on the PC where you’ll be monitoring the clients from. If you want to use the GUI from a thin-client, install it on the LTSP server.

Install Epoptes Server Package On Debian(Server System)

Epoptes is available in Debian 7 official repositories, so you don’t need to add any external repositories.

$ su

Install Epoptes server package with command:

# apt-get install epoptes

Now we should add the users to ‘epoptes’ groups, so that the users of epoptes group can launch Epoptes GUI or control the LTSP clients.Here i add the user ‘sk‘ to ‘epoptes‘ group.

# gpasswd -a sk epoptes

Install Epoptes Client package On Ubuntu 13.04(Client System)

Now i am going to install epoptes-client package in my Ubuntu 13.04 client system.

$ sudo apt-get install epoptes-client

Run the following command to fetch openSSL certificates from the Epoptes server:

$ sudo epoptes-client -c

Client Side Configuration

Now we need to tell to our client system to which server it should connect. By default, the client systems will try to connect to the server named “server“. If you don’t have a DNS server, just put that in /etc/hosts file of your client system.

I don’t have an entry of my Epoptes server in my client /etc/hosts file, so i setup the same in the file.

$ sudo /etc/hosts

Add your Epoptes server hostname with IP address.

192.168.1.200   server

Server Side Configuration

If you don’t want to use “server” as the server name where the clients connect to, see the following section. Also note that packages are not allowed to start programs inside a user’s session, so you need to logoff and logon for epoptes-client installation to take effect.

For example if your Epoptes server name is thinserver.unixmen.com, open up the file /etc/default/epoptes-client file in the server system.

# nano /etc/default/epoptes-client

Uncomment the line ‘SERVER‘ and set the value as ‘thinserver‘.

SERVER=thinserver

Save and close the file. Make sure that you don’t put any spaces around the equal sign. You can check the syntax errors with command:

# sh -n /etc/default/epoptes

It will display none, if you don’t have any syntax errors.

Note: You should Logoff and Login with user that belongs to ‘epoptes’ group on server. In client system, just logoff and login back to the current user.

Launch Epoptes On Server Side(Debian)

Launch Epoptes from your Menu or Dash. You will see the detected clients in the Epoptes interface.

Debian 7, 1 nic, internet, bridge, local repo [Running] - Oracle VM VirtualBox_002Now you’ll able to control, manage client systems from the Epoptes server itself. Also you can take control of the client screen, reboot/shutdown the clients or send broadcast messages to the particular client or list of clients and so on.