1
submitted 2 years ago* (last edited 2 years ago) by to c/linux@lemmy.ml
 
 

You're about to take your first steps in the wonderful world of Linux, but you're overwhelmed by the amount of choices? Welcome to this (I hope) very simple guide :)

The aim of this guide is to provide simple, clear information to ease your transition as a beginner. This is not a be-all-end-all guide nor an advanced guide. Because there is a lot of info and explanations everywhere, I will often (over-)simplify so as to keep the information accessible and digestible. Please refrain from asking to add your favorite distro/DE in the comments, I feel there is too much choice already ;)

Preamble

Make sure your hardware is compatible

Nowadays most relatively recent hardware works perfectly fine on Linux, but there are some edge cases still. If you don't use niche hardware and your wifi card is supported, chances are you're golden. Please note that nVidia is a bad faith player in the Linux world, so if you have a GeForce GPU, expect some trouble.

Make sure your favourite apps are either available or have a good replacement on Linux

If some proprietary app is essential to your workflow and is irreplaceable, consider running it in a VM, keeping a Windows partition for it or try and run it through Wine (this is advanced stuff though).

Be aware that Linux is not Windows/MacOS

Things work differently, and this is normal. You will probably struggle at the beginning while adjusting to a new paradigm. You may have to troubleshoot some things. You may break some things in the process. You will probably get frustrated at some point or another. It's okay. You're learning something new, and it can be hard to shed old habits forged by years on another system.

When in doubt, search for documentation

Arch Wiki is one of the greatest knowledge bases about Linux. Despite being heavily tied to Arch, most of its content is readily usable to troubleshoot most modern distros, as the building blocks (Kernel, systemd, core system apps, XOrg/Wayland, your DE of choice etc.) are the same. Most distros also maintain their own knowledge base.

Understanding the Linux world

What is Linux?

Linux, in the strictest definition, is the kernel, ie. the core component that, among other things, orchestrates and handles all interactions between hardware and software, of a large family of operating systems that, by metonymy, are called "Linux". In general understanding, Linux is any one of these operating systems, called distros.

What is a distro?

A distro, short for "Software Distribution", is a cohesive ensemble of software, providing a full operating system, maintained by a single team. Generally, all of them tend to provide almost the same software and work in a very similar way, but there are major philosophical differences that may influence your choice.

What are the main differences between distros?

As said above, there are a lot of philosophical differences between distros that lead to practical differences. There are a lot of very different ways the same software can be distributed.

  • "Point Release" (OpenSUSE Leap) vs. "Rolling Release" (OpenSUSE Tumbleweed): Point release distros are like traditional software. They have numbered releases, and between each one no feature updates take place, only security updates and bug fixes. Rolling Release distros package and distribute software as soon as it's available upstream (the software developer's repos), meaning that there are no versions and no specific schedule.
  • "Stable" (Debian Stable) vs. "Bleeding edge" (Arch): Stable distros are generally point release, and focus on fixing bugs and security flaws at the expense of new features. Each version goes through a lenghty period of feature freeze, testing and bug fixing before release. Stability here not only means trouble-free operation, but more importantly consistent behavior over time. Things won't evolve, but things won't break. At least until the next release. Bleeding edge distros, which often follow the rolling release model (there are outliers like Fedora which are mostly bleeding edge yet have point releases), on the other hand, are permanently evolving. By constantly pushing the latest version of each software package, new features, new bugs, bug fixes, security updates and sometimes breaking changes are released continuously. Note that this is not a binary, there is a very large continuum between the stablest and the most bleeding edge distro.
  • "Community" (Fedora) vs. "Commercial" (RHEL): Despite the name, Community distros are not only maintained by volunteers, but can also be developed by some company's employees and can be sponsored by commercial entities. However, the main difference with Commercial distros is that they're not a product destined to be sold. Commercial distros like Red Hat's RHEL, SuSE Linux Enterprise or Ubuntu Pro are (supposed to be) fully maintained by their company's employees and target businesses with paid support, maintenance, fixes, deployment, training etc.
  • "x package manager" vs. "y package manager", "x package format" vs. "y package format": It doesn't matter. Seriously. apt, dnf or pacman, to name a few, all have the exact same purpose: install and update software on your system and manage dependencies.
  • "general purpose" (Linux Mint) vs. "niche" (Kali Linux): General purpose distros are just that: distros that can do pretty much anything. Some are truly general purpose (like Debian), and have no bias towards any potential use, be it for a server, a desktop/laptop PC, some IOT or embedded devices, containers etc., some have various flavors depending on intended use (like Fedora Workstation for desktops and Fedora Server for, you guessed it, servers) but are still considered general purpose. They aim for maximum hardware compatibility and broad use cases. At the opposite end, niche distros are created for very specific and unique use cases, like pentesting (Kali), gaming (Nobara), music production (AV Linux) etc. They tend to have a lot of specific tools preinstalled, nonstandard defaults or modified kernels that may or may not work properly outside of their inteded use case.
  • "team" (Any major distro) vs. "single maintainer" (Nobara): Pretty self explanatory. Some distros are maintained by a single person or a very small group of people. These distros do not usually last very long.
  • "traditional" (Fedora Workstation) vs. "atomic" (Fedora Silverblue): In traditional distros, everything comes from a package. Every single component is individually installable, upgradeable, and deletable. Updating a package means deleting its previous version and replacing it with a new one. A power failure during an update lead to a partial upgrade and can make a system unbootable. Maybe a new package was bad and breaks something. Almost nothing prevents an unsuspecting user from destroying a core component. To mitigate risks and ensure a coherent system at each boot, atomic (also called transactional or immutable) distros, pioneered by Fedora Silverblue and Valve's SteamOS, were born. Like mobile phone OSes, the base system is a single image, that gets installed, alongside the current running version and without modifying it, and becomes active at the next reboot. As updates are isolated from one another, if the new version doesn't work the user can easily revert to a previous, functional version. Users are expected to install Flatpaks or use Distrobox, as installing (layering) packages is not as straightforward as with standard distros.
  • "OG" (Debian) vs. "derivative" (Ubuntu): Original distros are directly downstream of their components' source code repositories, and do most of the heavy lifting. Because of the tremendous amount of work it represents, only a few distros like Debian, Arch, Slackware or Fedora have the history, massive community and sometimes corporate financial backing to do this. Other distros reuse most packages from those original distros and add, replace or modify some of them for differenciation. For example, Debian is the parent of almost all deb-based distros like Ubuntu, which itself is the parent of distros like Mint or Pop!_OS.

What are the main components of a distro, ie. a Linux-based operating system?

All distros provide, install and maintain, among other things, the following components:

  • Boot and core system components (these are generally out-of-scope for beginners, unless you need to fix something, but you should at least know they exist):
    • A boot manager (GRUB, systemd_init, etc.): Boots the computer after the motherboard POSTs, lets you choose what to start
    • An init system (systemd, etc.): Starts everything needed to run the computer, including the kernel
    • A kernel (Linux): Has control over everything, main interface for software to discuss with hardware
  • Command-line environment, to interact with he computer in text mode:
    • A shell (bash, zsh, fish etc.): The main interface for command-line stuff
    • Command-line tools (GNU, etc.): Standard suite of command-line tools + default tools chosen by the distro maintainers
    • User-installable command-line tools and shells
  • Graphical stack for desktop/laptop computers:
    • Display servers (X11, Wayland compositors): Handle drawing stuff on screens
    • A Desktop environment (Plasma, Gnome, XFCE etc.): The main graphical interface you'll interact with everyday.
    • User-facing applications (browsers, text processors, drawing software etc.): Some are generally installed by default and/or are part of a desktop environment's suite of software, most are user-installable.
  • A package manager (apt, dnf, pacman, yast etc.): Installs, deletes, updates and manages dependencies of all software installed on the machine.

