Nextcloud Soon?

Good Morning from my Robotics Lab! This is Shadow_8472 and today I am pressing on towards my very own Nextcloud deployment beyond a proof of concept. Let’s get started!

Preparing an Account

Last week, I learned that Rootless Podman comes with certain challenges when trying to access a network drive. ButtonMash’s Rocky 8 Linux hard drive is tiny, so I don’t want to use it for storage. That leaves my retired laptop, “RedLaptop” for the job.

I use dedicated user accounts to isolate processes. The first order of business was to create a new account and log in through the Cockpit web interface. I had a bit of trouble when the underlying SSH couldn’t connect because Debian doesn’t like capital letters in its usernames, but the nonexistent, capital-containing username was flushed out while diagnosing user groups per advice on Discord. The account was additionally locked to prevent normal logins via password.

Preparing Containers

I’ve been developing a couple scripts for running Nextcloud on ButtonMash in a pod, so I copied them and the secrets directory (password storage) over to RedLaptop and tried them out. Errors galore! I downloaded the Nextcloud and MariaDB container images, but the older version of Podman (3.0.1 on Debian vs. 4.4.1 on Rocky 8) meant missing features – namely Podman secrets and mounting volumes on pod creation.

The secrets were easy to revert. I just had to remove the –secret flags and reinstate the passwords in surrounded by quotation marks. Unlike best practices in later versions, volumes mounted nicely into their respective containers. I double checked one with

podman inspect <container ID> | grep -i volume

and found references to the correct volume.

New Territory

At long last, I made it to the Nextcloud installation screen where I need to make an admin account. From here on, all I know comes from the little scouting I did way back by using an SQLite database hosted offered from the Nextcloud container as opposed to a more capable one.

I got an error about failing to connect to the database. I found a username with a capitalization error and I didn’t actually have a named database created within MariaDB’s container. But even with both of those fixed, I kept getting kicked back to Nextcloud’s create-an-admin screen.

And here my research for the week runs out of time. MariaDB’s log shows two errors I suspect to be the root issue:

<timestamp> 0 [Warning] mariadbd: io_uring_queue_init() failed with errno 1
<timestamp> 0 [Warning] InnoDB: liburing disabled: falling back to innodb_use_native_aio=OFF

Takeaway

I so want to be done with this project. That is all.

Final Question

I am left without a solution for now. For all I know, it may be low RAM, which I’m already maxed out on for my model of laptop – meaning I’d need to start over again with something else. If anyone has any ideas, I’d be happy to hear about them in the comments below or on my Socials.

Podman-Nextcloud: Climb Shorter Mountains

Good Morning from my Robotics Lab! This is Shadow_8472 and today it’s bully or be bullied as I take another swing at getting my Nextcloud instance even partially usable. Let’s get started!

If there’s one long term project of mine that just loves humiliating me, it’s getting Nextcloud operational. My eventual goal is to have it running in a rootless Podman container with a way to quickly move it to an auxiliary server. My strategy thus far has been to prepare three Podman volumes hosted on GoldenOakLibry (NAS) over NFS while accounting for the speed needs of the MariaDB and Nextcloud volumes with an SSD and vs the capacity needs of the PhotoTrunk volume with a RAID 5 array of HDD’s.

NAS: Network Attached Storage

NFS: Network File System

SSD: Solid State Drive

HDD: Hard Disk Drive

Lowering Expectations

I’ve lost count of how many times NFS has given me grief on this project, so I eliminated it. I moved the SSD from where it was on GoldenOakLibry to ButtonMash, my main server computer. I added it to /etc/fstab – bricking Rocky Linux. ButtonMash is dual booted, so I booted to Debian for repairs.

Rocky’s installation system uses an LVM2 format, which Debian can’t read by default. An LVM2 package exists, and I installed it. LVM2 partitions show up in lsblk as sub-partitions of an actual partition, and it is these sub-partitions that get mounted, for example:

sudo mount /dev/rl_buttonmash/root /mnt/temp

to mount the sub-partition that shows up as rl_buttonmash-root. While I did explore for a quick fix, it’s a very good thing when each side of a dual booted machine can repair the other. Mounting a file system is a very important tool in that kit.

