I Touched Up a Special Photo

Good Morning from my Robotics Lab! This is Shadow_8472 with a 1-night special project based on a mini-project I did a few weeks back. Let’s get started!

I’m no stranger to using my family’s photo trunk as fodder for a long-running project. Besides, there’s a special occasion coming up, and I thought it would be nice to restore a special photo where the photographer had his flash misaligned.

The first part was smuggling one of the scanners up to my room, where it wouldn’t be so obvious that/when I’m working on it. For reference, I’m working with an Epson Perfection V550 Photo and Manjaro Linux. My previous attempts at getting this and another Epson Perfection working with Linux using a driver called SANE were spotty at best. I even went so far as to save a cloned drive over my difficulty in reproducing my success.

> SANE: Scanner Access Now Easy

Long, boring story short: I landed at sane-project.org, where the whole series of Epson Perfection V[100-600] Photo is listed as “unsupported.” [1] The only reason I got it to work before was because I had Image Scan! for Linux installed, as I learned through a combination of user-forsaken forums and personal experimentation. My notes for this project made note to mention “[Epson Perfection V series scanners are] supported by the epkowa backend plus non-free interpreter.” I stopped trying to fully sort its meaning out after getting the V550 working thanks to an AUR package.

> AUR: Arch User Repository

With a working scanner, it wasn’t much more trouble to connect it to the XSANE plugin for GIMP, where I made a collage of different scans with slightly different settings. It took a while to zoom in and align each piece pixel-perfect; ironically, this process was aided by the dust and scratches I couldn’t get off. To finish off the project, I used a feathered eraser tool to smooth the edges.

Takeaway

If I had more time, I’d have feathered the edges after each scan. Like I said, this was a project I am finishing last-minute. I now have the picture looking the best it has in years, but it’s still due for plenty of help – some beyond my skill level.

Final Question

I have a pretty strong feeling I know the answer, but do scanner drivers communicate any additional information when optimizing a scan, or was I just needlessly exposing a special picture to extra light?

Work Cited

SANE, “SANE: Supported Devices,” sane-project.org, [Online]. Available: http://www.sane-project.org/sane-mfgs.html#Z-EPSON. [Accessed Mar. 13, 2023].

My Podman Containers Boot With Systemd

Good Morning from my Robotics Lab! This is Shadow_8472 and today I am reasonably sure my Podman containers won’t be randomly going down anymore. Let’s get started!

I enjoy using Podman as a stand-in for Docker, but its rootless approach to running containers inherently challenges sysadmins facing Docker’s help and tutorial legacy. The most problematic difference I’ve experienced has been keeping containers running long-term. Months ago, I learned how to enable account lingering. This allows Podman containers without something remaining logged in as their respective users. I’ve been living with manually restarting containers as needed. Well, since I decided to enable automatic security updates, starting containers automatically would be prudent before expecting other family members to rely on them.

Against all odds, my initial search this past Wednesday yielded a blog article from Red Hat about integrating Podman containers into Systemd [1] to start them at boot. It was posted the day before.

Podman and Systemd

I trust Red Hat to not post malicious commands, but it’s still a good idea to learn about strange commands before running them. Red Hat’s tutorial starts with making a new user, enabling linger, and running a containerized web server. The first important command I ran was

$ podman stop httpd && podman rm -a && podman volume prune

This command appears to thoroughly clean out Podman. I’ve mounted volumes from the host before to persist data, but there’s a more flexible volume structure I only learned about just now when researching for another section I had to spin off into a near-future post. I haven’t used them yet, but I’m sure they’ll be useful once I learn how to use them.

$ podman generate systemd --new --files --name httpd

This command makes a new systemd file. The –new option recreates the container fresh each time it’s brought online. –files sends the configuration to a file instead of the terminal. –name must be the name of a running container or pod.

$ cp -Z container-httpd.service ~/.config/systemd/user/

The file generated previously goes in a directory where systemd will find it when used with the –user flag. The -Z flag matches permissions with the destination directory. The tutorial finishes with a daemon-reload followed by starting and enabling the user’s service.

Takeaway

This is a resource for my bookmarks. That is all.

Final Question