Which are the main Desktop Environments and which one should I choose?

As a new user, this is basically the only thing you should concern yourself about: choosing a first Desktop environment. After all, it will be your main interface for the weeks/years to come. It's almost as important as choosing your first distro. These are a few common choices that cater to different tastes:

  • Gnome: Full featured yet very minimalist, Gnome is a great DE that eschews the traditional Desktop metaphor. Like MacOS, out of the box, it provides its strongly opinionated developers' vision of a user experience. Fortunately, unlike MacOS, there are thousands of extensions to tweak and extend the looks and behaviour of the DE. Dash-to-dock or Dash-to-panel are great if you want a more MacOS-like or Windows-like experience, Blur My Shell is great if you love blurry transparent things, Appindicator is a must, and everything else is up to you. Gnome's development cycle is highly regular and all core components and apps follow the same release schedule, which explains why a lot of distros choose it as their default DE.
  • KDE Plasma: Full featured and maximalist, Plasma does not cater to a single design philosophy, is very flexible and can be tweaked almost ad infinitum. This may be an advantage for people who like to spend hours making the perfect environment, or a disadvantage as the possibilities can be overwhelming, and the added complexity may compromise stability, bugginess or completeness. There is not yet a single development cycle for core components and apps, which makes it a bit more difficult for distro maintainers and explains why there are so few distros with Plasma as the flagship DE. The KDE team is however evolving towards a more regular update cycle.
  • Cinnamon: Forked from Gnome 3 by the Linux Mint team who disliked the extreme change of user experience it introduced, Cinammon provides a very traditional, "windows-like", desktop-metaphor experience in a more modern software stack than the older DEs it takes inspiration from. Cinnamon still keeps a lot in common with Gnome by being simple and easy to use, yet heavily modifiable with themes, applets and extensions.
  • Lightweight DEs for old or underpowered machines: The likes of XFCE, LXDE, LXQt are great if you want to ressurect an old machine, but lack the bells and whistles of the aforementioned DEs. If your machine is super old, extremely underpowered and has less than a few Gb of RAM, don't expect miracles though. A single browser tab can easily dwarf the RAM usage and processing power of your entire system.

As for which one you should choose, this is entirely up to you, and depends on your preferences. FYI, you are not married to your distro's default desktop environment. It's just what comes preinstalled. You can install alternative DEs on any distro, no need to reinstall and/or distro-hop.

How do I install stuff on Linux?

Forget what you're used to do on Windows of MacOS: searching for your software in a seach engine, finding a big "Download" button on a random website and running an installer with administator privileges. Your package manager not only keeps you system up to date, but also lets you install any software that's available in your distro's repositories. You don't even need to know the command line, Gnome's Software or Plasma's Discover are nice graphical "App Stores" that let you find and install new software.

Flatpak are a great and more recent recent alternative to distro packages that's gaining a lot of traction, and is increasingly integrated by default to the aforementioned App Stores. It's basically a "universal" package manager system thet sits next to your system, that lets software developers directly distribute their own apps instead of offloading the packaging and distribution to distro maintainers.

Choosing a first distro

As discussed before, there is a metric fuckload (or 1.112 imperial fucktons) of distros out there. I advise you to keep it as mainstream as possible for your first steps. A distro with a large user base, backed by a decently large community of maintainers and contributors and aimed at being as fuss-free as possible is always better than a one-person effort tailored to a specific use-case. Choose a distro that implements well the DE of your choice.

What are great distros for beginners?

The following are great distros for beginners as well as more advanced users who just want to have a system that needs almost no configuration out of the box, just works and stays out of the way. Always read the installation documentation thoroughly before attempting anything, and follow any post-install requirements (for example, installing restricted-licence drivers on Fedora).

  • Fedora Workstation: Clean, sensible, modern and very up to date and should work out of the box for most hardware. Despite being sponsored by Red Hat (who are getting a lot of justified hate for moving RHEL away from open-source), this is a great community distro for both beginners and very advanced users (including the Linus Torvalds). Fedora is the flagship distro for the Gnome Desktop Environment, but also has a fantastic Plasma version. Keywords: Point Release, close to Bleeding Edge, Community, dnf/rpm, large maintainer team, traditional, original.
  • Linux Mint: Mint is an Ubuntu (or Debian for the LMDE variant) derivative for beginners and advanced users alike, that keeps Ubuntu's hardware support and ease of use while reverting its shenanigans and is Cinammon's flagship distro. Its main goal is to be a "just works" distro. Keywords: Point Release, halfway between Stable and Bleeding Edge, Community, apt/deb, smallish maintainer team but lots of contributors, traditional, derivative (Ubuntu or Debian).
  • Pop!_OS: Backed by hardware Linux vendor System76, this is another Ubuntu derivative that removes Snaps in favor or Flatpaks. Its heavily modified Gnome DE looks and feels nice. In a few months/years, it will be the flagship distro for the -promising but still in development- Cosmic DE. Keywords: Point Release, halfway between Stable and Bleeding Edge, commercially-backed Community, apt/deb, employee's maintainer team, traditional, derivative (Ubuntu).
  • If you want something (advertised as) zero-maintenance, why not go the Atomic way? They are still very new and there isn't a lot of support yet because they do things very differently than regular distros, but if they wort OOTB on your system, they should work reliably forever. Sensible choices are uBlue's Aurora (Plasma), Bluefin (Gnome) or Bazzite (gaming-ready), which are basically identical to Fedora's atomic variants but include (among other things) restricted-licence codecs and QOL improvements by default, or OpenSUSE's Aeon (Gnome). Keywords: Point Release, Bleeding Edge, Community, rpm-ostree, large maintainer team, Atomic, sub-project (Fedora/OpenSUSE).

Which power-user distros should I avoid as a beginner, unless I reaaaally need to understand everything instead of being productive day one?

These are amongst the very best but should not be installed as your first distro, unless you like extremely steep learning curves and being overwhelmed.

  • Debian Stable: as one of the oldest, still maintained distros and the granddaddy of probably half of the distros out there, Debian is built like a tank. A very stringent policy of focusing on bug and security fixes over new features makes Debian extremely stable and predictable, but it can also feel quite outdated. Still a rock-solid experience, with a lot to tinker with despite very sensible defaults. It is an incredible learning tool and is as "Standard Linux" as can be. Debian almost made the cut to "beginner" distros because of its incredible reliability and massive amount of documentation available, but it might be a bit too involved for an absolute beginner to configure to perfection. Keywords: Point Release, Stable as fuck, Community, apt/deb, large maintainer team, traditional, original.
  • Arch: The opposite of Debian in philosophy, packages often come to Arch almost as soon as the source code is released. Expect a lot of manual installation and configuration, daily updates, and regularly fixing stuff. An incredible learning tool too, that will make you intimate with the inner workings of Linux. The "Arch btw" meme of having to perform every single install step by hand has taken a hit since Arch has had a basic but functional installer for a few years now, which is honestly a good thing. I work in sofware. A software engineer who does every single tedious task manually instead of automating it is a shit software engineer. A software engineer who prides themself from doing every single tedious task manually should seriously reconsider their career choices. Arch's other main appeal is the Arch User Repository or AUR, a massive collection of user-created, automated install scripts for pretty much anything. Keywords: Rolling Release, Bleeding-edge, Community, pacman/pkg, large maintainer team, traditional, original.

