Managing and monitoring computer labs

Digital Classroom

© Lead Image © Gui Yongnian, 123RF.com

© Lead Image © Gui Yongnian, 123RF.com

Author(s):

If your school's computer lab consists of Linux machines, Epoptes provides an interesting alternative to conventional management and monitoring programs.

For most students, lessons in the computer lab are a welcome change from the traditional classroom setting. However, especially for younger elementary students, learning on a computer can also be a distraction, making it hard for teachers to keep a student's attention on the current lesson.

Digital classroom management software can help solve this issue by letting the teacher control the students' computers to ensure that the screen content does not constantly distract students. Linux offers several open source management solutions for school computer labs, including the well-known Veyon [1].

In this article, I explore another option, Epoptes (Greek for overseer) [2]. Epoptes offers an equally sophisticated client-server solution for managing and monitoring Linux-based computer labs, with the added advantage of being easy to set up and maintain.

Functions

Epoptes maintains separate packages for the server (the teacher's computer) and the clients (the students' computers), with precompiled binaries available in the respective repositories for Debian, Ubuntu, Fedora, and openSUSE. Epoptes can also be integrated into derivative distributions, such as Linux Mint. For Arch Linux, the software can be found in the Arch User Repository (AUR).

The Epoptes server is used to control heterogenous client environments; the students' computers do not have to run on the same distribution, but they must be Linux environments (it does not support other operating systems such as Windows or macOS). Epoptes opens a connection between the server and the clients via encrypted reverse VNC channels, with certificates serving as the authentication mechanism.

Epoptes combines classic control tools, allowing the client systems to be turned on and off, as well as locked individually. Epoptes supports monitoring and controlling each student computer, as well as broadcasting the teacher's screen (the server) to the client displays. In addition, the server can also remotely execute commands on the students' systems and send messages to them.

Installation

Epoptes is a 64-bit application that requires corresponding versions of the supported Linux distributions. It can be conveniently set up from the respective repositories using the distribution's own graphical front ends. You install the server package (epoptes) on the teacher's computer and then the client package (epoptes-client) on each student's computer.

To run the server, you still need to create an epoptes group on the teacher's computer. Using the commands from Listing 1, you then join the group and log in. The next step is to start the Epoptes server with the desktop menu; this takes you to a clear-cut administration window (Figure 1).

Listing 1

Logging in to the Server

$ sudo usermod aG epoptes $USER
$ newgrp -- epoptes
Figure 1: The administration window on the teacher's computer is self-explanatory.

For the clients and the server to connect, you next need to tell the clients the location of the server system using the /etc/default/epoptes-client file. Open this file in any editor and specify the DNS name of the server machine in the SERVER= line. Alternatively, if you run the server machine with a static IP, you can also enter the server's address and hostname in the /etc/hosts file on the students' machines.

To ensure secure communication between the clients and the server, load the server's certificate onto the client computers in a final configuration step. To do this, call

sudo epoptes-client -c

on each client and then reboot.

Getting Started

Upon start-up on the teacher's computer, Epoptes automatically connects to the switched-on student computers. After a moment, a thumbnail preview of each student desktop appears in the right pane of the program window (Figure 2). Following the client hostnames, Epoptes displays the name of the respective logged-in user.

Figure 2: The Epoptes server automatically finds active clients on the intranet.

To control a student computer remotely, simply double-click on the corresponding thumbnail. TigerVNC [3], which is implemented in Epoptes, opens a large window with the selected computer desktop. From the teacher's computer, you can now control the selected client's computer using keyboard and mouse input.

Core Tools

The core tools for managing and monitoring client computers can be found in the buttonbar and menubar on the server computer. The first five buttons in the buttonbar are for basic control of the student computers: After a separate configuration, you can boot selected clients, log out users on the selected client, restart selected clients, shutdown selected clients, and take control of a selected client, respectively.

The sixth button lets you broadcast the teacher's screen to all active clients, and the seventh button stops broadcasting. The eighth button lets you run a command on the students' computers, while the ninth button opens a dialog with an input field for free text, which is broadcast to all active clients when you press Send. The message appears on the client computer in a new window and stays there until the student clicks the Close button.