I took the opportunity during this project to put a Minetest server on ButtonMash, but I’m having difficulty obtaining permissions. I can see its logs in Cockpit-Podman, but I don’t have access to the server command line. How am I supposed to get started with adminning Minetest?

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

Work Cited

[1] A. Oliveira, “Configure a container to start automatically as a systemd service,”redhat.com,Feb. 21, 2023. [Online]. Available: https://www.redhat.com/sysadmin/container-systemd-persist-reboot [Accessed Feb. 27, 2023].

I Made a Single-Task Computer

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

A situation at my church’s elementary school has recently come to my attention: the library lacks a computer, the conference is pushing online timesheets, and the librarian doesn’t use a smartphone. I know a little about get-me-online machines, so when I felt a little prompt from On High, I got to work.

My first thought was to shift directions on the old church office computer from my recent work with Puppy Linux, but it lacks a monitor, mouse, or keyboard. Then my sister’s netbook surfaced (Toshiba NB505). As spiritual predecessor to Chromebooks, netbooks are perfectly sized for toddlers. The original power brick had a frayed cord, but I found a spare. It booted to Windows 7 Starter Edition (32 bit). It reportedly slowed way down at some point. Even Puppy Linux (running 64-bits) felt sluggish running Firefox. Nevertheless, I accessed the timesheet website.

I soon learned about Firefox’s –kiosk mode; it got me thinking about launching it as part of boot directly to the needed webpage. Instead, I sought out a specialized kiosk distro and downloaded myself Porteus Kiosk. I substituted my Ventoy USB for whatever the oddly worded instructions aimed at store managers would have me do. The install media (“first boot”) walks the user through connecting to the Internet, downloading Firefox or Chrome, creating or loading a config file, and flashing (“burning”) a customized image to a hard drive.

The system took a night’s work to install a few times and harden. I password protected the BIOS and disabled booting the Windows drive because I’m more worried about the SD card surviving an accidental removal and landing last in the boot order than someone using a strange, bootable USB. I tediously refined my installation procedure until I was consistent. Its slow boot wasn’t fun.

I had 15 minutes the next day with the school Wi-Fi. Much of that was tracking down the password. Once online with browser obtained, I loaded my config file from the previous night, flashed the SD card, and rebooted, ticking away what time we had scheduled and more – only for a failure to reach the Internet. Discouraged, I packed up left – my only consolation a surplus Valentine’s Day goodie bag.

We figured it was probably some network whitelist until the kiosk worked properly back at home. Had the it failed? I didn’t catch the success/failure message flashing by earlier, so maybe? Another day’s attempt at the school involved accessing site with a laptop from a different school-owned network. I paid close attention to the allegedly successful output, but it again found my Wi-Fi and not the school’s.

Just as I was about to start report a failure for now, I noticed my home Wi-Fi name and password hidden in the config file I was loading each time after the first. I slapped the school’s credentials and left it for my mother to deploy, though not without a Puppy Linux USB as a backup plan. I wrote detailed instructions on getting online and saving the first day’s session. Thankfully, they were unneeded.

Takeaway

Production. I’ve never done a project intended to operate outside my supervision before. I’m proud of this project, and I’m glad it will be of service while until a more permanent solution.

Final Question

I noticed this week how much I seem to be using my Ventoy multi-boot USB. What is your most valuable tool?

Let me know in either the comments below or on my Socials.

It’s Time I Install EndeavourOS

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

OS installation side project. We’ll see how this goes.

Manjaro has a hate club, and I sympathize with it. It’s stable most of the time, but gives me a large bombshell or two per year. I’ve been meaning to try out EndeavourOS, another user-friendly take on Arch, and my hard drive filling up is as good an excuse as any.

One small task before starting: my file system hangs whenever I try to access a down or inaccessible NFS share on GoldenOakLibry, and it won’t unfreeze until making contact again or forced closed. LibreOffice Writer is a notable offender as it can lock up attempting to autosave. A deeper look into this issue and it works as intended. For what it’s worth, GoldenOak’s HDD’s spin up in loosly 45-50 seconds, so allowing for a rounded minute in the automount file seems reasonable (TimeoutIdleSec).

NFS:
Network File System