Which distro should I avoid, period?

  • Ubuntu: despite having a huge mind-share as the beginner distro, Ubuntu suffers from it's parent company's policy to make Ubuntu kinda-Linux-but-not-really and a second-rate citizen compared to their Ubuntu Pro commercial product. Some of the worst takes in recent years have been pushing Snaps super agressively in order to get some "vendor-lock-in", proprietary walled-garden ecosystem with exclusive commercial apps, forcibly installing snaps even when explicitely asking for a .deb package through apt, baking ads and nags into major software or only delivering critical security patches to Pro customers. Fortunately, there are some great derivatives like Mint or Pop!_OS cited above that work equally well but revert some of the most controversial decisions made by Canonical.
  • Manjaro: Manjaro might seem appealing as a "user-friendlier" Arch derivative and some of its tools are fantastic to remove some configuration burden, but ongoing mismanagement issues and the fact that it needs Arch-style regular maintenance as updates often break stuff prevent it from being a truly beginner distro. Manjaro also has a highly irregular update schedule that's weeks behind Arch, making using the AUR extremely dangerous, as it always expects a fully up-to-date Arch system.
  • Any single-maintainer or tiny team distros like Nobara or CachyOS. They might be fantastic distros made by exceptional people (I have mad respect for Nobara's maintainer Glorious Eggroll and his work on Proton-GE), they are most often derivatives so the heavy lifting is already done by their parent distro's maitainers, but there is too much risk involved. Sometimes life happens, sometimes people move on to other projects, and dozens of small distros get abandonned every year, leaving their users dead in the water. Trusting larger teams is a much safer bet in the long term.
  • Anything that refuse to use standards for ideological reasons like Alpine Linux, Devuan or Artix. Don't get me wrong, not using any GNU tools or systemd is a cool technological feat and developing alternatives to the current consensus is how things evolve. However, these standard tools have a long history, hundreds if not thousands of maintainers and are used by millions, meaning there's a huge chance your specific issue is already solved. Refusing to use them should be reserved to very advanced users who perfectly understand what they're gaining and losing. As a beginner to intermediate level, it will at best make most of the documentation out there irrelevant, at worst make your life a miserable hell if you need to troubleshoot anything.

Philosophical questions, or "I've seen people arguing over the Internet and now I'm scared"

You've done your research, you're almost ready to take the plunge, you even read a lot of stuff on this very community or on the other website that starts with a "R", but people seem very passionately for or against stuff. What should you do?

Shoud I learn the command line?

Yes, eventually. To be honest, nowadays a lot of things can be configured on the fly graphically, through your DE's settings. But sometimes, it's much more efficient to work on the command line, and sometimes it's the only way to fix something. It's not that difficult, and you can be reasonably productive by understanding just about a dozen very simple commands.

I have a very old laptop/desktop, should I use a distro from its era?

Noooo!. Contrary to Windows and MacOS which only work correctly on period-correct computers, Linux runs perfectly well on any hardware from the last 20 to 30 years. You will not gain performance by using an old distro, but you will gain hundreds of critical security flaws that have been since corrected. If you need to squeeze performance out of an old computer, use a lightweight graphical environment or repurpose it as a headless home server. If it's possible, one of the best ways to breathe new life into an old machine is to add some RAM, as even lightweight modern sofware will struggle with less than a few Gb.

Should I be concerned about systemd?

No. In short, systemd is fine and all major distros have switched to systemd years ago. Even the extremely cautious people behind Debian have used systemd as default since 2015. Not wanting to use systemd is a niche more rooted in philosophical and ideological rather than practical or technical reasons, and leads to much deeper issues than you should concern yourself with as a beginner.

Should I be concerned about XOrg/Wayland?

Yes and No, but mostly No. First off, most distros install both Wayland and XOrg by default, so if one is not satisfying to you, try the other. Remember in the preamble when I said nVidia was a bad actor? Well, most of people's complaints about Wayland are because of nVidia and their shitty drivers, so GTX/RTX users should stay on XOrg for now. But like it or not, XOrg is dead and unmaintained, and Wayland is the present and future. XOrg did too many things, carried too many features from the 80's and 90's and its codebase is a barely maintainable mess. X11 was born in a time when mainframes did most of the heavy lifting and windows were forwarded over a local network to dumb clients. X11 predates the Internet and has basically no security model. Wayland solves that by being a much simpler display protocol with a much smaller feature set adapted to modern computing and security. The only downside is that some very specific functionalities based on decades of X11 hacking and absolute lack of security can be lost.

I want to play some games, should I look for a gaming distro?

No. General purpose distros are perfectly fine for gaming. You can install Steam, Lutris, Heroic, Itch etc. and use Proton just fine on almost anything. Even Debian. In short, yes, you can game on Linux, there are great tutorials on the internet.

Should I be concerned about Flatpaks and/or Snaps vs. native packages?

Not really. Flatpaks are great, and more and more developers package their apps directly in Flatpak format. As a rule of thumb, for user facing applications, if your app store gives you the choice between Flatpak and your native package manager version, choose the most recent stable version and/or the one packaged by the developer themselves (which should often be the Flatpak anyway). Snaps however are kinda bad. They are a Canonical/Ubuntu thing, so as long as you avoid Ubuntu, its spins and its derivatives that still include Snaps, you should be fine. They tend to take a lot longer to startup than regular apps or Flatpaks, the snap store is proprietary, centralized and Canonical controls every part of it. Also, Canonical is very aggressive in pushing snaps to their users, even forcing them even when they want to install an apt package. If you don't care, have fun.

I need/want program "x", but it is only available on distro "y" and not on mine. I've been told to ditch my beloved distro and install the other one, should I?

No. Generally, most software is intallable from your distro's package manager and/or Flatpak. But sometimes, your distro doesn't package this program you need, or an inconsiderate developer only distributes a random .deb on their Github release page. Enter Distrobox. It is a very simple, easy to use command line tool that automates the creation of other Linux distros containers using Docker or Podman (basically, tiny, semi-independant Linuxes that live inside your regular Linux), and lets you "export" programs installed inside these containers to you main system so you can run them as easily and with almost the same performance as native programs. Some atomic distros like uBlue's variants even include it by default. That .deb we've talked about before? Spin a Debian container and dpkg install the shit out of it. Absolutely need the AUR? Spin an Arch container and go to town.

Acknowledgements

Thanks to everyone who helped improve this guide: @GravitySpoiled@lemmy.ml, @tkn@startrek.website, @throwaway2@lemmy.today, @cerement@slrpnk.net, @kzhe@lemm.ee, @freijon@feddit.ch, @aarroyoc@lemuria.es, @SexualPolytope@lemmy.sdf.org, @Plopp@lemmy.world, @bsergay@discuss.online ...and many others who chimed in in the comments <3

Link to version 1: https://lemm.ee/post/15895051

2
 
 

Not for the faint of heart

3
 
 

Mirko Brombin, the creator of Bottles, has got Microsoft 365 running on Linux. His posts on X showcase an installation that completes on a Windows 10 or 11 Wine prefix, signs in with his existing license, and launches at least one editor.

He achieved this using two things, an unreleased version of Soda and Bottles 67.4. If you remember, Soda is a Wine-based runner that facilitates easy running of Windows games and applications.

On first glance, what he posted might look like a developer-focused log, but these changes are the foundation of what full Microsoft 365 support via Bottles will one day hopefully look like.

The results of his work

Mirko was able to login into the MS 365 app using his credentials and was able to launch MS Word and use it. Of course that's not the only thing he got working; since two-factor authentication passed, the suite detected his license, and OneDrive integration was functional.

The memory footprint of the office suite was less than 500MB, so this should be light on your Linux system.

The build he is currently testing is 2608 (20326.20144), which he says is the last build the installer will offer for Windows 10 and 11. And before you get all hyped up, wanting to try this out on your computer, know that you will have to wait.

Soda 11.0-11 (error 404 for now) has no release yet, and the component catalog that ships with Bottles 67.4 stops at Soda 11.0-10. Even the long-standing community request for a Microsoft Office installer in Bottles is still open.

Do we need Microsoft 365 on Linux?

Till date, there's not been an official Linux desktop build of Microsoft 365, and seeing how Microsoft currently operates, I don't expect one to appear anytime soon.

What's been achieved here is remarkable. Once fully implemented, this will help draw in people into Linux, as many shudder at the thought of switching to the platform because their preferred office suite doesn't work here.

For context, CodeWeavers sells a paid Wine product, CrossOver, and its database still lists Microsoft Office 365 on Linux as "Installs, Will Not Run," last tested against CrossOver 26.3.0.

Which is why I hope the fix travels further than Bottles. Wine sits beneath every one of these projects, including Soda. So a patch that lands upstream reaches all of them at once, and you would not need a particular runner to get Office working.

4
 
 

Two new apps are coming to Linux Mint later this year: a new calendar and eBook reader.

Plus, the Ubuntu-based Linux distribution has redesigned its (overlooked) document hub, Library, to make it easier to find and manage documents scattered across you device from one place.

Both new apps join the XApp Project, Linux Mint’s collection of home-grown, cross-desktop GTK apps (which now has a new website wearing the popular Claude design aesthetic).

Clockenstien is Mint’s new Calendar app

Clockenstein is Linux Mint’s new calendar app but, lest anyone scream in horror at the terrible name, the user-facing label is just Calendar. It replaces GNOME Calendar in Linux Mint’s default software lineup (about time – it was an older, pre GTK4/libadwaita build).

Now a calendar is a calendar. It needs to let you see and browse dates, add events, create calendars for different tasks – things that Linux Mint’s clockenstein can do from the off.

But integration with online services is important since most of us move between devices during the day. So calendars can be entirely offline and kept local, or sync to/from online providers like Google Calendar or through CalDAV via cloud services like Nextcloud.

Clem says the goal was make sure it was always obvious when remote calendars aren’t working and in-sync, so users can tell if something is up. Failing silently isn’t helpful if there’s an important event you assume you’ll get a reminder about, but never do.

“Down in the laboratory, there’s a little more going on”, says Lefebvre.

A background daemon is used to keep remote calendars in sync and check for any upcoming events that have reminders enabled. If there’s an issue, events stay visible but become read-only – you can’t edit or add – until connect is back online.

Reminders are handled via a notification agent. They get shown on the desktop at the appropriate time so you can action or snooze or be reminded later. Backend interfaces allow other desktop environments to interact or replace the notification agent.

Book Reader ePub viewer

The new Book Reader (xepub) app is designed (surprise) for opening ePub files. It looks to offer a clean reading experience, that Linux Mint’s Clement Lefebvre says is ‘similar’ to a Kindle or a Kobo. It also keeps track of where you are in a book so when you re-open it, you can resume reading.

Features wise, it will offer what you’d expect: chapter and page navigation, full-text search and bookmarks, as well as adjustable page zoom and font options. An annotations feature lets you highlight selections of text, with a colour, and add notes.

Finally, an internal look-up system lets you select a word and ferry it to a search engine (wikipedia, dictionary, etc) to find out more about it. Library gets a dust off Linux Mint's Library app showing document filtersThingy – a personal document hub

Linux Mint has also redesigned its Library document manager, which you may know by the package name thingy.

Documents are now grouped by file type, rather than the app that opens them. So, for instance, you can see just your PDF files in one view, rather than finding them scattered amongst all files the the default document viewer XReader handles.

Common file types are listed in the Library sidebar, but you choose what’s shown and in one order. And, more usefully, you can create your own custom groups that contain a mix of different file types, and even specify them from specific folders.

When can I get the new apps?

Linux Mint’s new Book Reader and Calendar apps will make their official debut in Linux Mint 23, expected to arrive towards the end of the year. That release will also ship with the new and improved Library app too.

Plus, other changes the team has revealed and teased to date (and, no doubt, a few still to come).

If you don’t want to wait, the source code is up on GitHub (each linked in their respective paragraphs above). You can check them out (pun klaxon) to test, and file any issues you find or glaring feature requests you may have.

Exciting stuff!

5
 
 

KaOS 2026.09 is now available as the second stable ISO of the independently developed, Qt-focused Linux distribution, fully based on Dinit, and marks another step away from systemd and KDE Plasma.

The new release uses a startup stack built around Dinit, Turnstile, and seatd for system startup, sessions, and services. Systemd components are now used mainly for udev and tmpfiles. Elogind remains only to provide Polkit integration.

For logins, KaOS has switched to greetd with the console-based Tuigreet as the default display manager. A new Noctalia-based graphical greeter is also available in the repositories, although the developers say it is not yet as complete as Tuigreet.

On the desktop side, KaOS continues its move toward a Niri and Noctalia-based environment. The ISO ships with Niri 26.04 and Noctalia 5.1. Noctalia brings a new screenshot region editor with annotation tools, ModemManager support for mobile data, and collapsible groups in the settings interface.

The distribution remains firmly focused on Qt applications and, according to the project, the new ISO is still GTK-free.

One of the biggest changes, however, concerns KDE Plasma. Plasma 6.7 remains fully available in the repositories, but KaOS has confirmed that it will be the final Plasma series offered by the distribution.

Once KDE Plasma moves to version 6.8, Plasma packages will be removed from the KaOS repositories. The project says this decision is tied to the broader move away from systemd and its preference for the Niri/Noctalia setup going forward.

KaOS 2026.09 also includes a substantial refresh of the underlying system. According to the developers, roughly 70% of the distribution was rebuilt during the past two months because several major updates were held back until the Dinit transition was completed.

Among the updated components are Linux kernel 7.1, GCC 15.3, glibc 2.43, Binutils 2.46, Mesa 26.2, PipeWire 1.6.8, GStreamer 1.28, OpenSSH 10.5, Rust 1.98, CMake 4.4, ZFS 2.4.4, MariaDB 12.3.3, and Poppler 26.09.

Another notable change is the bootloader. Limine is now the default, while systemd-boot has been removed as an installation option. Other UEFI bootloader choices remain available through the Calamares installer.

Speaking of Calamares, it has also been updated so that it can now operate fully under a pure Wayland session, including fixes needed to restore text input in QML-based installer modules such as user creation.

Among the newly added packages are noctalia-greeter, umbriel, xdg-desktop-portal-umbriel, wlroots, and openrc-settingsd. Audacity 4 has also returned to the repositories now that it is Qt 6-based, replacing Tenacity.

For storage, automated partitioning in Calamares continues to support XFS, EXT4, Btrfs, and ZFS. XFS remains the default filesystem for the ISO.

Users planning to test KaOS 2026.09 in VirtualBox should note that 3D acceleration and the VMSVGA graphics controller are required due to the distribution’s Wayland-based desktop. The developers warn that the system will not boot in VirtualBox without this configuration.

There are also a few known limitations. RAID installations are currently unavailable, XFS cannot be used for BIOS installs because of a GRUB compatibility issue, and some privilege escalation actions may not work because Polkit has not yet been fully adapted to the Turnstile/seatd stack.

Lastly, KaOS warns that its installation images do not support Ventoy, Rufus, or UNetbootin for creating bootable media, so users should follow the project’s official installation-media instructions instead.

For more details, see the official KaOS 2026.09 release announcement.

6
submitted 5 hours ago* (last edited 5 hours ago) by to c/linux@lemmy.ml
7
8
 
 

What would you do if you bought some capable hardware that you really like, but there’s no Linux distribution that runs well on it?

When Jason Perlow found himself in that predicament, he broke out some tools and built his own Linux distribution to fully support it. He’s calling the distro NCZ-OS, and it currently supports arm64 machines, with a specific focus on the CIX Sky1 platform, targeting Radxa Orion O6/O6N and Minisforum MS-R1 devices. Support for OrangePi systems is currently under validation.

He’s not stopping there. He’s now working on getting it to work on some older hardware that’s been stranded by Microsoft and Apple.

If Perlow’s name seems familiar, there’s a reason for that. For years his byline graced articles on sites such as CNN, Linux Magazine, ZDNet, and others. He’s also spent stints as an employee at the Linux Foundation, Microsoft, and IBM. Some of you might also know him for his foodie videos.

“I think the story here is interesting because I have heavily used AI pair-programming tools (Codex, Claude, OpenCode/Goose/Pi) to put this distro together, along with Yocto as the build system,” he told me in a conversation that took place via email. “This would have been basically impossible for a single person to do five years ago.”

Making Linux Safe for Arm CIX Sky1

In some ways the project harkens back to the 1990s, when coders were working to build GNU/Linux distributions that would work on whatever hardware they had laying around and needed to get it to work on.

“I bought a Sky1-based system,” Perlow said. “It was an attractive piece of hardware for $600 — 64GB RAM, 12 cores, GPU, and NPU. When it arrived, a lot of stuff wasn’t working out of the box. I decided to keep it and not return it, and see if I could get it to do as advertised. I now own two (Minisforum, Radxa) with a third on the way (OrangePi).”

NCZ-OS originally used an Ubuntu base, but now starts with the arm64 port of Debian testing (forky). It uses a customized Debian installer with a bit of built-in failsafe: the base system is installed directly from the image, doing away with issues, like maybe an iffy network connection or unreachable mirror.

“The goal is specific: make the SoC’s accelerators work under a current kernel and a fully Wayland desktop,” he said. “On new Arm silicon the accelerators are usually the last thing to work and often the thing that never does, with the GPU falling back to software and the NPU and video engine present only as device nodes nothing can drive. Closing that gap is the point of the project.”

There have been numerous workarounds necessary to get the OS working to his liking. That’s not surprising. According to Perlow, the CIX Sky1 is not only new technology, it was apparently initially designed for China’s domestic smartphone market, so architecturally it has more in common with a phone-class system-on-chip than a conventional PC. Although it’s supported by some other distros, the support is incomplete.

“NCZ-OS is not the only option and I would not want to suggest otherwise,” he said. “Armbian maintains a CIX board family, Radxa publish Debian and Fedora images for the Orion O6, Ubuntu has a concept image, and CIX publishes an SDK and is upstreaming core SoC support, which matters more in the long run than any downstream image. A community project, Sky1-Linux, assembled kernel and GPU packaging and drew genuine interest, though its repositories have had no activity since March 2026.

“What differs here is the scope of what is made to work on one image, and the practice of measuring each claim on hardware before making it,” he added.

Perlow isn’t stopping with NCZ-OS as a specialized Arm distro. He’s working on a specialized x86 version too.

“The x86 target is deliberate rather than opportunistic, and it is the one I care most about,” he said.

He’s attacking x86 on two fronts, starting with enabling full desktop support for older Macs that were built before Apple said goodbye to Intel and x86 in 2020.

“I have been a committed Mac user since leaving Microsoft in 2017, and none of the Linux desktops I’ve used since then has given me a compelling reason to switch,” he said. “I own an Intel Mac from 2020 which is largely abandonware, with the exception of the T2 kernel being developed [a Linux kernel with patches or drivers for T2-equipped Macs], but there is no distribution that really is tuned for it. They all kind of stop at the kernel and are the same Ubuntu or Arch or whatever distro experience everyone else gets.”

“That’s not a bad thing necessarily,” he added, “but I think you need a compelling reason for end users with older systems to switch to Linux more than ‘my abandoned hardware now works.’ That doesn’t pull millions of systems necessarily out of the e-waste pile.”

Mac branded x86 machines that were manufactured in the years leading up to Apple’s change to its own chip design are still capable today, Perlow pointed out, but they need a specific kernel patch series to make the keyboard, trackpad, audio, and networking work.

“That series exists and is maintained by the t2linux community,” Perlow said. “Carrying such a series on a current base is the same task this project already performs for Sky1, which is why it is a realistic target rather than a wish.” A Wintel 10 Lifejacket Too…

There’s more in Perlow’s sights than specialized Arm and old Apples.

“I also have several Windows 10 laptops that are perfectly good but also abandonware — right now they are servers, I don’t like the Linux desktops that exist today. I want to develop a fully modernized distribution that is open source but also delivers an end user experience that doesn’t compromise and ‘just works.'”

“The Steve Jobs approach,” he added. “That’s a very lofty thing for one person to try to do. I’m no Google — but I’m arrogant and motivated…”

He’s talking, of course, about Windows 10 machines with modern specs that couldn’t make Microsoft’s cut for the upgrade path to Windows 11. Official support for Windows 10 from Redmond ended last October, although in some cases extended support remains available through October 2027.

NCZ-OS’s desktop environment is Singularity, which is not a Windows clone by any stretch, but offers a conventional layout that won’t confuse Windows (or Mac) users. It’s from Italy-based Mirko Brombin, whose tech resume checks multiple boxes, including UI/UX designer, open-source developer, and Linux project founder. He’s probably best known as the creator of the popular Wine front end, Bottles, and the Debian-based Linux distribution Vanilla OS.

For the x86 version, Perlow said he intends to use the same Debian Forky base, installer, and Singularity Wayland desktop, paired with a Yocto-built Linux 7.2 kernel.

“The initial targets include T2-equipped Intel Macs from 2017-2023 and capable Windows 10 systems that cannot officially move to Windows 11,” he said. “The goal is the same on both Arm and x86: support as much hardware acceleration as possible and deliver a modern, cohesive experience rather than merely making abandoned hardware boot Linux. I expect the x86 work to be easier, although hardware has a habit of punishing statements like that.”

Release information and downloads are available on GitHub.

9
submitted 22 hours ago* (last edited 22 hours ago) by to c/linux@lemmy.ml
 
 

Found a lot of interesting softwares in there, I might make a list of interesting and potentially useful softwares I discovered

10
Flathub Mistake (lemmy.today)
submitted 18 hours ago by to c/linux@lemmy.ml
 
 

I was talking with a friend about Linux, getting him interested and all that. He was taking to it. I told him about Flathub and since we were in front of a computer he just instantly searched it in the URL bar and figured it was a .com address. We were both caught quite off-guard when a different type of site appeared hahaha. Flathub.org is the correct Linux related site but can be easily mistaken for porn

11
 
 

Protest against the Omarchy/Omacom Foundation and the tech companies and executives funding far-right open source.

12
submitted 1 day ago* (last edited 1 hour ago) by to c/linux@lemmy.ml
 
 

Note that i made this for myself and just my first time sharing an application i made here

Came up with this application with one aim in mind...To Control daily limit for myself as my doomscrolling had worsened quite a lot even while working. So decided to make this as an alternative to Digital wellbeing on Android.

It supports:

focus mode

per app daily limits

background daemon

so far i was able to make it work only on GNOME mutter and all x11 because that is my system...will consider updating in future if this receives positive reviews

I use fedora 44 workstation and it runs perfectly for me...and also tied it on manjaro and linux mint on my VMs with x11 , worked there too....so please check for yourselves and do tell me how it goes

NOTE: if you are a dev then please feel free to contribute

GitHub Repository link: https://github.com/adityakrishnan005-a11y/ScreenGuard


AI Disclosure:

Implementation: Manual, Codebase: Manual, Debugging: Assisted, Documentation: Assisted, Packaging: Generated (especially for the Arch custom repository for convenience in updates)

13
14
 
 

basically something like smarttube but on linux

15
 
 

Omarchy should not matter. But sadly it does. As a power grab.

If you don’t know what Omarchy is here’s the short summary. David Heinemeier Hansson, creator of RubyOnRails, owner of a software business and millionaire, decided a few months ago to go all in on Linux and – because that’s just his MO – thought that turning his setup into a project made sense. Omarchy is just that: A pretty standard Arch Linux distribution with a handful of configuration files, that Heinemeier Hansson (or DHH as he is often called) wrote, or vibed or whatever. There is nothing wrong with this, custom, opinionated special purpose distributions have been part of the Linux culture for a long time and provide a lot of value and experimentation that sometimes even flows back to the original project. In a way Ubuntu Linux is just that to the basis Debian.

There’s also nothing wrong in more opinionated software – quite the opposite. I do think that RubyOnRails and similar frameworks gained traction especially because they do have a clear idea of how they see the respective problem domain. There’s even the statement “There should be one – and preferably only one – obvious way to do it” in the Zen of Python. Having a strong point of view is not a bad thing in software or in general. The problem is the kind of points of view DHH has.

I don’t want to go into all the gritty details here, Brennan Kenneth Brown did a great job with their article “Normalized Fascism in Open Source: $12 Million Given to DHH“, but here’s the short version. DHH is a racist and a fascist. He recently wrote articles on how there are [Content Warning: massive racism] too many brown people in London these days. In July he wrote an [Content Warning: Racism, anti-romanism] article comparing Roma communities (using a slur for them) to “wolves” that should be “shot”. His X account is also know to be “edgy” in a similar way. A few days ago he posted sort of a manifesto for his set of config files:

There’s even a longer version on the website. Even without a strong background in antifascist literature or history this reads like a fascist creed. About unity and identity. About “holding the line” (against codes of conduct and the rights of marginalized people as the website explains). About how there always needs to be a strong leader who makes the decisions. Given DHH’s other writing this is not a misguided joke, this is how he thinks about the world.

I began this text writing “Omarchy should not matter” but I have not explained why it does. It’s surely not about user numbers (it’s a clunky distro aimed at people who love to cosplay hackers). But it is about power.

DHH has used his connection to CEO’s of tech corporations and his position as influencer to collect up to now above 18 million dollars of funding for Omarchy. He uses that money not for himself (he has enough of that) but to fund certain pieces of Software he uses in his distribution. Like for example the window manager hyprland whose main developer the Omarchy money now funds. What is “Vaxry” known for outside of a niche window manager? He runs a community based around LGBTQ discrimination and participates in that (see the short summary on Drew DeVault’s “Weird Little Guys of FOSS” list). His bigotry is so consistent that he was banned from participating in the Freedesktop.org community where all the other developers of window managers and the free software desktop stack collaborate. And it was long before DHH funded him.

One could see a world where a CEO using his connections to drum up some funding for free software projects would be a good thing. But that’s not the world we live in I am afraid. DHH got 3 million USD from Digital Ocean (a cloud provider) for Omarchy. Basically at the same time where Digital Ocean cancelled their support of Flathub and GNOME that amounted to a value of 50 USD per month.

DHH is using his position and his influence to accumulate donations that he then can distribute to projects that align with his fascist worldview and ambitions. And in a time where many important projects and infrastructures are strapped for cash running just on the goodwill of a handful of people that is increasingly dangerous. Not because its corporate money – a lot of funding for open source comes from corporations, they are after all who are sucking up all the surplus from people’s labor. It’s because this amount of money gives him power.

The Omarchy foundation will be where projects in desperate need of funding will be pointed. And will a project focused on human rights and social justice get funding from our fascist overlord? What kind of pressure can that exert on projects who have to decide to either die due to lack of funding or kill their code of conduct?

An open fascist is building one of the bigger sources of funding for open source fully under his individual control and sucks up a lot of money that otherwise might have gone to liberatory projects. Community projects. Antifascist projects.

And that is why Omarchy matters. Sadly. Not because of its technical merit (even though those fascists love to use the “merit” argument to fight human rights) but because of its leader, his connections and his ability to accumulate financial power. Without anyone in that ecosystem saying anything about how that leader operates and talks. And you might know the saying: If there’s a Nazi and 10 folks sitting together at a table and nobody says and does anything? There’s 11 Nazis at that table.

Omarchy got a lot of recognition recently. Not only by corporate donors but by Youtubers and other tech influencers who kept praising it and nudged people (who might not know about DHH’s exploits) towards testing it. To become “a hardcore linux user/dev” or whatever other chauvinist argument they made. This makes it dangerous.

Running Omarchy means contributing to this dynamic. It means willingly integrating oneself into a fascist community. Legitimizing it. Supporting it. Omarchy is a fascist project that normalizes fascist thinking for everyone entering that community (even unknowingly). The baseline has to be not to use that system. And as people who believe in human rights and dignity, in community and a tech world that can be better we need to oppose Omarchy. Need to make sure it gets no seat at any table. Support projects who actively refuse to collaborate. Support projects who care about human rights and flourishing. And do not do business with the companies who willingly support fascists.

Siamo tutti antifascisti!

(Share this message about Omarchy [or some other similar post] around in the tech circles you frequent. Tell people about the background of this hyped Linux distribution and its fascist leader. Quit your 1password or Digital Ocean accounts and mention that it is because the support fascists.)

16
Sorry to leave Zorin (piefed.social)
submitted 2 days ago by to c/linux@lemmy.ml
 
 

Just switched Zorin for Win11 on my kids computer (yes, it did hurt and still does 😭). His friends play Fortnite and he felt left out. Windows is the only option if he want to play?

Btw downloaded newest Microslop Windows 11, but still during installation there was a gust from the past; I had to use my other computer to download the wifi card driver, which I had to "select from disk" when installing 😂 in 2026!! (tplink ex3000). Worked flawless on Linux.

17
submitted 2 days ago* (last edited 23 hours ago) by to c/linux@lemmy.ml
 
 

I switched from 10 years of Openbox to KDE Plasma. This also means from Xorg to wayland.

Plasma is great, it has almost everything. One thing I'm missing (until I'm able to write my own plasmoids/widgets) is what conky provides: a constantly updating overview of my top processes, what's eating resources.