Upon closer inspection, a contributing factor to bricking Rocky was the root account being locked. The computer booted into an emergency mode and got stuck in a loop ending with “Press ENTER to continue…” Unlocking it didn’t get me anywhere when I looked at the logs per the loop’s recommendation, but the command lsblk -f clued me in that I was mounting the drive using the wrong file system type, an error which was soon remedied after I discovered it.

Project Impossible

The move hardly seemed to fix anything as hoped. I didn’t solve much. I kept getting NFS related errors when trying to run the pod, even after moving to a new mountpoint I’d never touched with NFS automounts. I even tried mounting the volumes using hard links pointed at the mounted “data drive” and I still couldn’t get a working Nextcloud instance. Somewhere in my shambling among the apparently limited content available regarding this topic online, I found the following warning on Oracle’s Podman documentation:

Caution: When containers are run by users without root permissions, Podman lacks the necessary permissions to access network shares and mounted volumes. If you intend to run containers as a standard user, only configure directory locations on local file systems [1].

Rootless Podman lacks network share permissions. OK, so NFS out unless I can selectively give Podman network permission without going full root. Until then, Podman is limited to the local disk, and if I’m understanding this warning correctly, mounted drives are also off the table. My plans for a Photo Trunk upgrade may be grounded indefinitely, and with ButtonMash’s Rocky drive being only 60GB, I’m not looking to burden it with anything resembling bulk storage.

Takeaway

The next logical innovation would be to rebuild the project on a computer with more storage. Barring a full makeover of ButtonMash, I do have my Red Laptop as an auxiliary server. I made a new account, but in all reality, this inspiration came after my research cutoff. It’s a project for another week once again.

Final Question

My project directory is messy with scripts to the point where I started a README file. Have you ever had a project so involved as to need one?

I look forward to hearing about it in the comments below or on my Socials.

Work Cited

[1] Oracle, “Configuring Storage for Podman,” oracle.com, [Online]. Available: https://docs.oracle.com/en/operating-systems/oracle-linux/podman/podman-ConfiguringStorageforPodman.html. [Accessed July 27, 2023].

Shadow_8472’s Minecraft Installation Guidelines (2023)

Good Morning from my Robotics Lab! This is Shadow_8472, and today I am documenting how I set up Minecraft. Let’s get started!

Here is my 2023 list for “installing” Minecraft while minimizing your data bleed to Microsoft. I listed it in the rough order each technique should be implemented, but no one relies on any of the others.

Linux

Switching to Linux or another open source operating system is easily simultaneously the biggest, most impactfull, and least convenient change you can do for your privacy in terms of digital privacy in general. On one of my attempts at reading Minecraft’s terms, I found data collection policies on both Windows and Mac, but nothing on anything else. Furthermore, shortly after I created my Xbox account on a Linux machine, I found a section on their privacy panel claiming they had no data on my stuff (take-that-as-you-will). To keep it short: Linux being open source gives users a mechanism for action when potentially unwanted programs are are identified.

Xbox Account Lockdown

As alluded to above, Microsoft accounts come with a “privacy panel.” My overall experience has me believing it’s engineered to discourage its own use while still satisfying relevant privacy laws so marketing can safely boast about offering this feature to more users than they are required to. They mention a hotline you can call somewhere, but it was never staffed when we called.

To make the most of the situation, log into your microsoft account and turn everything off that you can find. But leave on the two permissions about joining multiplayer and communicating with text (the permission is bundled with voice permissions) for a normal gameplay experience.

GraalVM

Minecraft needs Java to run. GraalVM is a high-performance implementation of Java. I’ve covered manual installation enough to perform it from memory: download, extract, point application at java. Optionally, it can be placed beside other system Java installations. And wherever you place it, be sure to make a note of which CPU architecture worked because I’ve lost track of how many times I’ve had to re-install because I got the wrong one.

PolyMC

Minecraft is complex enough to need various inputs most end-users never see because a launcher manages things like login, version handling, Java, and more. The game itself doesn’t care how these variables are provided, so we are free to swap out the launcher. MultiMC has been my open source launcher of choice, but I spent several hours researching a couple alternatives and their history. PolyMC is a MultiMC fork that adds support for downloading mods. Prism Launcher is a PolyMC fork that split over the lead “ghttps://www.iizcat.com/uploads/2016/10/lcyay-cheshire-gif.gifoing crazy.”