HDD:
Hard Disk Drive – specifically the kind with spinning platters

EndeavourOS Installation

I updated the EndeavourOS installer on my Ventoy USB drive and verified it with sha256sum. When I booted to it though, I found it in legacy BIOS mode, and I’m after UEFI experience. I tried my PopOS image from working with UEFI on my sister’s computer, and it too ended up in legacy BIOS. I even booted my old copy of Windows 10 – legacy BIOS. Does my hardware support UEFI or not?!

In short: yes. I dug up a setting in my motherboard firmware to allow UEFI and Legacy, disable Legacy, or disable UEFI. Curious, I disabled Legacy to force UEFI boot. Windows disapeared, EndeavourOS hung, and Manjaro surprisingly loaded just fine, though it sat so long on a black screen I thought was hanging the first time. Sure enough, it had an efi directory, confirming a UEFI boot:

$ ls /sys/firmware/
acpi dmi efi memmap

Ventoy’s Grub2 option got me into UEFI/EndeavourOS for installation. It was otherwise an unremarkable experience compared to other “easy” installers I’ve used. I researched each unfamiliar option and chose systemd-boot as my boot loader even though it only works for UEFI installations.

Moving In (Pacman)

Moving in was dead simple and super clean. Mind blown. In order of installation, my top priorities (after a lefty mouse and stylized pointer) were Firefox, LibreOffice, and NFS – the minimum needed to continue drafting this post. EndeavourOS lacks a visual package manager, so I formally introduced myself to Pacman.

Firefox came preinstalled. I mounted my Manjaro drive and copied ~/.mozila over. Boom! All my tabs, windows, extensions, bookmarks, and everything else was present and accounted for. Maybe a font was different, but I’ll research it later if I’m not adjusted by then (editing note: I’m adjusted now).

LibreOffice was a pain, if you could call it that. I needed to research the “fresh” and “still” branches (testing and stable, respectively), and opted to see what I had on Manjaro. I pulled a massive shortcut and used chroot to approximate a Manjaro shell instead of rebooting back and forth a bunch. Power rush! After a break to mentally process the power grab, I installed the “still” version and later followed it up with hunspell-en_us so spell check had a dictionary.

chroot:
CHange ROOT – starts a shell with a root directory deeper within the file system.

NFS was the last and most routine piece to access GoldenOakLibry: create mountpoints, copy and enable .mount/.automount files. Ray Lyson’s NFS/Samba guide is easily a favorite bookmark [1].

I began listing other things to bring over: ~/.ssh, Discord, FreeTube, AngryIP, Balena Etcher, and Steam are all things I use with varying frequencies. SSH and Discord involved packages from Pacman and copying my old data, like I did with Firefox. Steam offered me my first non-elective challenge when I had to research the correct Vulkan libraries (graphics drivers) to use.

Moving in (Arch User Repository)

My other listed programs will be built with the Arch User Repository, a listing of user-submitted scripts called PKGBUILD files. It is strongly recommended you inspect AUR scripts before running them, and to avoid using automated tools like yay until you’ve manually built and installed a few packages. Hold bad files accountable by flagging them, and vote for ones that build packages properly. Reputable AUR packages may be adopted by a “Trusted User” and relocated to the main repositories.

FreeTube has five different AUR listings. Git (potentially unstable), Wayland (outdated), and appimage (few votes) are all unsuitable – leaving freetube-bin and freetube for serious consideration. Freetube-bin has almost 3x more votes and 22x the popularity (how recently/widely used a package is) as well as having a longer maintenance history. On closer inspection, freetube builds from source, while freetube-bin converts a .deb package. For the purposes of learning AUR from 0, I’ll be using freetube-bin.

Freetube-bin’s AUR page has a Git clone link. Its PKGBUILD file looked simple enough. Makepkg finished, leaving me with the original .deb it downloaded and a .pkg.tar.zst file I eventually found and installed with Pacman. I copied over ~/.config/FreeTube, only to find it was from a broken install I had replaced inelegantly.

AngryIP scanner has only one version: ipscan, but it requires Java. I went through the process of installing GraalVM for Java19/aarch64, replicating a set of symbolic links pointing to Java.

$ java -version