If you ever tried to hack your own conky you must know how fragile it can be. Plus, it's even more fragile on wayland. Most people run it in Xwayland, many unwittingly, but that didn't work for me either.
Let's not dwell on these things (more than a decade of faffing around with conky. It usually runs stable once it's set up, but getting there is beyond painful).

Every time I thought I had it running stably without freezing or disappearing, something new happened... aaaarrrgghh

Until I decided fuck it, I'll run it in the terminal. Much more stable. And with Konsole* & Kwin I can make it look really good.

* I tried it with Alacritty first, but it flickers!


The workflow, if you are interested:

::: spoiler

The conky config

conky.config = {  
	background = false,  

	out_to_x = false,  
	out_to_console = true,  
	out_to_ncurses = false, -- the terminal gets messed up with console_graphs  
	out_to_stderr = false,  
	out_to_wayland = false,  

	-- replace dumb ascii characters, e.g. in console bars, with nice unicode characters  
	lua_load = "~/.config/conky/lua/scripts.lua",  
	-- see how these chars are replaced in the lua functions above:  
	console_bar_unfill = 'a',  
	console_bar_fill = 'b',  
	console_graph_ticks = "a,b,c,d,e,f,g",  
	use_spacer = 'left',  

	-------------------  
	update_interval = 3,  
	--------------------  

	total_run_times = 0,  

	cpu_avg_samples = 2,  
	diskio_avg_samples = 2,  
	net_avg_samples = 2,  
	no_buffers = true,  

-- 	max_text_width = 30, -- does nothing in console/ncurses  
	pad_percents = 3,  
	short_units = true,  
	format_human_readable = true,  
	if_up_strictness = address,  
	top_name_width = 30,  
	top_name_verbose=true,  
	override_utf8_locale = true,  
	template0 = '${lua rst}${lua blk_brt}${lua fill ┄ 45}${lua rst}', -- ┈🭸 a horizontal line 45 chars wide  
	template1 = [[${lua rst}${lua tab}${top name \1} ${if_match "${top cpu \1}" == "  0.00"}      $else${top cpu \1}$endif ${if_match "${top mem \1}" == "  0.00"}      $else${top mem \1}$endif]],  
};  

