<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom">
  <title></title>
  <subtitle></subtitle>
  <id>https://www.endpointdev.com/blog/tags/kids/</id>
  <link href="https://www.endpointdev.com/blog/tags/kids/"/>
  <link href="https://www.endpointdev.com/blog/tags/kids/" rel="self"/>
  <updated>2021-01-20T00:00:00+00:00</updated>
  <author>
    <name>End Point Dev</name>
  </author>
  
    <entry>
      <title>Endless OS: A Linux Distro for Kids</title>
      <link rel="alternate" href="https://www.endpointdev.com/blog/2021/01/linux-distro-for-kids/"/>
      <id>https://www.endpointdev.com/blog/2021/01/linux-distro-for-kids/</id>
      <published>2021-01-20T00:00:00+00:00</published>
      <author>
        <name>Muhammad Najmi bin Ahmad Zabidi</name>
      </author>
      <content type="html">
        &lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/kid-at-computer.jpg&#34; alt=&#34;Mom &amp;amp; daughter working at a computer&#34;&gt;
&lt;a href=&#34;https://www.pexels.com/photo/mother-helping-her-daughter-with-her-homework-4260323/&#34;&gt;Photo&lt;/a&gt; by &lt;a href=&#34;https://www.pexels.com/@august-de-richelieu&#34;&gt;August de Richelieu&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In 2020 some of us had to work from home while taking care of the kids ourselves, as most childcare services are temporarily closed due to the COVID-19 pandemic. In this post I won’t complain about the pandemic, but rather share my experience.&lt;/p&gt;
&lt;p&gt;I have installed several different Linux distributions for my kids’ desktop computer in the past, but have found it quite difficult to find a balance between strict parental controls and no parental controls at all. Then I came across &lt;a href=&#34;https://endlessos.com/&#34;&gt;Endless OS&lt;/a&gt;, a Linux distro based on Debian, but with heavy customizations to focus on school from home.&lt;/p&gt;
&lt;h3 id=&#34;installation&#34;&gt;Installation&lt;/h3&gt;
&lt;p&gt;The installation process was smooth and easy. The install image I chose was quite huge though, at around 16GB. But given we can just use a USB drive as the installation medium nowadays this should not be a big issue. The installer does not seem to give an option to encrypt my hard disk with LUKS during the installation phase.&lt;/p&gt;
&lt;p&gt;Endless OS is powered by &lt;a href=&#34;https://people.gnome.org/~walters/ostree/doc-onepage/&#34;&gt;OSTree&lt;/a&gt; (which is defined as “a system for versioning updates of Linux-based operating systems”) and &lt;a href=&#34;https://flatpak.org/&#34;&gt;Flatpak&lt;/a&gt;. According to the website, “Endless OS uses OSTree, a non-destructive and atomic technique to deploy operating system updates. That means updates can be installed without affecting the running state of the system, making the process safe and robust from environmental factors such as a sudden power loss.”&lt;/p&gt;
&lt;p&gt;The default window manager is a customized Gnome.&lt;/p&gt;
&lt;p&gt;According to its website, the operating system is free for individuals and non-commercial use up to 500 computers.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/desktop.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;package-installation-and-package-updates&#34;&gt;Package installation and package updates&lt;/h3&gt;
&lt;p&gt;We can choose from a couple of ways to install new packages (or update them). You can either use the Control Centre, or (if you want to install remotely) the command line. Although Endless OS is based on Debian, the &lt;code&gt;apt&lt;/code&gt; command does not work here. Instead you can use Flatpak, with commands like &lt;code&gt;flatpak install &amp;lt;package name&amp;gt;&lt;/code&gt;. Flatpak assists the user when installing a new package. For example, if you just typed the package name half correctly, it will suggest a similar name so that you can choose the correct package’s name.&lt;/p&gt;
&lt;p&gt;It’s FOSS has &lt;a href=&#34;https://itsfoss.com/flatpak-guide/&#34;&gt;a guide to using Flatpak&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/installer.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/app-centre.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/flatpak-update.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;package-control&#34;&gt;Package control&lt;/h3&gt;
&lt;p&gt;By default, the OpenSSH service for remote shell login is not enabled. The user needs to enable it through the GUI settings in &lt;code&gt;Sharing-&amp;gt;Remote Login&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/sharing-ssh.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/sharing-ssh2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;We can limit the type of applications enabled on Endless OS. For example, we could disable the web browser from the Control Centre, while maintaining use of the other apps. The default administrative level user in Endless OS is &lt;strong&gt;administrator&lt;/strong&gt;, with sudo privileges. In other words, the “administrator” user is included in the “sudo” group. However, you could just drop your SSH key in the root account if you insist on using the root login to get into the shell account. I also had to remove the “shared” user account as it does not ask for any password. The kids in the house will have to use the account that I created and assigned to them.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/parental-control.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;We could disable the browser in the parental control settings, however we could not define where they could/​could not go from the settings.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/parental-control2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;Although Endless OS is unlike other Linux distros, you can fortunately still do your work inside it if you need to using &lt;a href=&#34;https://support.endlessos.org/en/apps/podman&#34;&gt;Podman&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;browsing-management&#34;&gt;Browsing management&lt;/h3&gt;
&lt;p&gt;I tried to search for similar control for my network, but couldn’t find a good option. My colleague previously &lt;a href=&#34;/blog/2020/12/pihole-great-holiday-gift/&#34;&gt;wrote&lt;/a&gt; about Pi-hole, so I decided to give a try. I found a &lt;a href=&#34;https://codeopolis.com/posts/running-pi-hole-in-docker-is-remarkably-easy/&#34;&gt;tutorial&lt;/a&gt; on using Pi-hole in a container, and made minor changes from that. As Endless OS ships with podman included, we can use the docker command or adapt it to podman. So I changed the &amp;ndash;restart flag to &amp;ndash;restart=always and used podman. The rest is similar to the original post.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;podman run &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;--name=pihole &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;-e &lt;span style=&#34;color:#369&#34;&gt;TZ&lt;/span&gt;=Asia/Kuala_Lumpur &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;-e &lt;span style=&#34;color:#369&#34;&gt;WEBPASSWORD&lt;/span&gt;=YOURPASS &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;-e &lt;span style=&#34;color:#369&#34;&gt;SERVERIP&lt;/span&gt;=YOUR.SERVER.IP &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;-v pihole:/etc/pihole &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;-v dnsmasq:/etc/dnsmasq.d &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;-p 80:80 &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;-p 53:53/tcp &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;-p 53:53/udp &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;--restart=always &lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#04d;background-color:#fff0f0&#34;&gt;&lt;/span&gt;pihole/pihole&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;We can then browse Pi-hole’s admin page by going to &lt;code&gt;http://&amp;lt;server&amp;gt;/admin&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/pi-hole-eos.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;I like Endless OS for my kid’s usage, however I think the distro needs a lot of help from the community to make it appealing to working adults too. I previously found that I could not install the curl package with flatpak (and I could not use apt to install it). So I built curl with a manifest file from &lt;a href=&#34;https://community.endlessos.com/t/package-installer/9314/2&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/blog/2021/01/linux-distro-for-kids/curl-build.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;The things I love about this distro are browser management and flatpak for installing the latest software/​games from flathub. There may be more points I like as I use it more and more. As for now, the current offerings are already enough. Maybe what I need is a screen time management and an internal URL blocking manager rather than installing an external application.&lt;/p&gt;
&lt;p&gt;These are my main observations of Endless OS after a few weeks of usage on my kid’s computer. If you have also used it and have any useful information to add, please leave a comment below.&lt;/p&gt;

      </content>
    </entry>
  
</feed>