Wrong architecture. I replaced my install with the amd64 version, and that worked. I made a note there in /usr/lib/jvm to use amd64 next time and deleted my raw downloads.

AngryIP/ipscan’s PKGBUILD file builds it from source, and as such looks more involved. The most suspect thing was a for loop I didn’t understand right away. I went to build the package and mere Java doesn’t count as java-runtime. It wants one of 124 Java packages to satisfy its one dependency. I found a version of jre-OpenJDK. Pacman wasn’t amused with my GraalVM shortcuts though, so I disabled them. Both jre-openjdk was installed shortly and ipscan compiled afterwords. Over the weekend between download and installation, AngryIP had gotten a minor revision. I’ll pass for now.

Oh, Balena Etcher. WOW! Three popular candidates showed up – two were a version out of date, and the other a very new appimage with zero maintenance history. I downloaded the the Appimage PKGBUILD anyway and instected it. It looked enough like the others I decided to go with it. Building and installation went smoothly.

Takeaway

It speaks volumes to my personal progress that I thought this might be “side project.” I was wrong, but I must remember that similar projects used to take at least one week for the base OS install and another for each major program I wanted. My impression is that EndeavourOS is for people who are/ want to be fluent in the command line, but don’t want to deal with straight Arch.

EndeavourOS is taking my skill to the next level. I’ve learned by both blitzing the boring tasks and slamming into using the AUR without cheating packages in with pamac. KDE is all purple, but I’m game for the change from the traditional blue.

GRUMBLE! EndeavourOS had a core package update as I was finishing my editing, and now it hangs while booting. I’m back on Manjaro, and updates were waiting. I moved some stuff over so my 1.8gb download could fit. I also linked ~/.mozilla to my EndeavourOS copy.

This computer is messed up right now.

Final Question

I’ve had a busy week with material going on for three potential projects. How was yours?

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

Work Cited

[1] R. Lyon, “On-Demand NFS and Samba Connections in Linux with Systemd Automount,” Ray Against the Machine, Oct. 7, 2020. (Edited Aug. 26, 2021). [Online]. Available: https://rayagainstthemachine.net/linux%20administration/systemd-automount/. [Accessed Feb. 13, 2023].

I Glitched Cockpit and Discovered Multi-user Login

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

My mother needed an extra browser, so I installed Firefox hardened it a little. I took the liberty of adding the Bitwarden plugin, encouraging her to make an account on my self-hosted instance. Remembering my failure so far to diagnose the “Network Error” blocking log in, I spared the time to learn how new Bitwarden clients are slightly incompatible with old Vaultwarden servers.

I easily could have updated Vaultwarden with maybe a note on the blog Discord. Instead, I felt like adding VaultwardenUsr@localhost to Cockpit with “Add new host.” This stunt worked at the cost of forwarding shadow8472@ButtonMash to VaultwardenUsr@ButtonMash when to logging in. Relogging didn’t help, and the hosts list saw VaultwardenUsr as the primary login – disallowing me from removing it, and as a remote login – blocking my attempts to add my real primary account back in with the same stunt.

While exploring this bug, I logged into my old laptop server and linked its Cockpit back into ButtonMash without getting forwarded to VaultwardenUsr. At this point, I submitted a bug report to Cockpit’s GitHub. I soon found the malformed host list at /etc/cockpit/machines.d/99-webui.json. I backed it up, purged the malformed entry, and updated GitHub with my workaround.

Out of curiosity, I added VaultwardenUsr@192.168.0.— as an alternate host. This sends packets for an extra detour, but it works as required. Only after all this did I update my Vaultwarden image from Docker Hub and deploy a new container from it using the same command as the last two successful times.

Note: While working on next week’s project, I logged into VaultwardenUsr@127.0.0.1 and other loopback IP’s with no problems. It’s just name@localhost that causes problems.

Takeaway

1 day for the win! My push for PiHole and supporting network projects has been intense lately, so it’s great to have a smaller project where I still learn while by doing something important.

Final Question

Have you ever misused a software feature successfully? What challenges did you face before getting it to work how you had in mind?

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

Never Underestimate Your Gremlins

Good Morning from my Robotics Lab! This is Shadow_8472 and today I am working on my home network. Let’s get started!

