The Dutch government announced today that from today on, retirement homes were not allowed to receive any visitors. This is an issue as that would mean that she wouldn't have anyone to talk to for a long while.

To solve this we had to find and deploy a communication method within a few hours. We ended up using an old laptop that runs a Google Meet video connection during the day. If you want to build your own, follow the steps described below.

  1. Find a laptop with 2 or more gigabytes of RAM.
  2. Connect it to ethernet and power.
  3. Download the amd64 Debian NetInst CD image.
  4. Copy the iso to an USB stick using something like Linux Live Creator or dd if you're already on Linux or Mac.
  5. Boot from the USB stick and start the installation process.
  6. Feel free to ignore messages about missing wifi firmware for now.
  7. Select Cinnamon as a display manager.
  8. Finish the installation.
  9. Log into the computer and open a terminal.
  10. Edit the apt source file to include non-free:
    1. sudo nano /etc/apt/sources.list
    2. Find the line that starts with deb and ends on buster main.
    3. Add the word non-free after it.
    4. Save and exit
  11. Update apt: apt update
  12. Install wireless firmware (if you have an intel wireless network card): firmware-iwlwifi
  13. Reboot
  14. Log in to the computer.
  15. Set up the wireless network settings.
  16. Open a terminal.
  17. Set up automatic login:
    1. sudo nano /etc/lightdm/lightdm.conf
    2. Find the line that has [Seat:*] without any # on that line.
    3. After that line, add the following line: autologin-user=<YOUR USER>. Make sure to replace <YOUR USER> with your username.
    4. After that line, add the following line: autologin-user-timeout=0
  18. Install TeamViewer
  19. Test everything by powering down the computer and starting it again.
  20. You should now be able to connect to the computer through TeamViewer and set up a video connection using Google Meet.

If you want to make sure you can access the machine when TeamViewer fails and you have a website you control you can add the following:

  1. Open a terminal
  2. Install curl: sudo apt install curl
  3. Upload a file with the following content on your website: touch /root/last-check
  4. Add a cron script:
    1. Open the script: sudo nano /etc/cron.hourly/backup-connection
    2. Add the following line: #!/bin/bash
    3. Add the following line: curl --silent https://example.org/yourwebsite/url | bash Make sure to replace the url with the url to your uploaded file.
    4. Save and quit.
    5. sudo chmod +x /etc/cron.hourly/backup-connection
  5. Wait an hour and see if the file /root/last-check has been created:
    1. sudo stat /root/last-check
  6. If the need arises you can now execute one command per hour by editing the file on your website.

Make sure to not do this with production systems though, this is not exactly secure.