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
OS2🍔PC
Borgir
That is very cool
So, just to be clear, there’s no actual relation to OS/2?
Good question, but no 🙂
OS2 is a organization which coordinate software development for the participating municipalities and companies which sign up for delivering FOSS. I think OS2 stand for Open Source Software, but not sure.
More about OS2 here: https://www.os2.eu/in-english
Hey I live in Denmark! How unexpected it is to hear Linux runs in some municipalities: in my sector you only hear of Microsoft running on most of the public infra but my knowledge is limited to Copenhagen.
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.
This is how we used to do it before we had NixOS with impermanence mode. https://nixos.wiki/wiki/Impermanence
Probably a cleaner way indeed but again mindful about how familiar people who can help the library are with NixOS vs Ubuntu/Debian.
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.
You may want something like https://porteus-kiosk.org/
That is for kiosk, they are different from libraries PCs, as you want users to bring their software and just use one you picked.
As a librarian this is an awesome idea but unlikely to work out long term for a couple of reasons relating to the libraries.
-
Patrons will absolutely freak out if the computer they sit down at doesn’t look like the Windows machine they are expecting. Even the time-keeping software we use makes people uncomfortable and it’s just a countdown clock for the 30 minutes they signed up for. I’ve had a very expensive Mac desktop for art and music software go totally unused for years because most patrons want a Windows computer to check their Hotmail. Librarian sobs
-
Unless the library 'technologist" or IT team is already really into Linux in their off time AND paid well enough to bring that experience with them to the office, the people tasked with keeping it running will fail within 6 months and revert it back to something they can fix fast. Generally there’s one IT department that’s handing the libraries and other government run service offices and they will not take the time to do anything out of the ordinary.
Maybe for a subset of computers in a large library like the stand-up quick access stations or catalog lookup computers near the books. Linux can and does a lot of good keeping these one-use stations going despite the fact the run on 1998 Dell Potatoes.
I strongly disagree with your first point. Kids these days are more familiar with ChromeOS than Windows. Google has proven that as long as it has Chrome and a taskbar at the bottom people will be fine with it.
For long term support I also disagree with #2. The company I work for develops software that goes into both windows and Linux environments. The Windows environments are several orders of magnitude harder to secure and maintain because you never know what bullshit Microsoft is going to pull with their updates.
It may be easier to find a Windows IT person to maintain the system but it’s going to be significantly more expensive and significantly less reliable than an immutable OS like Fedora silverblue.
The vast majority of computer users at my libraries have been adults over 50. The kids in my areas use the Chrome OS Computers they are getting from the schools.
If we had a lot of under 25s coming in to use the public PCs, I agree that Chrome OS would be a good pick.
I live in a large metropolitan area in the US and my kids have never used ChromeOS. Our school district issues iPads for elementary school and middle school and beyond receive Windows laptops. Our public library is 100% Windows with the exception of the makerspace which has a few imacs scattered around. Their Windows computers re-image themselves after every use so securing them is really not much of an issue.
To your first point, a huge portion of the use library computers get is from people who don’t own or can’t afford their own computer but just need to print government/work/school docs with some minimal document editor. Sure you could run with LibreOffice or something and hope no one cares, but you’re right that most people would freak out if they can’t open something in Word or have to learn how to print something in Gnome/KDE/whatever.
Most of them are following instructions they are getting from elsewhere to do those tasks and most instructions the offices are giving out are expecting a Windows computer. I still have a lot of users looking for the Blue E. headdesk
Sorry, but definitely not true.
Source: See my comment regarding the majority of danish municipalities using Linux. No problem for the users or the people doing the sysadmin work.
deleted by creator
That would be my guess, yes. Why would the danish librians and users in libraries differ from other places? We’re talking ordinary people with an average in computer knowledge in cities and libraries of all sizes.
Being a dane you have to explain the Missouri reference. If you mean something like small cities, see above.
deleted by creator
As I said, I cannot see the big difference. Please spell it out for me 🙂
The ‘definitely not true’ part was a reply to ‘ain’t gonna fly, Liberians and people can’t use Linux’. Which is a statement from one person without any evidence to back it up. The evidence shows it’s a false statement, because it is in fact working on a large scale in Denmark, without issues and people are happy with it.
So yeah, it is ‘definitely not true’.
Library computers never used to look like windows. They were terminals into a larger system that allowed people to look up information, and the UI was just simplified to just that. People coped fine.
I’m pretty sure you don’t say “anything goes” on library computers, so they are going to have some kind of restricted interface already. As long as that is navigable to the things that are allowed, people will cope.
By “never used to”, when are you talking about? I think the last time I saw a terminal catalog in the way you’re describing was 1995.
Pretty much every thing after that was a modified Windows install of one flavor or another with an intranet or web catalog interface for the user.
I’ll buy that they were kept longer in some.places than othern but where and when are you pointing to?
Yes, I’m probably talking 20 years ago, but well into the era of windows being the dominant home operating system and the internet being a thing. As long as people can see an icon and double click it to get a web browser, they’re happy.
deleted by creator
My local library uses some sort of Linux for the card catalogue. I don’t use the general purpose library computers, but I think they are some flavour of Linux as well.
My impression was that they were probably sold as a low maintenance plug-and-play solution.
My local library is part of a larger library system, so I’m pretty sure the librarians won’t know anything about them, that any computer maintenance is handled by somebody dispatched from the head branch. I’ll still try and have a look here in a bit.
While I love Linux and free choice in OS, it’s painful that this needs to be said, and painful that it’s being attacked so harshly. Having watched people have meltdowns in university libraries after having to use OSX instead of the already taken PC’s, people will likely lose their shit. Hell, they lose their shit over stupid things like start menus being on the top of the screen or Firefox instead of Chrome…
On your second point, I’m sure there is an argument towards free Linux education for a specific sector where Linux has a genuine benefit. The problem as I see it is libraries are often council/government run, and you’d basically need to petition at that point to say “you will pay X for Windows, use Y, which supports all of your old, clunky hardware, with free training on us, and you’ll save Y”.
Of course, this all involves having a distro that’ll easily solve driver issues for 20+ year old printers and fax machines, with support for the shitty web interface libraries use that require IE7 or it flips out, and great support if something does go wrong…all while ensuring that Microsoft won’t just give out cheap subscriptions to keep libraries on their tab.
Absolutely agreed. Something facing the public like this is supposed to be comfortable and familiar first and foremost. Works like a charm if you know what you’re doing but we’re not able to expect that from the general library computer owners…
-
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.
I wouldn’t. Relying on a cookie-cutter distro like NixOS is a recipe for disaster in the long run, IMO. I mean, sure, you could set it all up exactly how you want, but the next person coming in to replace you may not be familiar with NixOS. And there’s no guarantee you’d be around to train them - in my circles we call this the “getting run over by the bus” problem. More importantly, organisations need to be able to get reliable support - support from an actual organization they can count on, when shit hits the fan.
Choose an industry standard, well-supported distro like Debian/Fedora/OpenSUSE (or immutable variants like Fedora Silverblue/openSUSE MicroOS) deploy it using Kickstart/Preseed/Cobbler, and configure/maintain it using Ansible. If you’ve got large number of users to manage, use a centralized user/identity management system like FreeIPA or JumpCloid.
Don’t go for cookie-cutter distros unless you want to be their IT person forever.
What does “cookie-cutter” mean in this context?
It means DIY/hobbyist/niche.
If the config file is well documented, you don’t need to worry too much about that bus. And it isn’t several user accounts, it’s a computer that needs to be accessible to nearly everybody. Like said in other comments, a script to destroy everything on logout, and then add a configuration to logout on idle.
That’s not the point though, the point is about support.
The main issue is with cookie cutter distros like this is, things break, and when that happens, getting support can be a PITA. In fact I experienced this myself on more than a couple of occasions. Most recently, I ran a
nix-channel --update
which then brokenixos-rebuild switch
. I couldn’t figure it out, asked online and they said nothing was wrong with my config, so I ended up restoring to a previous snapshot. This was just a VM btw so not a big deal, but I’d never run NixOS as my main, never mind putting it on user-facing machines in a public organization.The library won’t be able to find someone to support a random OS like “NixOS”. Just imagine putting out a job advert for that. Actually, they probably won’t be hiring a dedicated IT person in the first place, so they’ll reach out to some MSP and it’s highly unlikely they’ll be able to find some company willing to support it.
Just because you’re good and familiar with some obscure piece of technology doesn’t mean that it’s the right choice for an organization - because that’s how you build up technical debt. This sort of stuff happens all the time, I work for a MSP and often come across some adhoc DIY thing built by some random employee who left the company ages ago and now no one knows how it works, so they never maintained the thing and everyone’s scared to touch it lest it breaks something.
I agree that this is a good choice. But I doubt library staff will have the technical background to set this up. But if some local volunteer could do it, it would be a good option.
People couldn’t tamper with it even if they wanted to. Like literally how do I tamper with it??
-sincerely, trying to learn NixOS
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
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 know that our library system is time based and will give patrons a limit they can renew. Probably something you can do with a script too. I think their software has a management console so they can remotely terminate the sessions.
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.
Windows has had this for literally decades, too. You have to use a 3rd party software, but it exists and is easy to use.
I know the Danish OS2 foundation maintains a distro explicitly for Public computers in libraries.
When searching, I see a lot the OS2-based Danish library websites, but can’t find their own website. Can you provide a link or more info on this distro?
I get what you say that they can’t afford to be tossing out old equipment … But there hasn’t been a x86 based 32bit PC made in over 20 years. Are you really trying to find an OS for systems that old or is this just a thought experiment?
I’m not sure it was quite 20 years (I’m sure there were 32 bit Atoms still on the market into the late 2000s), but I agree with the sentiment. You can get a really pretty decent refurbished PC for under £50, and a lot of offices will literally give away old computers to good causes for free when they upgrade their estate. There’s really basically no reason that any organisation with literally any resources at all should still be on 32 bit computing.
I forgot about Atoms. I was going by “desktop” CPUs, of which the last Pentium 4 was released in 2002.
The last 32bit Atoms were from 2011, so still pretty outdated and wouldn’t really be usable for a daily use machine.
ChromeOS Flex is an interesting choice for kiosks. There’s a great case study from Nordic Choice Hotels: https://cloud.google.com/blog/products/chrome-enterprise/nordic-choice-hotels-bounces-back-ransomware-attack-chromeos-flex.
Being a Google product, I don’t expect it to have a long life span
Anything would work; people don’t
There are people that think Linux is all terminal based and refuse to use it because of that
I’m generally not a fan of endless os (very locked down), but this might be a good low-maintenance option for libraries.
Endless comes out of the box with offline educational materials and learning apps.
Flatpak based distribution.
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).
I’m not sure of exactly how they manage everything, but my county library system uses Debian with an XFCE interface.
Not sure if it’s because it’s been this way long enough now, or it just looks close enough to Windows, but I haven’t known anyone to complain (and my in-laws complain about everything else)
That’s really cool, I’m just curious but where do you live?