Where to begin? Last week I left off with Puppy Linux. Well, I successfully installed it to a USB. While hardening FireFox, I noticed that the popular search-engine/online-advertising company is pushing out a new set of standards for their popular browser called Manifest 3 that will cripple functionality browser-based ad blockers rely on to keep prying eyes out (all in the name of privacy, of course); Mozilla/FireFox will be adopting these standards, with roll out this month: January 2023.

Network Collapse

In response, I prioritized setting up PiHole, a network-based ad blocker which won’t be affected by Manifest 3 and will work on Android devices. I soon learn it’s available in an OCI/“Docker” container. Long story short, I install it to ButtonMash and my old laptop for logistical reasons involving my dormant Family Photo Trunk project. I went to adjust the router’s DNS (Domain Name Server) settings to point at my PiHole containers figuring the worst that could happenwould be I just need five minutes tops to revert changes… the router moved itself from 192.168.0.1 to 162.168.1.1, collapsing the home network – including the workstation I was planning on using to fix it!

I was more than a bit stunned. Lucky for me, my old laptop was on a static IP address; unlucky: Bitwarden password manager has been a pain on that machine as of late, so I had to copy it manually from elsewhere. Once I was in, I reverted the DNS settings to automatic and most computers recovered by toggling network off and on (or rebooting) to refresh the automatic DHCP settings.

Upstairs Workstation

A while back, I rigged up a Raspberry Pi to work as a Wi-Fi catcher/subnet router, and it’s served me well up to this point. I switched its static, subnet-facing IP so it didn’t conflict with the one now claimed by the router, but as Iwas researching how to adjust its DHCP settings for the new subnet, I noticed its base operating system is at least months past end-of-life.  

Takeaway

I need to stop quoting optimistic worst-case scenarios. Gremlins can and will make a fool of me. On the other hand, I’m very thankful I had my laptop-server still able to navigate the crippled network with its static IP.  

I’ll be keeping the router where it is and see how saving the band of 192.168.0.* for static IP’s plays out. I guess I have the rest of this month’s projects planned out…

Final Question

What is the biggest computer oops you’ve ever had (and recovered from)?

Furthermore

I had a small adventure getting this post from LibreOffice on my upstairs workstation over to my blog without Internet. The way my filesystem is set up, it the save feature hangs badly when a mounted network drive doesn’t respond. I ended up using a .txt file on a thumb drive, and dumping it to the command line with cat, a terminal program to concatenate.

I’m Learning Puppy Linux

Good Morning from my Robotics Lab! This is Shadow_8472 and today I am overhauling an old Windows XP machine with a tiny distro called Puppy Linux. Let’s get started!

About Puppy

Tiny Linux distributions have reduced complexity – meaning fewer distractions from the core functionality of your system, which makes them work great as a learning environment. I learned the Linux terminal on MicroCore Linux building upon previous experience from using commands in games like Minecraft. I aimed a bit too high and stalled when I wasn’t ready to start repackaging software, but I still consider that period one of the most productive projects regardless.

Another good use for miniature Linux distros is old computers. Specialty software, like commercial quality games, may pose an extra challenge to locate and install various libraries found in general purpose systems, but if all you need is a browser and a basic office suite, a refurbished system with a slim OS may be all you need.

The first thing I learned coming back to Puppy was that it’s a whole branch of Linux distributions and has been for some time [1]. Even a distro outside the definition of puppy/puplet/etc. may still be considered part of the family if it follows certain principles Puppy is built upon.

Exploring Puppy

My project this week is on an old church office computer running Windows XP Professional 32 bit on a 64 bit CPU. It has 2GB DDR2 RAM and a pair of 150GB HDD’s configured in a BIOS-level “Intel ARRAY” (mirrored per RAID 1, but not in name) with a 100 GB main partition, a 50GB partition labeled backup, and a couple tiny partitions for system files/recovery files respectively.

One talking point from Puppy’s site is how “Grandpa friendly” it is and how active the community is. I went ahead with making an account on the forum, left a request for a most user-friendly puppy overnight in the new users’ section. I never gotten so much help so fast. Consensus was that I should try Friendly Fossa 64-4 once I brought up that I was interested in burning it to CD – my third download after the base Fossa 64 and Friendly Fossa 64-2; all install .ISO’s are dropped onto my Ventoy multi-boot USB.