conky.text = [[  
${lua rst}${lua cls}${lua cyn_brt}${lua cpad 45 ${kernel}}${lua tab}${lua cyn_brt}Name                              CPU%   MEM%  
${template0}${lua tab}${template0}  
${lua cyn_brt}RAM${lua rst} $mem/$memmax $memperc%    ${lua cyn_brt}SWAP${lua rst} $swap/$swapmax $swapperc%${template1 1}  
${lua cyn_brt}CPU${lua rst} ${freq_g 0}GHz${cpu cpu0}% ${lua mag_brt}${lua bar_to_uni ${cpubar cpu0 1,29}}${template1 2}  
               ${lua mag_brt}  1${lua rst} ${freq_g 1}GHz${cpu cpu1}%  ${lua mag_brt}2${lua rst} ${freq_g 2}GHz${cpu cpu2}%${template1 3}  
               ${lua mag_brt}  3${lua rst} ${freq_g 3}GHz${cpu cpu3}%  ${lua mag_brt}4${lua rst} ${freq_g 4}GHz${cpu cpu4}%${template1 4}  
${lua mag_brt}${lua graph_to_uni ${cpugraph cpu0 1,45 -l}}${template1 5}  
${lua cyn_brt}Load  ${lua rst}1min: ${lua red_brt}${lua rpad 6 ${loadavg 1}}${lua rst} 5min: ${lua red_brt}${lua rpad 6 ${loadavg 2}}${lua rst}  15min:${lua red_brt}${lua lpad 6 ${loadavg 3}}${template1 6}  
${template0}${template1 7}  
${lua cyn_brt}FS root: ${lua rst}${fs_used /}/${fs_size /} ${lua cyn_brt}${lua bar_to_uni ${fs_bar 1,24 /}}${template1 8}  
${lua cyn_brt}FS data: ${lua rst}${fs_used /home/ssd256_data}/${fs_size /home/ssd256_data} ${lua cyn_brt}${lua bar_to_uni ${fs_bar 1,24 /home/ssd256_data}}${template1 8}  
${template0}${lua tab}${template0}  
${if_up enp0s20u2}  
${lua cyn_brt}USB ethernet${lua rst}      up:${lua grn_brt}${upspeedf enp0s20u2}K${lua rst}   dn:${lua grn_brt}${downspeedf enp0s20u2}K${lua tab}$else${if_up wlan0}  
${lua cyn_brt}WLAN${lua rst}              up:${lua grn_brt}${upspeedf wlan0}K${lua rst}   dn:${lua grn_brt}${downspeedf wlan0}K$else  

${lua fill S 45}$endif${lua tab}$endif${lua cyn_brt}${if_match "$mpd_status" == "Playing"}${scroll wait 45 1 ${uppercase ${mpd_smart}}}  
]]  