From what I pieced together from various accounts, PolyMC was born out of a dispute over MultiMC’s direction in 2021 regarding third party mod loading. On October 16, 2022, lead developer lenny mclennington had had enough identity politics. The following day, he deleted the standardized Code of Conduct in a commit titled, “reclaim polymc from the leftoids.” Community backlash began immediately and grew worse as it became clear that Lenny wasn’t hacked: over a page of bogus issues on GitHub, around 3500 accounts raiding his Discord over the following week (judging by #joins traffic) with offensive Internet garbage, and LOUDLY denouncing PolyMC as compromised and accusing Lenny of injecting malware. The drama reached Microsoft, who canceled PolyMC logins for a couple days until that got sorted.

Around an hour after Lenny’s controversial commit, work began on what would become Prism Launcher. The ejected developers migrated over there where today they number at around 200 where PolyMC and MultiMC each list around 100 contributors each. Between the three, activity on Prism’s GitHub has been a lot more consistent (almost daily). Bad blood exists among the forks of MultiMC, but this gives end-users the chance to evaluate each project based on its community rules. MultiMC keeps its project simple, PolyMC prefers it not be used to push politics, and Prism Launcher is getting the updates. Pick your poison, or tell me all about why your preferred not on this list is the best.

No Chat Reports

Minecraft moderation was once handled by local communities. On one extreme, anarchy servers rules read, “Anything goes!” and players can grief without any retribution but what their victims muster. On another extreme are intricate codes of conduct dictated by mods-who-don’t-like-YOU: “Farms may only load 30 entities at a time, but no ‘selling’ entities if they stand on two legs. We don’t care if you murderize your rejects, but we absolutely won’t condone slavery – even if you call it an ‘adoption’ or ‘delivery’ fee! Oh, of course you should somehow be compensated for your disproportionally large time investment compared to everyone else’s marketable goods. We just don’t know how, Troublemakers.”

And then Mojang came up with Chat Reporting. Players can now tattle on each other to a centralized authority to get them banned from all multiplayer servers for a time (or indefinitely). The tech literate community revolted, creating tools like the No Chat Reports mod to strip actionable cryptographic authentication data from messages. Vanilla servers have a toggle to enforce this chat reporting though and vanilla clients will complain on login if this toggle is set to false.

own opt-out and Mojang provided a server side toggle to disable enforcing clients’ cooperation with this system. The No Chat Reports mod strips the actionable cryptographic proof your messages were sent by you. The vanilla server requires this proof by default and the vanilla client complains if a server doesn’t enforce it.

No Chat Reports can be installed via Forge or Fabric. Fabric is the better performing mod loader between the two, so I’ll be using that when I play “vanilla” from now on. It was a two click install for on MultiMC for the most recent Fabric version.

Takeaway

I know what I wrote last week about insisting on chat reporting both sides, but after learning how it works, I feel the need to retract that. While I could draw out my Minecraft migration story to detail how I go through these steps on each of my machines and the difficulties I encounter with Graal and PolyMC, I have more important projects I want to work on. I’ll only cover those if I learn something new.

Final Question

What did I miss? I would love to include your suggestions in a future guide.

I look forward hearing your answers in the comments below or on my Socials.

Works Cited

[1] u/RealLemonmaster, u/Chezzik, et all., “Any pros and cons to Prism launcher over MultiMC,” reddit.com, 2023. [Online]. Available: https://www.reddit.com/r/feedthebeast/comments/10ak23a/comment/jmivti8/?utm_source=share&utm_medium=web2x&context=3. [Accessed July 17, 2023]. (Citation refers to multiple comments)

Let’s Build… a Shelf?

Good Morning from my Robotics Lab! This is Shadow_8472 with a side project for the week. Let’s get started!

My bedroom closet is an interesting shape. One side is only deep enough for hangers, and the other fits my dresser with standing room left over. Over time, my dresser became the de-facto resting place of a couple boxes with soft articles stacked on top of that. A few weeks ago, I had a gravity crisis involving a towel and some winter bedding.

Taking a look at the rest of my closet, I noticed a bunch of unused space above my dresser. An additional shelf would fit the space nicely. The two existing shelves are of a simple enough construction: two brackets, a pinewood surface, a dowel for hangers, and some screws to hold everything together. A matching shelf for light-weight, long term storage shouldn’t be too difficult, and should work nicely if/when the house is sold.

Gathering Materials

A special thank you to my father for doing most of the actual work in building the shelf. I mostly did logistics tracking (strategic pestering) to have it done within the week. When I use the term “we,” it’s something he either did while I was either unavailable or ducking away from noise.

Our local hardware store is rigged for Pandemic Brand Pickup (not really a TM): order online, and your merchandise shows up in lockers outside. The brackets made it home this way, but the board had to be picked up manually. Online listed a board that would have been about the right size had our local branch carried it, so a longer one found its way home.

When we went to actually build the shelf on Sunday, we noticed the brackets’ brace pieces were round as opposed to the “flat” ones already in-place. We needed screws for going into the wall anyway, so it was back again to the hardware store.

Shelf Assembly

As much as I would have preferred a nice, symmetrical construction, the brackets must mount into studs. With my closet the seeming result of leftover space within our house’s structure, the stud finder’s lopsided report should not have been so great a surprise. The sides of the studs were marked with a pencil. A measuring tape pointed to how high to drill pilot holes so we didn’t start cracks in the wall while driving screws. Soon, the brackets were hung and secured.

The pinewood board wasn’t the prettiest to look at. Not only was there a knot running across the width on one side but the side we kept had a bunch of micro knots one might mistake for mold spots. The shelf is going in above my head, so I chose the better looking side to go face down – even though it had some lumber markings, a number printed onto it, and a bad cut line from before we discovered the store hadn’t cut the ends at a 90 degree angle. We sanded the markings off, and I continued sanding a little for slightly smoother surfaces. The board was secured with four tiny screws from our stockpile.

The hanger rod was sourced from our supplies – most probably it came out of a closet elsewhere in the house. We shortened it, but it had a large splinter we had to glue back into place and clamp it overnight. The morning of posting, I spent a while sanding it smooth and we installed it taking into account the nicest side to look at while hiding a previous screw hole and the repaired splinter.

Takeaway

The field of computing is complemented by additional skills. While this shelf might only ever support cloth, home improvement techniques can just as easily be used to cable manage a workstation, get your network goodies off the closet floor, or install a wall-mounted server.

Final Question

What supporting skills have you used for computing?

To Research: Android Rooting

Good Morning from my Robotics Lab! This is Shadow_8472 with a background research project for this week. Let’s get started!

Years ago, I promised myself I would pay closer attention to the terms of service gatekeeping important tech and software (such as operating systems) before using them regularly. To keep my complaint simple: Big Tech inhales data, and it is willing to exploit the least among us to get it. A consequence of my decision has been the inconvenience of having no cell phone since we switched carriers since our old ones weren’t accepted despite still being functional.

The Problem With Android

Android is a dark sheep. While running Linux at its heart, the spirit of free and open source software has been beaten out of it like an abused puppy locked away in Google’s basement. While technically fair game for hobbyists, the search giant’s monopoly on the definitive repository, the Play Store, makes it near-impossible to make a profitable Android product without cooperating with their “quality control” (See Amazon’s Kindle for a/the counterexample).

In addition, much of Android phones’ questionable behaviors (like user tracking) is governed by closed source packages included at Google’s insistence. Some packages are like the keyboard app and can be swapped out as easily as any other app. Others are software libraries built deeper into the system and called on by independently developed apps; these are harder to strip out and replace by their nature, but it is doable if the device is rooted.

Rooting

Root is Linux’s administrator account. A rooted phone is therefore an Android with root permissions restored. Root has the power to remove that news app you never asked for and didn’t want. Root can remove those annoying battery charge caps on an old phone or change the IMEI number on a new one’s modem. Root also has the power to brick your device and turn it into a paperweight if you don’t know what you’re doing.

Manufacturers are understandibly adverse to users with root. They can’t know what they’ve been doing or how security has been compromised by poor choices. They’ll invalidate warranties (as a general rule) on rooted devices, though you are often entitled to an explanation as to how a root job could have caused the damage; rooting will let you blare your music loud enough to damage the speakers, but an accidental damage policy should still cover a screen crack from dropping it in theory.

For my research this week, I located a total of four Android devices I have leave to root as I please. My mission critical device is an LG Stylo 5, but for practice, I have two Samsung Galaxy S7 edge units in addition to my everyday use tablet (Samsung Galaxy Tab A 10.1). As it turns out, big-name flagship products, like my practice articles, have more protections against being rooted than the device I actually care about. I also learned how important it is to know exactly what product you’re dealing with as even the carrier a phone was made for can be the difference between a successful firmware update and bricking.

Just as there are generally multiple software applications for a particular job, so too are there multiple utilities for actually rooting. From what I can tell, the conversation about Android modification is almost exclusively done from the Windows platform, though I do remember reading about a tool for Linux. There is much research remaining.

Takeaway

I have weighted the benefits of an Android phone against Google’s terms and decided that while cell phone access is important, it isn’t important enough to me to carry around their mechanical spy. The cleanest getaway outside a so-called “Linux phone” would be flashing a custom ROM, but I tremble each time I look into that. Replacing the worst offending software is closer to my skill level at this time. I’ve already done so with my main keyboard, and I’m working up the nerve to root and fortify my phone’s privacy.

Final Question

Do you own a rooted Android? What method and tools did you use? What did you do with it once you were done?

Windows Licensing is a Mess!

Good Morning from my Robotics Lab! This is Shadow_8472 and today I am exploring the notably hostile environment of recycling old Windows keys. Let’s get started!

Among my long-term projects box is a retro gaming VM running one or more old versions of Windows. How hard can it be to move an installation legally?

VM: Virtual Machine

Very.

What is a Computer?

I grew up on Windows. Our tech stockpile has no shortage of outdated machines or extracted hard drives with valid installations of the operating system. Surely, there should be nothing wrong with playing Musical Chairs with components until I have something that meets my needs. Microsoft’s licensing doesn’t work that way.

I feel like Moses proclaiming, “Let my people go!” to Pharoh with the way nostalgia of boyhood intermingles with a starkly contrasting mission. The worst I’ve had Linux complain about hardware is when I duplicated a Debian drive and GRUB got upset over a UUID mismatch (it remains unaddressed to this day). To illustrate: I’ve had three Windows XP installations sitting around for years – one on the Old Church Computer I’ve been featuring lately and a couple pulled from other machines. I tried booting one of the pulled drives with the Old Church Computer, and the obtuse operating system asked for its installation disk before it would consent to my game of Musical Chairs. For all intents and purposes, Windows figures your computer is your motherboard because that’s most involved part of the system.

UUID: Unique Universal IDentifier – a [hopefully] unique number for identifying hard drives

Product ID’s and Keys

Major versions of Windows are were sold through different channels under different licensing terms. The important variations today are between Retail, OEM, and Volume. A Retail/“full version” (usually bought off a store shelf) follows the owner, entitling him to a single Windows workstation. OEM licenses offer some marginal savings in return for the license following the hardware; factory OEM’s will flash a system’s key into the motherboard’s BIOS. Volume licenses are sold with bulk in mind; one key can activate as many installations as its organization paid for, but if individual computers are ever sold off, the license stays with the organization. Each of these classifications have multiple channels each as identified by a triplet of digits in the Product ID [1].

The main event this week is a software tool called NirSoft [2] that scans Windows’ registry (or a mounted installation of Windows) and extracts product ID’s and activation keys for both Windows and a small selection of other software. From the three readily available installations of XP, I recovered two OEM type keys and one 011 type (upgrade to XP Home Edition) [1]. Luckily, a matching upgrade CD recently turned up.

Takeaway

I counted four different ways I could pirate Windows XP with the tools I have. I may frown on Microsoft’s data-gobbling and competition crushing policies, but I respect them enough to keep it to name calling in unprofessional venues. Even if I did steal and post about it, I doubt it would be worth their time coming after me. I’m doing this 100% legit to the best of my ability, and I’d encourage anyone looking to make a similar VM to practice integrity as well.

Final Question

Unless I can also scrounge a retail Windows 95 or 98 disk + key, I can’t install XP fresh. My tentative plan therefore is to move the existing retail installation over to a VM and situate it with the matching CD I found. My one concern at the moment is weather the XP upgrade license overrides or augments whatever underlying license, which may be an unmovable OEM license. I don’t know if I can even tell. Am I safe to proceed?

Works Cited

[1] Lunarsoft Wiki, “Product IDs,” wiki.lunarsoft.net, Nov. 7, 2016. [Online]. Available:https://wiki.lunarsoft.net/wiki/Product_IDs. [Accessed June 19, 2023].

[2] N. Sofer, “NirSoft,” nirsoft.net, [Online]. Available:https://www.nirsoft.net/. [Accessed June 19, 2023].

How I would Relearn Linux #2: Blogging

Good Morning from my Robotics Lab! This is Shadow_8472 with another installment of How I would Relearn Linux, a series where I drop tips about the lessons I’ve learned writing about Linux. Let’s get started!

Document Your Work

This blog has been invaluable to my self-studies of Linux. The weekly push has been vital to keeping my various projects alive. If I were relearning Linux, I would highly recommend blogging as one thing I got right early on.

At the same time, another medium might be right for you. The Linux community self-propagates through everything else from videos and books to forums and chat rooms. A private journal would not be inappropriate – as a matter of fact, if I were relearning Linux, I would write for a few months directly into a word processor and buffer it on a hard drive while I research a host, domain name, and blogging software. Whatever you medium or two are suitable to your talents will provide you a resource to look back on later.

Audience and Frequency

Let’s take a closer look at my own blog as an example, Let’s Build Robotics With Shadow_8472. My content is online for the world to see, but my primary audience is myself as I write. I’m of course excited to talk about my projects, but if I cared about having a constant stream of fans jabbering away about me, I would have either paid closer attention to audience building or given up long ago. My main purpose is to give myself a regular push to learn.

The one piece of advice I’ve followed closely is consistency. I’ve posted Mondays at noon (Pacific) with few accidental exceptions since learning to schedule posts. Not every post is my proudest work, but that’s OK. Progress is slow with projects outside familiar parts of my niche. When projects turn out to be much bigger than I judged, I can talk about what’s not working, call it “Part 1,” and hope someone has a solution. If all else fails, I’ve afforded myself the flexibility to switch to a smaller topic when I burn out. It will be there in a month when I return.

Takeaway

This blog remains one of the most important pillars of my continuing to develop my Linux skills. I would totally recommend something similar for anyone looking to learn a technology skill.

Final Question

How do you record your long-term progress?

I look forward hearing your answers in the comments below or on my Socials.

Concept: FOSS LAN Arcade

Good Morning from my Robotics Lab! This is Shadow_8472 and today with a continuation of my project involving the open source game Space Nerds in Space. Let’s get started!

Previously

Two weeks ago, I found Bodhi Linux, a low-weight Linux distribution based off Ubuntu. I used it to compile and run [poorly] a game called Space Nerds in Space (SNIS) on an aged system from a church office.

My Own Space Nerds Distro

I had it all figured out until I had a brilliant idea just minutes before I was sitting down to pen last week’s post. I’d carefully researched and ordered a set of thumb drives to host enough Bodhi installations for a full SNIS bridge on a keyring. I’d have spent a paragraph comparing and contrasting the merits of uniquely colored sticks vs. sticks with both A and C connectors vs. low profile sticks, and a sentence or two about not getting so low a capacity that the case and connector are the major contributing factors to the price (low profile/64 GB, by the way). My project was done except for one small idea: use Ventoy.

Sooner or later, I will update my SNIS bridge, and I’d just as soon maintain a master copy and propagate changes over to the other chips –slim operating system and all– as a bootable .iso disk image. SNIS does not need persistence, so it should be more than happy running out of a live image.

The catch point from last week was in remastering Bodhi. Its official tool doesn’t work in the current version, and so was omitted. I was learning Linux Live Kit and working with its dependencies, but I ran out of time. The afternoon after posting, I coaxed Linux Live Kit into producing an unoptimized image, but I ran out of space on the stick I was working with.

I want to squeeze as much performance out of as little computer for this project as possible. From tests last time, my weak link was memory on the graphics card. Well, how nice would it be if this hypothetical Linux distro didn’t waste system resources on such things as a full desktop environment? I’m comfortable enough on the command line. Assuming I can bully the game into running from the command line, it shouldn’t be difficult to boot straight into the game. If I’m clever, I can have the live distro self-assign a static IP based on a text file sitting beside its .ISO so a router isn’t even strictly needed to play.

Debian/Cage

But I’m dreaming months in advance, and I know it. I made an attempt to slim down Bodhi before switching to Debian 11, the latest version of Debian without a desktop environment (installing over the same small 8GB USB stick from last time). Upon request of various error messages while recompiling SNIS, I had to add packages for git, make, and wget, tools that commonly come with more fleshed out Linux installations.

In the spirit of forward compatibility, I explored Wayland compositors and found one called Cage. Cage will display a single window in full screen and close when no longer needed. It’s perfect for my application… It isn’t in the repository for Debian 11. Debian 12: yes. I went through the effort to try compiling it, made some decent progress while learning about other compilation tools (through downloading/compiling them, naturally), but slammed into a wall of dependencies trying to arrange for a library dependency of something. I got farther with Debian 12, but SNIS wasn’t happy running in Wayland. Furthermore, testing with SuperTuxKart told me I was having issues with keyboard/mouse inputs making it through to programs running in Cage. I eventually scrapped Debian for the short term and went back to Bodhi.

Why just SNIS?

I’ve spent a lot of effort focused on SNIS, but I’ll expand my potential audience if I include a number of open source games. SuperTuxKart (STK) is also ton of fun and has a lower burrier to entry. While it would be nice to compile the latest version of everything each maintenance cycle, some version of STK is in most every major Linux repository.

I spent some time researching other FOSS multiplayer LAN games for Linux without persistence. I found that I had underestimated the trope of “aim gun, shoot enemies.” I’m not opposed to the first or second person shooter genre on principle, but I did narrow my search to exclude graphic violence and the couple horror offerings I also found. I also came across an instance of a game where the engine was open source, but the art, level layouts, characters, and other assets were of mixed licensing that don’t fit with my vision for this project.

Takeaway

I went in another full circle this week. I’ve had some great ideas, but if I expect to have something to show on this project before I lose motivation, I’ll have to arrange my inspirations on a roadmap. For now, I need to focus on learning at least one Linux remastering tool, and game selection/kiosk mode can wait for later.

Final Question

Digging through a freeware list, I found another couple games I’ve played and had a good time with and a few more I’d be willing to try out. What free and open source games would you play at a party?

How I Would Relearn Linux #1: Ventoy

Good Morning from my Robotics Lab! This is Shadow_8472, and today I am starting a new series where I drop a beginner-level tip whenever I have a project change direction last minute. Let’s get started!

Multiboot USB

The biggest barrier to entry for installing Linux is creating your first installation media and booting to it. These days, it looks like downloading a program like either Rufus or Balena Etcher and burning a USB thumb drive with a 1 to 4 GB .ISO file, almost always turning the rest of your 8 to 64 GB USB drive into dead weight. If you intend to continue exploring Linux, it’s easy to get in the habit, and soon you will have a collection of spent USB drives mucking up your search for the one drive you saved to transfer text files or pictures.

The solution is to get a large USB and multiboot it using a utility like Ventoy or YUMI. My experience was with installing Ventoy from Linux, and it was as simple as creating any other USB-based bootable media. Since then, whenever I am instructed to “burn” a .ISO file to disk, I just copy it to Ventoy and it shows up.

What’s more is while I was researching for this post, I learned that it even comes with a Windows installer. As usual, be sure to offload any files you wish to keep as they will be lost while setting up Ventoy.

Takeaway

I consider my Ventoy USB to be the most useful tool in my possession. I highly recommend it for anyone learning Linux.

Final Question

With the entire array of Linux distributions to try out, which ones do you keep around on your master USB drive?

I look forward hearing your answers in the comments below or on my Socials.