It’s amazing what built-in help can do for a system in terms of user-friendliness! Both Friendly variants each had a conspicuous help directory on their desktops, which the official Fossa64 build lacked. I’m impressed with how easy answers seem to be if I just take the time to explore those, various settings, or miscellaneous tooltips. This is a distro for people who aren’t ready for the command line. I just haven’t successfully loaded a pupfile (computer session save file) yet.

were a big improvement over their official Fossa 64 build thanks to a conspicuous directory on the desktop and various other help tooltips. I’m impressed with how easy it is to find my own answer if I just explore. I’m not a fan of the exact graphical style, but if ever there were one distro for people scared of the command line, this would be it – provided I can figure out how to load a pupfile.

Puppy works by copying everything into RAM. It first loads a base image, then modifies it with a “pupfile” made using that image when you shutdown and save a session. If I understand things correctly, you should only save sessions where you tweak system settings. Otherwise, data goes on mounted drives, where it stays regardless of pupsaves. I could be wrong though. Either way, this makes it almost trivial to flush out a virus by rebooting.

So far, I’ve burned the install media to CD and done a lot of exploring. I will need to come back to this.

Takeaway

I’m not a fan of the exact graphical style, and I still have much to learn. While Puppy takes a massively different approach to personal computing than mainstream operating systems, it’s overall one I can see myself recommending to people looking to learn Linux.

Final Question

What is the most unusual computer configuration you’ve used?

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

Works Cited

[1] Puppy Linux Team, “About Puppy Linux,” puppylinux-woof-ce.github.io 2020. [Online]. Available: https://puppylinux-woof-ce.github.io/. [Accessed: Jan. 2, 2023].

GPG is Still Beyond Me

Good Morning from my Robotics Lab! This is Shdadow_8472, with a side project. Let’s get started!

While downloading a new-to-me distro this week, I again was wall-of-text’ed to a halt by GPG. GNU Privacy Gurad is a technology no new and serious Linux enthusiast user can go six months without slamming into. The specifics of how it works are in about every tutorial that shows you the basics – which invariably never includes an instruction set I can understand regarding file verification, and I make it a point to attempt concepts I find difficult, but important whenever they come up.

I’m still not yet successful, but here is what I’ve learned: web of trust. I trust Dan. Dan trusts Stella. Stella trusts George. I don’t know George, but he has a file I want to ensure is authentic after downloading. Through the chain of trust I’ve established, I can trust George’s cryptographic signature based of his private key, and the file I’ve downloaded from him when I use George’s matching public key to verify it.

My understanding of GPG this week has gone from “clear as swamp water” to “clear as stained glass.”

Final Question

On a previous GPG attempt, I learned about centralized key servers, but I’m still clueless about their practical use. How in the world does one enter one of these “webs of trust?”

I Choose AnySoftKeyboard as My Android Keyboard.

Good Morning from my Robotics Lab! This is Shadow_8472, and today I’m finalizing my decision on an Android Keyboard. Let’s get started!

AnySoftKeyboard (ASK) is not the perfect keyboard for me. As I stated last week, the default (Googled) keyboard that came with my tablet is my control test for user experience. The only visible features I find it lacking are up/down keys and a dark mode. ASK offers both of these, but offers additional features I need to grow into.

Unlike other keyboards I tried, ASK is especially flexible if you don’t move on before you’ve explored the depths of its settings app. Buried within its confines are a number of prebuilt top and bottom key rows – around a dozen each. The most unintuitive feature for me was a list of swipe gestures I could safely ignore if it wasn’t key for switching keyboards on-the-fly. I even found a “developer mode” with 41 different types of text fields to test how the keyboard behaves.

My biggest standing complaint with ASK is the confusion over exactly what is a “language.” Installable ASK languages appear to be plugins for key mapping/dictionary pairs, while Android’s installed languages menu brings up a set of all installed on-screen keyboard programs. ASK’s definition is the better descriptor, but a multilingual end-user who only cares that things work will accept Google’s definition before something more descriptive like “keyboards.”