The accompanying scripts.lua

#!/usr/bin/lua  

-- we make our own ncurses :-D  
function conky_rst() -- reset  
	return ''  
end  
function conky_cls() -- clear screen  
	return ''  
end  
function conky_nl() -- newline  
	return string.char(10)  
end  
function conky_blk_nrm()  
	return ''  
end  
function conky_blk_brt()  
	return ''  
end  
function conky_blk_dim()  
	return ''  
end  
function conky_blk_uln()  
	return ''  
end  
function conky_blk_bln()  
	return ''  
end  
function conky_blk_rev()  
	return ''  
end  
function conky_blk_del()  
	return ''  
end  
function conky_red_nrm()  
	return ''  
end  
function conky_red_brt()  
	return ''  
end  
function conky_red_dim()  
	return ''  
end  
function conky_red_uln()  
	return ''  
end  
function conky_red_bln()  
	return ''  
end  
function conky_red_rev()  
	return ''  
end  
function conky_red_del()  
	return ''  
end  
function conky_grn_nrm()  
	return ''  
end  
function conky_grn_brt()  
	return ''  
end  
function conky_grn_dim()  
	return ''  
end  
function conky_grn_uln()  
	return ''  
end  
function conky_grn_bln()  
	return ''  
end  
function conky_grn_rev()  
	return ''  
