/schooldevice

shellscript to modify a linuxdistribution for use in school with one single offline account for multiple users

Primary LanguageShellGNU General Public License v3.0GPL-3.0

schooldevice

schooldevice - free and reliable

This project should show that it is possible to get a working operating system for school use without the usual big commercial companies and account bindings. This should be a matter of course for the educational mission of every school and teacher.

Schooldevice is a shellscript that modifies a linuxdistribution for use in school with one single offline account for multiple users. The single offline account acts like a selfhealing account with a reset of all data after restart.

Nevertheless, the current session can be saved to and restored from an external data carrier at any time. Thus the account management is the responsibility of the users and not of the administrators.

Getting Started

  • Install a new linux system based on a debian distrubution (testet with Xubuntu 20.4 LTS 64bit)
  • (optional) make your own changes to the fresh installed system

Installing

  • Open a terminal
  • Install git

sudo apt-get install git

  • Clone this repository

git clone https://github.com/codekoch/schooldevice

  • Start the install shellscript as root

cd schooldevice

sudo ./install.sh

sudo shutdown -r now

  • Customize everything according to your needs
  • Open a terminal, login as a user with admin rights, save the current account settings of user0 and restart system

su {user with admin rights}

sudo /etc/init.d/resethomedir.sh save

sudo shutdown -r now

  • Have fun with your new schooldevice

Hints

Save and load session (to an external device)

  • save and load your current user session:

    saveloadsession

    the first save takes some time, but after that it is very fast thanks to rsync

    (Use an external device with FAT32 filesystem and don't forget to eject before disconnecting. USB 3.0 support is recommended.)

Save changes permanently, activate, deactivate selfhealing

  • login in as a user with admin rights (i.e. in a terminal during user0 session) and use

    • sudo /etc/init.d/resethomedir.sh save

      to save permanent changes

    • sudo /etc/init.d/resethomedir.sh dactivate

      to turn off selfhealing of user account user0

    • sudo /etc/init.d/resethomedir.sh activate

      to turn on selfhealing of user account user0

Screenmirroring / remote desktop connection between schooldevices (and other devices)

VNC

  • Activate with X11VNC Server (Select Accept Connections and Click OK)
  • Connect with X11VNC Connect (Type in IP address of other schooldevice)
  • Login with empty username and empty password (changes can be done in /etc/guacamole/user-mapping.xml)
  • (connect on every device in the same network via browseraddress http://<ip-of-schooldevice>:8080)

Password for user0

  • The selfhealing accounts username is user0 with password user0