Linbo is one of the best features of linuxmuster.net — a free school server solution. I have already described an overview of what is possible with Linbo in one of my last articles. There I mentioned a command line program which is simply super for the administration of the school computers: linbo-remote. You can do almost anything else you would do with the Linbo GUI, e.g.

Today I would like to describe how we use linbo-remote in our school and show what you can do with it.

Deploy new images with linbo-remote

At regular intervals we update our Ubuntu image, which we use on all our school computers. We do this mostly during holidays or when there are new major updates (e.g. Firefox, LibreOffice, important security updates). With the following command we deploy the image to all computers in a room:

$ linbo-remote -r room1 -p sync:1,halt -w 0

or

$ linbo-remote -r room1 -c sync:1,halt -w 60

A short explanation of what the individual parameters mean.

Automate administration of school computers

We have already seen above what is possible with linbo-remote. Connected to a cronjob, for example, we can synchronize and start all computers in the school or in a certain room every morning, so that all computers are “fresh” for use in class.

As root user you can create a new cronjob with

root@server$ crontab -e

and enter the following cronjob:

30 6 * * * * /usr/sbin/linbo-remote -r room1 -w 0 -p format:1,sync:1,sync:2,start:2 > /dev/null 2>&1

Every morning, at 6:30 a.m., every day of the year, Linbo now takes care of our computers in Room 1, synchronizing both operating systems and starting the second one so students can log on directly.

You can also use linbo-remote to shut down all computers booted to Linbo.

0 13,15,17,20 * * * * /usr/sbin/linbo-remote -r room1 -c halt > /dev/null 2>&1

At 1, 3, 5 and 8 pm all computers in room 1 that have booted Linbo will be shut down.

These cronjobs are a great help to create a reliable state on the school computers every morning. The disadvantage of this solution is that the cronjobs are executed every day, even on weekends or during holidays. But we can solve this problem 🙂

Combining linbo-remote with other programs

A member of the Linuxmuster Community has written a script that checks if today is a school day. Because the original script is written in German I’ve translated it. You can find it on Github and install it on the server as follows:

$ git clone https://github.com/cdscacth/linuxmuster-scripts.git $ $ cd linuxmuster-scripts/school-day

In the files holidays.conf and exceptions.conf you have to enter the dates for public and school holidays like this:

# Public Holiday20180301 Public Holiday 120181015 Public Holiday 2

# School Holidays20171223–20180112 Christmas Break20180319–20180417 Easter Break20180625–20180813 Summer Break

Then you install the script with

$ sudo make install

If a school day is, the script returns a return value of “0”, otherwise e.g. “99” (for a holiday).

We can adjust the cronjobs above so that they are only executed on one school day:

30 6 * * * * is-today-school-day && /usr/sbin/linbo-remote -r room1 -w 0 -p format:1,sync:1,sync:2,start:2 > /dev/null 2>&1

0 13,15,17,20 * * * * is-today-school-day && /usr/sbin/linbo-remote -r room1 -c halt > /dev/null 2>&1

Conclusion

Linbo and especially linbo-remote takes a lot of work off our hands. While we did a lot of “sneaker administration” in the first year, now linbo-remote does it for us. Gone are the days when we ran from computer to computer in school to provide them with a new image. Linbo is for me the best feature of linuxmuster.net and I have not yet got to know any other software that helps us to automatically create a defined state every day. Once the image is on the computer, it also works offline, i.e. the students can reset their computers themselves if something is “broken”.

Originally published at openschoolsolutions.org. Sign up to our newsletter to get access to a FREE PDF with great open source apps for your classroom or follow @OpenSchoolZ on Twitter.