end  
function conky_grn_del()  
	return ''  
end  
function conky_ylw_nrm()  
	return ''  
end  
function conky_ylw_brt()  
	return ''  
end  
function conky_ylw_dim()  
	return ''  
end  
function conky_ylw_uln()  
	return ''  
end  
function conky_ylw_bln()  
	return ''  
end  
function conky_ylw_rev()  
	return ''  
end  
function conky_ylw_del()  
	return ''  
end  
function conky_blu_nrm()  
	return ''  
end  
function conky_blu_brt()  
	return ''  
end  
function conky_blu_dim()  
	return ''  
end  
function conky_blu_uln()  
	return ''  
end  
function conky_blu_bln()  
	return ''  
end  
function conky_blu_rev()  
	return ''  
end  
function conky_blu_del()  
	return ''  
end  
function conky_mag_nrm()  
	return ''  
end  
function conky_mag_brt()  
	return ''  
end  
function conky_mag_dim()  
	return ''  
end  
function conky_mag_uln()  
	return ''  
end  
function conky_mag_bln()  
	return ''  
end  
function conky_mag_rev()  
	return ''  
end  
function conky_mag_del()  
	return ''  
end  
function conky_cyn_nrm()  
	return ''  
end  
function conky_cyn_brt()  
	return ''  
end  
function conky_cyn_dim()  
	return ''  
end  
function conky_cyn_uln()  
	return ''  
end  
function conky_cyn_bln()  
	return ''  
end  
function conky_cyn_rev()  
	return ''  
end  
function conky_cyn_del()  
	return ''  
end  
function conky_whi_nrm()  
	return ''  
end  
function conky_whi_brt()  
	return ''  
end  
function conky_whi_dim()  
	return ''  
end  
function conky_whi_uln()  
	return ''  
end  
function conky_whi_bln()  
	return ''  
end  
function conky_whi_rev()  
	return ''  
end  
function conky_whi_del()  
	return ''  
end  
function conky_def_nrm()  
	return ''  
end  
function conky_def_brt()  
	return ''  
end  
function conky_def_dim()  
	return ''  
end  
function conky_def_uln()  
	return ''  
end  
function conky_def_bln()  
	return ''  
end  
function conky_def_rev()  
	return ''  
end  
function conky_def_del()  
	return ''  
end  
function conky_tab()  
    -- ┊🮇⋮┊⦙⸽|︳⏐|┆  
    return '     ┆     ' -- first black_bright, then reset  
end  
function conky_fill(char,num) -- pass S for spaces (no idea how to pass spaces in conky)  
    return string.rep((char == 'S' and ' ' or char),num)  