Special thanks to muneyotxi for showing patience while educating me about ASK’s less obvious features – namely long-pressing the Return key for a faster access to keyboard app switching.

Final Question

AnySoftKeyboard is an almost trivial tweak to Android I would recommend for anyone thinking about digital privacy. What other raw beginner level tips do you have to share?

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

I Don’t Want to Use Manjaro Anymore

Good Morning from my Robotics Lab! This is Shadow_8472, and today, I am scoping out Arch Linux for install on a daily driver. Let’s get started.

Majaro done did it this time. With every bad update I get, I’m more keen to listen to the people calling out its mistakes. Recently, an update broke around three pieces of software I use – including one I need for an upcoming project. Let’s spend a week or few installing Arch!

Arch Linux: Pre-Install Impressions

Arch is a major Linux distribution heading a branch of other distributions, similar to Debian or Fedora (of the Red Hat branch). Its userbase has an elitist reputation like the ability to install Arch makes them smarter or something, but I’m sure it’s just for the memes. My understanding going into this project is that Arch Linux is less a “Here is an operating system to install” and more “Here are the components, install what you need. If you don’t know what you need, check the wiki [1]. It’s one of the best.” Thus: people who use arch [by the way] have only proved they know how to follow instructions.

Arch Linux has two primary resources: archlinux.org [2] and wiki.archlinux.org [1]. Additionally, I’m following a tutorial by Learn Linux TV on Arch installation [3]. One afternoon on the Arch Wiki, and I can tell this is looking like a longer project. I’ll be lucky to have my installation media and basic install.

The Arch community is smaller than other distributions, and therefore places a heavier emphasis on users contributing back. Given the more technically inclined user base Arch caters to, it’s a more reasonable of an expectation than it sounds like at first glance.

Choices Before Install

As noted above, Arch is a distribution that highly values customizability. Browsing the wiki turns up a slew of names I’ve seen while troubleshooting. Every little part that can go into an operating system one never thinks of until it’s not working properly is on display here. While I intend to go for a complete desktop environment at this time, I could totally spend months building something truly unique if I had the patience to learn each piece – perhaps starting with a window manager as different from what you typically find on phones and desktops as they are from each other, maybe something that doesn’t use the mouse outside a program. I’m not ready for that though.

One major choice made before even download is if you want to install for a BIOS vs UEFI (or on an encrypted drive). BIOS almost needs no introduction – almost. Some version of the Basic Input Output System can be found on most desktop computers made since around 1980 and on into the new millennium. BIOS runs directly on a computer’s motherboard the moment power turns on. Its job is to start the boot loader, and manage system I/O until shutdown. It has become so ubiquitous that even having grown up around computers, I only recently realized the word is a proper name like “Linux” as opposed to describing its purpose per the term “operating system.”

It’s taken fifty-some-odd years, but BIOS replacement UEFI is the de-facto successor that addresses these limitations. UEFI boots drives beyond 2.2 terabytes, with its limitations on the 2022 scale of the Internet in exabytes. Unconfined to 16 bit operations, UEFI can afford things like a nicer interface with mouse support. Like it for its additional utilities or hate it for being closed source and Internet capable, it’s what most people are stuck with going forward.

Takeaway

Installing Arch is a much larger task than I originally gave it credit for. From what I have seen, it is the distribution I would recommend for people looking to learn how to assemble a Linux system once they are familiar with the command line. I expect this project to take my Linux problem solving skills to the next level.

Final Question

What is the deepest you have gone into your favorite operating system?

Works Cited

[1] wiki.archlinux.org, [Online]. Available: https://wiki.archlinux.org/. [Accessed Oct. 17, 2022].

[2] J. Vinet, A. Griffin, and L. Polyák. archlinux.org, 2002-2022. [Online]. Available: https://archlinux.org/. [Accessed Oct. 17, 2022].

[3] Learn Linux TV, “Arch Linux: Full Installation Guide – A complete tutorial/walkthrough in one video!,” youtube.com,March 31, 2021. [Online]. Available: https://youtu.be/DPLnBPM4DhI. [Accessed Oct. 17, 2022].