Linux for Leftists
What to do with Raspberry Pi/Odroid N2?
I was thinking of getting an Odroid N2+ to use as a Jellyfin/Plex server. What other things can it be used for? I know there is RetroPie but I have no interest in that. Any other suggestions?

How do you all organise your home directories?
I've just been getting up and running with a minimal distro lately and also discovered `user-dirs.dirs`, so I'm no longer bound by the standard auto-generated Home folders. Looking to share and learn how other comrades organise their home directories. Any tips appreciated, and also just seeing how other people like to use and organise `~/` :-) Here's how I've organised `~/` on my new install so far: ``` * audio/ * audiobooks/ * music/ * podcasts/ * books/ * documents/ * dotfiles/ * downloads/ * images/ * photos/ * screenshots/ * wallpaper/ * opt/ * planner/ * projects/ * scripts/ * videos/ * workspace/ ``` … plus all the hidden cruft that's placed in home by various programs. I do my best to enforce the XDG_CONFIG_HOME standard but I'm still in the process of moving stuff into `.config/`. Most of these are self-explanatory. `opt/` is for software I build from source or otherwise not available in my package manager. `planner/` is a git repo full of plain text and markdown files used to manage productivity and take notes. `projects/` is my personal git repos containing stuff like my blog, creative writing etc. `scripts/` is part of my $PATH and contains executable helper scripts such as setting a random wallpaper, fetching mail, etc. It's also a git repo. `workspace/` is actually the `XDG_DESKTOP_DIR` but renamed. My window manager doesn't put files/folders on the actual desktop so I use this space for repos I contribute to for my job as well as transient tasks which require a folder structure for getting something done but which will likely be removed later. Basically stuff that's not an actual personal "project" and I'm working on at the moment. Things I'm thinking about: * alternative names for `downloads/`. There are *three* folders which start `do` meaning tab-complete only works on the third letter. Not ideal. I've seen some people use `incoming/` but I keep flip-flopping on whether I like this or not. * Possibly renaming `dotfiles/` to `.dotfiles/` but then, I use it a fair amount at the moment. * adding an `articles` folder for academic articles and HTML blog posts I want to keep locally.

Porting Helios to aarch64 for my FOSDEM talk, part one
Talk about a new micro kernel called Helios, written in a language called Hare

Just showing off my desktop. For those curious, I use the XFCE desktop, and ULauncher tied to the windows key. I'm also experimenting with animated wallpapers using hidimari.

What’s a good tablet and touch screen oriented Linux distro or desktop environment? Can any of them compete with something like Android?
I'm looking to get a straight tablet (not a 360-hinge laptop with a keyboard) that will mostly be used for mobile centric applications like when I'm out and about or when I want to binge shows in bed. Ideally it will be a device that I can exclusive use the touchscreen with for when I'm either too lazy or can't practically prop it up and use it as a proper laptop. I want to keep at least the software as open source as possible, so my options are either an Android tablet that I can sideload an AOSP de-googled ROM like Lineage OS, or a Windows tablet with an x86 CPU that I'll install a Linux distro on (inb4 "Android is technically Linux"). I currently use KDE Plasma which is my favourite environment when I'm on my desktop, and I quickly found through testing on my touchscreen laptop that it's practically unusable without a mouse and keyboard. Here are some things that I found KDE lacking that I need: * Integrated onscreen keyboard that automatically pops up when you're in a text field, and/or can easily be brought in and out of frame when needed. * Smooth swipe-based scrolling. I find that swiping up on many KDE apps just selects text or drags an element, or does nothing, and you have to drag the tiny scroll bar to scroll. * Pinch to zoom * A terminal that works well with touch screen, namely one that makes it easy to use special characters and control keys with an onscreen keyboard. Termux on Android is what I consider one of the best implementations of this. * Active stylus support with palm rejection is a plus, like the Surface when running Windows or the iPad Pro. I consider myself very knowledgeable with Linux, and I do tinker with my computers a lot, but for this one, I do simply want something that "just works", because I'll either be using it at school/work and can't afford to start diving into conf files and searching up cryptic error messages because something broke, or I'll be in bed just wanting to relax before going to sleep. Finally, is this futile? If we're considering stock Android as a benchmark for a decent user experience on a tablet, can anything on the non-Android Linux side even compare?