The 10th and 11th buttons lock and unlock the selected clients. The final button on the far right displays some information about the selected client system, such as the hostname and IP address, as well as information about the installed CPU and memory size.

Managing Client Computers

The menubar offers some additional functions for managing and monitoring computers in the lab. From the Labels menu on the teacher's computer, you can modify the client labels found in the teacher's program window. Hostnames and usernames can be shown and hidden here.

Clients | Broadcasts lets you directly influence the connected client systems via the server computer. For example, Monitor user pulls up the screen of the currently active student computer into a VNC window on your screen but without you controlling the client. Assist user, on the other hand, opens a TigerVNC window on the server that displays the active client's screen, but now the teacher's computer can take control of the student computer.

The Broadcast screen and Broadcast screen (windowed) options show the screen of the teacher's computer in a full-screen view or in a window on the selected client. You can also select multiple student computers here. In full-screen mode, the client computer's desktop disappears completely and is replaced by the teacher's screen. If you select the windowed option, the teacher's screen appears in a window, but the student's panel bar remains visible. When broadcasting screens, the teacher's screen should not have a higher screen resolution than the clients. Otherwise the teacher's screen content will appear cut off on the client computers and require scrolling to see the entire broadcast screen. The Stop broadcasts option lets you stop the transmission of the teacher's screen to the clients.

In the Clients | Execute menu, you will find different options for running commands on the selected student computers. Execute command opens an input line where you can enter a program file name or a URL. Epoptes then starts the corresponding program file on the client or calls the specified URL in the client's web browser.

This option does not work for console commands. Instead, you should select Open command line for programs that need to run in the terminal. You can use this option to open a terminal with user or root privileges on the teacher's computer or, alternatively, a terminal with root privileges on the students' computers. In the opened terminal, you then invoke the appropriate commands. Terminal commands executed on the teacher's computer are used, for example, to demonstrate the input of certain commands with parameters and their output when transmitting the teacher's screen to the student computers.

Execute | Send message allows the server computer to send more extensive text messages to the selected clients.

Clients | Restrictions lets the teacher turn audio on or off on the selected student computers. In addition, the teacher can lock the selected clients here if required (this can also be done from the buttonbar) to prevent students from creating keyboard and mouse input. Once locked, a closed padlock icon then appears on the client screen with a corresponding note (Figure 3). The same menu item unlocks the client computers again.

Figure 3: If required, individual clients can also be locked from the Epoptes server computer.

You can also create groups to organize clients by clicking on the green plus sign at the bottom of the left pane in the main program window. Then use the Add to group option from the Client menu to assign clients to the individual groups, which allows you to send group-specific messages and apply actions to individual groups.

Benchmark

Clients| Network Benchmark lets you specify how long you want the implemented network benchmark to test the available bandwidth. When the test is complete, Epoptes displays the result in a separate window, giving the overall result as well as the upload and download bandwidth for each individual machine (Figure 4).

Figure 4: Epoptes also displays the bandwidth used from the server to the individual clients if desired.

A Closer Look

Sometimes the size of the client thumbnails displayed on a server computer makes it difficult for a teacher to see what's happening on a student's screen. A slider at the bottom right of the program window (Figure 5) lets you continuously zoom in and out on the right pane of the program window containing the client thumbnails, while leaving the buttonbar, menubar, and Groups pane on the left untouched.

Figure 5: The client thumbnails can be continuously zoomed in or out.

Conclusions

Epoptes offers a comprehensive approach to controlling and managing a Linux-based computer lab. Teachers don't need to read long manuals to handle the configuration and administration. Epoptes can be set up on the server and client computers in just a few steps and then put into operation immediately because using Epoptes is largely intuitive. The range of functions covers all requirements that may arise in the school computer lab setting, without any unnecessary bells and whistles in the user interface. As a result, Epoptes offers a serious alternative to expensive commercial packages.