end  
function conky_bar_to_uni(str)  
    local bar_fill_map = {  
        a = '⠠',  
--         a = '🞍',  
--         a = '🞌',  
--         a = '⬝',  
--         a = '🭺',  
        b = '⠶',  
--         b = '⯀',  
--         b = '■',  
--         b = '█',  
--         b = '▇',  
--         b = '⠿',  
--         b = '🯦',  
    }  
    return string.gsub(conky_parse(str), "%w", bar_fill_map)  
end  

function conky_lpad(num,str)  
    local pad = '%'..num..'s'  
    return string.format(pad,conky_parse(str))  
end  

function conky_rpad(num,str)  
    local pad = '%-'..num..'s'  
    return string.format(pad,conky_parse(str))  
end  

function conky_cpad(num,str)  
    out = conky_parse(str)  
    len = #out  
    pad = num - len  
    left = pad//2 + pad%2 + len  
    lpad = '%'..left..'s'  
    out = string.format(lpad,out)  
    rpad= '%-'..num..'s'  
    return string.format(rpad,out)  
end  

function conky_graph_to_uni(str)  
    local graph_ticks_map = {  
        a = '⣀',  
        b = '⣄',  
        c = '⣤',  
        d = '⣦',  
        e = '⣶',  
        f = '⣷',  
        g = '⣿',  
--         a = ' ',  
-- --         a = '_',  
--         b = '▁',  
--         c = '▂',  
--         d = '▃',  
--         e = '▄',  
--         f = '▅',  
--         g = '▆',  
--         h = '▇',  
--         i = '█',  
    }  
    return string.gsub(conky_parse(str), "%w", graph_ticks_map)  
end  

Yes, it could do with some improvement.

All this is started through a desktop file in ~/.config/autostart:

[Desktop Entry]  
Name=Conky Konsole  
TryExec=konsole  
Exec=konsole --profile conky-tui --qwindowtitle conky_tui_konsole --separate -e /bin/rbash -c 'tput civis; conky -c ~/.config/conky/conky-tui2.conf'  
Icon=conky-logomark-violet  
NoDisplay=true  
StartupNotify=false  
Type=Application  
SingleMainWindow=true  

I also created a konsole profile that must have the exact dimensions for this conky, also the color scheme likely needs to be edited so that Background color is exactly the same as Color 1, because of transparency. You'll understand when you see it.

So far this gives us something like this (previous version):

conky-tui with borders

Now I right-click on the titlebar -> more actions -> special window settings. The window must be uniquely recognizable through its title 'conky_tui_konsole'. I remove borders, make it appear on all desktops, stay below, and put it in the position where I want it. It takes a while to understand the UI. In the end I get this extra entry in ~/.config/kwinrc (I love KDE! The combo of having a gui menu for everything, yet still simple editable config files is just 😙👌):

[uuid-uuid-uuid-uuid]  
Description=Window settings for conky_tui_konsole  
acceptfocusrule=2  
below=true  
belowrule=3  
desktops=\\0  
desktopsrule=3  
fsplevel=4  
fsplevelrule=2  
noborder=true  
noborderrule=3  
position=740,610  
positionrule=3  
skippager=true  
skippagerrule=3  
skipswitcher=true  
skipswitcherrule=3  
skiptaskbar=true  
skiptaskbarrule=3  
title=conky_tui_konsole — Konsole  
titlematch=1  
types=1  
wmclass=konsole org.kde.konsole  
wmclasscomplete=true  
wmclassmatch=1  

Voilá. I'm a happy hacker now.

:::


I edited this post to show the newest version, both screenshot and code.

Screenshot of a Plasma desktop with a monospace font conky
18
 
 

I want to sound like Louis Griffin

19
 
 

I recently bought

The goal is to help mom and dad to digitize old VHS, VHS-C, Mini DV and audio cassette tapes. The above expansion cards will arrive sometime next week and meanwhile, I have been doing some research on ffmpeg and v4l2-ctl. It's absolutely amazing how much you can do - or could do - with ffmpeg if you had about two-three lifetimes to learn. 🤣

Anyway, using a cheap HDMI to USB video capture dongle, I have successfully captured some video with v4l2-ctl -d /dev/video0 --stream-mmap --stream-to=video.raw --stream-count=100 and then converted it using ffmpeg -i video.raw video.mkv.

I am really interested in what this .raw file is, but all I could find was this, which seems to pertain to raw image files, rather than what v4l2-ctl outputs.

I tried to do some Ctrl+f searches on Video for Linux API, but this was far beyond what I was able to comprehend. On the other hand, the manual is far too "shallow" and doesn't explain much. Do you have any recommendations on what to read in order to understand a little bit more about the inner workings without having to take a PhD in how Linux does video? Why are these .raw files so big? What is the difference between them and the standard containers (.mkv, .mpeg, .avi etc.)?

Also, a huge bonus if you can find the time and will to point out any rookie mistakes in the digitizing project itself.

20
 
 

I'm trying to get into QubeOS. Coming from Graphene on phone and its compartmentalizations, I expect an easy transtition. But holy shit, theres like a qube for everything: usb qube, network qube, file manager qubem..etc.

I'm still learning but find it difficult, not because of its features (I like to tinker with things) but because my hardware cannot handle the OS. I have an intel i7 12th Gen with 40GB RAM laptop. It runs blazingly fast on other distros but really suffocating in QubeOS. By "suffocating", i meant just playing a video in Firefox can cause problems. Moving the Firefox window around can freeze the system.

Those who managed to switch to it, what was your hardware (laptop, desktop?) and how long did it take you?

I really like QubeOS, its controls are amazing. But the hardware just couldnt handle it.

21
 
 

cross-posted from: https://lemmy.ml/post/52523151

Exciting news after the Framework 12 just got a fingerprint reader.

22
 
 

Ikey Doherty, the creator of Solus and AerynOS, is back with Barney, a Rust tool that builds Linux distros from source. So that you can easily create your own Omarchy.

In a video posted on YouTube, the creator of Solus and AerynOS called the money behind DHH's distro absurd and promised to do it better with nothing. His answer is Barney, a Rust-based tool for building Linux distros from source.

23
 
 

Omarchy has changed its Kitty configuration after a security issue was identified with allow_remote_control yes.

That setting allows Kitty’s remote-control protocol to accept commands from terminal output, meaning untrusted output could potentially execute commands as the current user. Kitty itself defaults this setting to no; the exposure came from Omarchy explicitly enabling it so other parts of the desktop could query the active terminal’s working directory.

The change disables remote control by default and migrates existing explicit yes settings to no. Users affected by the migration need to fully close and reopen Kitty, as existing processes remain exposed until they exit.

There is a small trade-off: Omarchy can no longer reliably determine the active Kitty tab/pane’s working directory via its socket, so new terminal or Files launches may occasionally fall back to the home directory.

The associated migration tests reportedly pass, although no live Kitty test was run in the test environment.

24
 
 

I understand LUKs can be used to encrypt your data. But what would prevent somebody plug in a USB with and just wipe my drive?

On traditional BIOS like Lenovo, HP, Dell and even Framework you can set a supervisor password that locks the boot menu. So nobody can boot from the USB.

Coreboot is different though. I spoke with Starlabs whose computers run Coreboot, and apparently you can have the boot menu password. OTOH, Sys76's Coreboot doesnt allow such things.

I ask because i want to libreboot my T480, but the number 1 thing i worry is unauthorized USB boot.

This one: https://libreboot.org/docs/linux/grub_hardening.html#grub-password

seems to only lock the ability to edit the grub entry freely, aka press "e" to change stuff when grub fails to boot.

25
submitted 5 days ago by to c/linux@lemmy.ml
view more: next ›