Does anyone have a favourite terminal-based web browser?
Most of what I want to do on the web is read text, and while I love Firefox it's a bit of a resource hog for quick browsing. I've therefore been using [links2]( for a while. There is also [Lynx](, and [Elinks]( and probably many more I'm not aware of. links2 was somewhat of an arbitrary choice for me, so I was wondering if any comrades used terminal-based browsers and which ones they preferred? I'd value the feature of highlighting and copying text, but maybe that's a concern for the terminal emulator itself? links2 is fine so far but wondering if anyone was particularly passionate about their browser choice on the terminal. (Note: I'm aware of [Kristall](, for Gemini/HTTP/Gopher but I'm specifically interested in a terminal-based web browser)

Essay: The myth of legalistic software socialization
New essay, not directly related to Linux but cool nonetheless.

dwm configuration guide
The following guide goes over on how to compile dwm, configure it to your taste and patch it. I hope more people can try this awesome tiling window manager. I assume you'll work from a terminal of your choice on a Linux distribution, although the instructions should work for other Unix-like operating systems. If a line begins with `$` it means to run the command as your normal user, if it begins with `#` it means to run the command as root. ### Compiling dwm `$ git clone` `$ cd dwm/` Next up, in order to be able to compile it, you'll need a few packages: ``` libx11 libxinerama libxft ``` The packages above are called like so on Arch Linux, check on your respective distribution. After you've installed everything, you're ready to compile it! ``` $ make ... cc -o dwm drw.o dwm.o util.o -L/usr/X11R6/lib -lX11 -lXinerama -lfontconfig -lXft ``` If the output is above, then it's successfully compiled! Although you wouldn't want to run dwm without configuring it beforehand, so let's do that. ``` $ make clean ``` This removes the current build so it won't impact us later on. ### Configuring dwm Edit `config.def.h` with your favorite editor. ``` static const unsigned int borderpx = 1; /* border pixel of windows */ ``` You can set the width of the border here, I don't recommend going bigger than 3px. ``` static const int topbar = 1; /* 0 means bottom bar */ ``` You can set where dwm's built in bar will show up. It's all personal preference, but I personally like a bottom bar. ``` static const char *fonts[] = { "monospace:size=10" }; static const char dmenufont[] = "monospace:size=10"; ``` Here you can make dwm and dmenu use your favorite font. I personally use Fira Code, so I'll change them to the following: ``` static const char *fonts[] = { "Fira Code:size=12" }; static const char dmenufont[] = "Fira Code:size=12"; ``` ``` static const char col_gray1[] = "#222222"; static const char col_gray2[] = "#444444"; static const char col_gray3[] = "#bbbbbb"; static const char col_gray4[] = "#eeeeee"; static const char col_cyan[] = "#005577"; ``` Here you can change dwm's color scheme. It's all up to personal preference. You can see which colors goes where by inspecting the colors array below: ``` static const char *colors[][3] = { /* fg bg border */ [SchemeNorm] = { col_gray3, col_gray1, col_gray2 }, [SchemeSel] = { col_gray4, col_cyan, col_cyan }, }; ``` If you want to have named tags, suhc as `www`, `chat`, etc. change the following to your liking, here's an example: ``` static const char *tags[] = { "1", "term", "3", "4", "www", "chat", "7", "8", "9" }; ``` If you want to have dwm put programs in their respective tags, customize the following: ``` static const Rule rules[] = { /* xprop(1): * WM_CLASS(STRINGM3AkdIL3xRRg14FYOxaztZUUAbhcvzQZ8zvfqacNfNFTPRMz6QflV7Wf4MuIgk6B) = instance, class * WM_NAME(STRING) = title */ /* class instance title tags mask isfloating monitor */ { "Gimp", NULL, NULL, 0, 1, -1 }, { "Firefox", NULL, NULL, 1 << 8, 0, -1 }, }; ``` By default, Firefox is launched in tag 9. ``` static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */ ``` By default, dwm will not halve your screen in two exactly in the middle. Change it the float from `0.55` to `0.50` in order to make sure your screen is split in the middle. ``` static const int resizehints = 1; /* 1 means respect size hints in tiled resizals */ ``` Change this to 0 in order to not have issues with terminals and their padding. ``` #define MODKEY Mod1Mask ``` This is where your modkey is defined. The default is alt, you can change it to the super key by changing `Mod1Mask` to `Mod4Mask`. In the keys array, you can make your custom keybindings. It's not hard at all, you just add a new line with your desired keybinding. Here's an example of a screenshot keybinding using maim: ``` { MODKEY|ShiftMask, XK_s, spawn, SHCMD("maim -s | xclip -selection clipboard -t image/png") }, ``` MODKEY|ShiftMask, XK_s = modkey + shift + s Once you're done configuring save `config.def.h` and copy it to `config.h`. Then it's time to recompile and install! ``` $ cp config.def.h config.h $ make # make install ``` ### Patching You can get patches from Once you have your favorite patch, download it and put it in dwm's directory. You can apply it via two methods, `git` or the `patch` utility. `$ git apply patch.diff` or `$ patch < patch.diff` It'll report if it encounters any errors, you can manually patch by checking the .rej file. You're ready to start dwm by putting it in your xinitrc or your preferred session launcher. If you have any questions or need help, reply below. If you want to learn the keybindings, here is a good tutorial from Suckless:

Different scaling on each display, is it possible?
So the thing is that I use a 1080p display alongside a 4k display, and I only know how to change the global scaling. At 150% scaling: - 1080p display everything is too large - 4k display is good At 100% scaling: - 1080p display is good - 4k display everything is too tiny Is it possible to have 100% scaling in the 1080p display and 150% in the 4k display at the same time? I'm using Debian 11 with KDE. I'm willing to switch to another DE or to a window manager.

What window manager/desktop environment do you run?
Hey comrades, I'd love to hear what WM/DE y'all run. Currently I run dwm and I'm pleased with my patches to it. I've run i3 in the past although I found it's not my thing. Also the biggest question for the twm users, do you use gaps or not?

This is a video talking about Deepin OS, a Chinese made Linux distro based on Debian. Plus it isn't full of cringe like videos about anything related to China tend to be.

Do you Linuxify all of your PCs?
Or do you keep a few Windows/Mac PCs lying around? You know, just in case you need to run an app/game that *only* works perfectly on Windows/Mac and WINE/Proton wouldn't run it? Been thinking of Linuxifying my Laptop eversince I enjoyed Linux after defecting to it (from Windows) in my main PC (a Desktop).

Pulse Audio Sucks
I'm sorry. I shouldn't even know what Pulse Audio is. It should just quietly do it's thing. The fact that I know it's name tells you enough. I have to constantly kill it in order to stop terrible audio distortions. It often struggles managing multiple audio sources from different applications. It completely fails at managing bluetooth devices often forcing audio output that sounds like AM radio and requiring a complete system reset in order to allow high fidelity output. Pulse Audio is the worse and most unacceptable part of my Linux Distro and should be completely abandoned as a total failure and an embarrassment to any developer who is shameless enough to take credit for working on it.

How do I get started Linux?
I'm a windows loser looking to make the plunge into Linux. I was thinking of switching my gaming PC to Linux in the near future. Before I make up my mind, I'll probably try out VMs of distros. I've lurked a few Linux communities here and on, some I'm gonna regurgitate some things I half remember in the hope of being being corrected and starting discussion about what I should be doing. - Ubuntu isn't good - Mint is good despite being based on Ubuntu. Made with former windows users in mind - Debian is good because of their packages or package manager or something. Recently sold out, but there are spinoffs that don't use proprietary software like Duvian. - Fedora seemed to get some good word but I can't remember why. - Arch and it's spinoffs require a shit ton of finagling to get right but can do a lot of cool things - There are different desktop environments like GNOME, Cinnamon, and ... others? I honestly don't know what a desktop environment is. - Wine (or the fork Proton) can run windows native games on Linux - There are snap, flat something or other, and ... other ways for installing software. I'm sure I'm missing a lot and got some things wrong. Any help getting started is appreciated. **Edit**: I ended up going with a KDE plasma spin of Fedora 36. Once I figured out how to get the nvidia drivers set up it was smooth sailing.

Void Linux root on an encrypted ZFS mirror with syslinux MBR and ZFSBootMenu
An interesting tutorial for anyone interested

Does anyone else feel like their device isn’t their own? When using Windows, Google Android, iOS, etc…? (Switching to OpenBSD after distrohopping)
(OpenBSD is Unix based, I suppose, let me know if this doesnt belong) I was considering switching to Windows AME for tasks necessary on non-VM Windows, but wanted to switch to OpenBSD otherwise. With Intel ME, excess software, bloatware, spyware, and other features, this feels as if I can't use my device in privacy. It is as though someone is always watching. This data is not mine, I cannot control what background processes are needed or what desktop I am using, I am not able to customize to my liking. These devices, quite honestly, do not belong to me. Any advice for using OpenBSD as a daily is kindly appreciated. If anyone can think of any specific issues that would come up, I've most likely not considered it and I'd like to hear it.

25 years after its initial ratification, the Debian project has voted to amend their Social Contract to allow proprietary firmware in the installer
cross-posted from: > * > *

Linux Distro Choice
If this is in the wrong community let me know, but I have been away from linux for a little while now, and I have decided to come back to it. I am trying to figure out what Distro and Desktop environment I should use. I used to use Ubuntu and, Ubuntu based Distributions, though for various reasons I had bad experiences with the ones based down stream of Ubuntu, I have also heard that Ubuntu is no longer nearly as good as they where before. As for desktop Experences, I never really liked Gnome. That being said from what I can tell there has been quite a bit that has changed sense I left, and any recommendations would be much appreciated.

I've been using Arch on all my daily driver devices for years now. One of the main reasons for this is the AUR. It's very convenient for installing all kinds of software, since it can build a full, native package from a simple build script written in bash. I personally have packages on the AUR and use it daily. Anyway, I've thought many times of such a simple and easy solution being missing from other distros, but have never had the experience and motivation to create it. Recently, I used [goreleaser]( to automatically build and release my project, [ITD](, for several distros at the same time. While doing so, I had an idea, so I went to check what goreleaser uses to build packages, and it turns out they have a separate library for this purpose: [nfpm]( This was the only thing missing for me to be able to build an AUR-like system. I did notice one issue. It didn't support Arch Linux packages, so I created a PR adding support for them. The PR is completely working and it has been reviewed and approved. So, I started working on my idea, and so far, it's going really well. I've already been able to build and install multiple packages using my program on my Arch system and inside a Fedora and Debian docker container. I just uploaded my program now that I've finished implementing the basic features and testing them. I hope it ends up being useful. Link to the repo with my new program: The README is very small right now, I'm working on making a better one.

What is to be done? In linux
Thoughts and ideas on FOSS software that needs to be done. Personally i've been thinking on working in an offline (like arch-wiki-docs)

Linux Lived, Linux Lives, Linux Will Live
Russia is beginning the process of transitioning from Windows to Linux. Most likely as a way to avoid sanctions and to no longer be under the control of a US multinational corporation.

It's not specifically linux but I think there's a lot of overlap between people interested in linux/unix and the type of people who use old/used laptops either out of necessity or just because they prefer to.

Manjaro Drama
Forgetting to renew the ssl certs for the fourth time....

My distro seems to package a [fortune-mod-anarchism ](, what about we as a community join together and create a fortune-mod-communism ? Would love to have Marx quotes on my terminal (not ironically)

What do people think of "The Cloud"™️?
Professionally or personally (got my idea from [this thread]( Maybe it's because I don't work with it directly, but I don't see the benefits other than people not wanting to manage the servers themselves. It adds complexity (eg SQL Server vs SSAS) while putting your data behind some amorphous entity where you don't know what goes on. And for communists it's a privacy nightmare. Convenience shouldn't be a selling point when you have no idea what anything you're putting up there is bring used for or if it's accessed at all. Google Drive, Telegram, Discord, have all been said that they use "The Cloud"™️ and make it easier for people to use. We live in a world where tech envelops almost every aspect of our lives, yet the amount if basic knowledge people have is abysmal. There really needs to be attempts to taking computers seriously and not assuming everything is friendly. People should be aware that "The Cloud"™️ means some corporate entity controls your data, that "encrypted" messaging is not safe when done through software controlled by Facebook, or that using Windows puts your trust entirely in a company that has never deserved it.

What Desktop Environment/Window Manager do you use?
I'm currently writing this on the MATE desktop. I started with linux on the gnome 2 desktop, so it only makes sense. A long time ago I used Xmonad (a tiling window manager) but tiling has less appeal for me now. If I need/want a lightweight solution, I use CWM (, which was originally developed on OpenBSD, but is usually available across different Linux distros and BSD's. I've tried pretty much every DE/WM under the sun at this point, and would be interested to know what you use and why

How much relevance does UNIX tools have in your workflow?
Since this community is named leftistunix, I thought to open a discussion about UNIX. not just Linux.

Anon OS that isn’t Tails?
Would like an OS like Tails OS or Whonix that can install on low end portable hardware and doesn't need to be booted from external device. Or would be nice if there was guides to configure one.

Linux man page helper (Cheat)
I have been running cheat-sh for awhile now and I tell you this is better then "tldr" or "tealdeer" from a rust crate. Example of cheat: `cheat-sh stat` cheat.sheets:stat # stat # Display file or file system status # display numerical values for file permissions stat -c '%a %n' * # Display only the octal permissions for the given directory. Great for tests. stat --format='%a' /boot tldr:stat # stat # Display file and filesystem information. # More information: <>. # Show file properties such as size, permissions, creation and access dates among others: stat file # Same as above but in a more concise way: stat -t file # Show filesystem information: stat -f file # Show only octal file permissions: stat -c "%a %n" file # Show owner and group of the file: stat -c "%U %G" file # Show the size of the file in bytes: stat -c "%s %n" file Cheat has helped me out a lot since I can't memorize everything and anything related to a Linux CLI. Super easy with #archlinux `sudo pacman -S cheat-sh` also with Osx `brew install cheat-sh`

Linux for Leftists
    Create a post

    A Community for all leftists wanting to join and being part of a community that talks about Linux, Unix and the Open-Source Community

    • 0 users online
    • 1 user / day
    • 1 user / week
    • 7 users / month
    • 66 users / 6 months
    • 1 subscriber
    • 56 Posts
    • Modlog
    A collection of leftist communities, for memes, learning, news, discussion, media, or anything you like.
    1. No capitalist apologia / anti-communism.
    2. No bigotry - including racism, sexism, ableism, homophobia, transphobia, or xenophobia.
    3. Be respectful. This is a safe space where all comrades should feel welcome, this includes a warning against uncritical sectarianism.
    4. No porn or sexually explicit content (even if marked NSFW).
    5. No right-deviationists (patsocs, nazbols, strasserists, duginists, etc).

    Since January 2023, the creation of new “Shit X Say” type communities is not allowed. Please post anything of that nature to Shit Reactionaries Say (you should really look there) or Shit Ultras Say.

    Matrix Chatroom

    ProleWiki - The Proletarian / Marxist-Leninist wiki

    The Following Communities Are For Sectarian Posting;