Title. Mainly asking for the library side, but PC cafe is also interesting to ask about.

Mainly since Windows 11 is 64-bit only, and it seems Windows 12 is going to subscription based on top of that, neither of which public libraries can afford tossing out computers and paying more in subscription fees than they make with overdue books.

My local library is only open for 2 days a week, due to a lack of funds for hiring more staff in the area. They use older Dell all in ones, and that just makes me think if they don’t have the money for being open 5 days a week, they don’t have the money to buy 4 new computers for the space.

Not even getting into the bigger libraries part of that system or the ones nearby. Some have 8 computers in groups, with 4 stations of groups.

So I was just wondering, if anyone has started or is aware of a Library/Public Computer focused linux-based OS? Perhaps one that allows immutable systems, and the library card system backed most use to enable end user access. Perhaps that’s a config file tucked away somewhere.

And I guess the PC cafe OS is interesting, simply due to the fact that Linux gaming has been making huge strides, and PC cafes are still popular in Japan, Korea, and China.

EDIT: I am not in control or assistance to the library, just looking if there’s a potential solution to libraries like mine. If I could give links to a library computer manager, or if I could give upstream bug reports to people making such software.

  • Work with informationsecurity and GDPR. And know as a fact that many danish municipalities which administrate the libraries are using, and are happy with, Linux as public facing citizen PC’s in libraries.

    They use OS2borgerPC, which translates to OS2citizenPC which is maintained and supported by the danish company Magenta. But it’s open source, so if you are in another country you could just use it - or better, give Magenta a call. They’re great and very reseaonable.

    Magenta: https://www.magenta.dk/en/ OS2borgerPC on github: https://github.com/OS2borgerPC

  • Honestly I’d

    • take any distribution that someone at or close to the library is comfortable with, e.g popular Ubuntu or Debian,
    • setup a user profile that fits the need of the average library user, e.g Firefox with as a start page the library website
    • make sure the library card system do work
    • copy /home/thatuser directory somewhere, e.g /root/thatuserunmodified and insure permissions make it unmodifiable
    • add a cron task so that every evening 1h after the library close any thatuser session is terminated, /home/thatuser gets deleted, copy the /root/thatuserunmodified to /home/thatuser and fixer permission
    • assuming it’s fast enough (I bet it’s take 1min at most as /home/thatuser would be mostly empty) I’d do the process after each logout so that each new visitor gets a fresh session, no downloads from previous users, history, bookmarks, etc. Only what the library consider useful.

    That’s it. This way one can still let the OS do it’s updates but the user experience is consistent.

    • I am no expert. But I think there is an ‘easier’ way too manage this with an overlay filesystem.

      Have an immutable base with all permissions set. When a session is started have it be done in an in-memory overlay. On logout drop the overlay.

      This might be easier if you don’t want to rely on cronjobs. But as I have no experience myself setting this up… ‘easier’ should be taken with a grain of salt. I just took inspiration from docker.

      • True keeping it all in memory, especially as it would be of limited size, could be a good solution. That being said a single script and cron job is rather “easy” IMHO.

        • You are correct. I just have a coworker that has ingrained the philosophy in me to always look for a way to put it in configuration, and not in a script that you have to maintain.

          I don’t always agree with that. And I find your solution as valid as mine. It is always a matter of taste and trust. In this case in the script, or the fsdriver. That’s why I always quote the “easier” when comparing solutions to Linux problems.

        •  demesisx   ( @demesisx@infosec.pub ) 
          link
          fedilink
          English
          8
          edit-2
          1 year ago

          All it takes is one person to share a complete config and I’d assert that it’s actually easier than Ubuntu/Debian to setup (especially if you’re talking about deploying a fleet of identical configurations or even a config that lives on a liveISO meant for installing the OS with these options baked-in).
          Granted it’s not there yet and you’re correct but soon: One-click deployment would make it even easier than Debian/Ubuntu.

          Also, IMO Nix is a force-multiplier. For example, I alone could probably configure a whole fleet of systems declaratively with Nix AT LEAST as well as a config script repo that has 20 people contributing to it since, in Nix, if it builds, it’s pretty much ready for production.

          The fact alone that Nix allows you to simply list the software you want on the computer and it takes care of everything else (rather than a long, error prone sudo apt-get install command list that may or may not install because dependencies aren’t locked) would cause me to select Nix every single time.

          I’m just kind of bewildered how anyone can argue against Nix by invoking a method of Linux install where you sudo apt get 400 commands in a precise order (and if you accidentally go out of order, you might screw up your system) and you also have to carefully manage dependencies and will be SOL if one piece of software requires one version of python while another requires an entirely different version.

          • Maybe I’m misrepresenting the labor market and the availability of professionals working with Nix. That’s also why I mentioned Ubuntu/Debian not on the basis of technical merit but “just” popularity. Now if you are suggesting that they could hire somebody working with Nix just as easily for that task, sure they could go for it.

  • Depends on what you want. Search for “Gnome Cafe” for example.

    There is an article about Fedora Silverblue as a Kiosk. Silverblue should be configured with weekly automatic updates, every half a year, waiting 3 weeks or so, it has to be updated (this could be automated too).

    The only thing is the actualy library software. It can run on a server that is accessed through a website in Firefox fullscreen for example. Gnome has a a special kiosk compositor for that.

    • Tried to look up GNOME cafe but couldn’t find anything

      I find the idea of going to not only an internet café, stereoscopically very nerdy and niche places, but an internet café with only Linux machines amusing

  • NixOS is immutable and highly reproducible, with the ability to rebuild identical systems with a declarative configuration file–including installed packages.

    So in the case of multiple public computers, you would only need to create/maintain one configuration file that defines all of the user profiles, permissions, restrictions, settings, software packages, you name it.

    It would without a doubt be what i’d choose for a fleet of public library computers. Extremely reliable and easy to setup to prevent tampering or misuse.

    • Imagine trying to sell a computer to some old lady with a subscription OS:

      This computer costs $300. But to run it you need to pay another $10 a month.

      “Do you have any where I don’t have to pay every month?”

      Salesperson proceeds to recommend a Chromebook or a Mac.

      The technically-savvy would look for Windows 11 machines, those who could and know how would install Linux, others will buy a Chromebook or a Mac, and only the truly stupid would pay the subscription.

    • If it becomes subscription only, I wouldn’t be surprised if the OEM pays for it for at least a few years (as in included in the price)

      They wouldn’t want to go out of business.

      And Microsofts main consumer which is enterprises wouldn’t really be affected since Windows is already a subscription for many of them in the form of M365 (for example, it’s included in E3)

      And I doubt Apple would make much more money since their OS is so different and locked down compared to Windows. If Apple started to sell a license for whatever computer then yeah that could happen, but they won’t.

      ChromeOS is free but their office suite isn’t really comparable to MS.

      • You have to understand that the bulk of computer buyers aren’t really that computer literate. As someone who worked 4 years in IT, I’ll tell you that the average computer user doesn’t even know how to install a graphics card driver, let alone do any other stuff. If given the choice between even $5 a month or learning to use a Mac or a Chromebook, people will learn to use a Mac or a Chromebook. Linux isn’t even a consideration.

        The vast majority of people are perfectly happy with Google Docs/Slides/Sheets for daily personal use. If the choice comes down to using the Google office suite or paying a subscription, people tend to avoid paying. I know ZERO people who subscribe to Office 365 for personal use (besides those tricked into it). They either pay for the one-off license, pirate if they know how, use copies paid for by their work, or use alternatives.

        People don’t care that ChromeOS and MacOS are locked down. They don’t do anything that requires the “unlocked” operating system and you can bet your ass that if Microsoft starts charging a subscription fee, Apple and Google’s marketing teams will jump so hard on that it’ll crack the pavement.

        • My main points were about Microsofts biggest customers, aka enterprises which is why I said that, and mentioned office at all.

          I highly doubt normal windows will ever charge a subscription fee. I won’t consider it until microsoft removes the popular ways to get office and windows free from GitHub (a service they own) and they haven’t yet, after many years.

          Microsoft doesn’t really care that much about personal usage.

          • You’re right that Microsoft’s main source of income is enterprise customers. But at the same time, I strongly believe that IT departments worldwide would start to seriously consider what tasks they really need Windows or Microsoft Office for and start considering giving as many employees as possible Macs or Chromebooks or even Linux systems. An additional $5 a month multiplied by a thousand systems is $60,000 p.a. I do see IT directors trying to minimise the number of Windows licenses wherever possible in that case. Does the receptionist really need Windows when the scheduling software is cloud-based? Can we replace it with a Chromebook? Is it finally worth it to give the designers the Macs they’ve been clamouring for? And the big one—do we really need Active Directory specifically now that everyone’s got a Mac or a Chromebook? These are questions that have to be answered by IT departments worldwide and every time they’re answered in the affirmative, it costs Microsoft another customer. Not everyone will switch, but the impact will still be non-negligible, and people will also think twice before getting Microsoft systems in the future.

            I think you’re right. Microsoft isn’t stupid enough to try this.

  • I don’t know if something like this exists, but I think the right solution for you would be something that my school did with our computers. They had installed Mint on it, but it was configured in a way, that when you rebooted the whole user profile would be resetted.

  • Honestly I think a bunch of simple scripts would be more than enough.

    For guest account all you need is to clear their directory in /home/ every logout/login. If you don’t give them root permission, they cannot mess with the system.

  • I’m not going to lie but I’ve been playing around with a VDI setup for internet cafes. Let’s you use servers that places are liquidating in the back, but cheaper thinclient/zero client at the actual desks. Also helps reduce user damage and theft where that is a concern (can’t tell you how many IT tickets I’ve worked because of people kicking cables).

    • The nice thing is it means you can in real time load new OSs, so you could have them all default to the Linux distro and only have a few windows licenses and a button to switch on the Linux desktop, in case people NEED windows for something (could even do this with Apple stuff, but the complexity sky rockets to me).