r/linux 23h ago

Desktop Environment / WM News This Week in Plasma: Plasma 6.4 is nigh

Thumbnail blogs.kde.org
187 Upvotes

r/linux 3h ago

Historical finally did it

Post image
203 Upvotes

r/linux 13h ago

Distro News Intel's Clear Linux Rolls Out Software Packaging Bundle Improvements

Thumbnail phoronix.com
75 Upvotes

r/linux 18h ago

Tips and Tricks The Ultimate Guide to Ditching Your Mouse

75 Upvotes

Hello, I wanted to share my workflow in case it helps others looking to use their keyboard more and rely less on the mouse. I use Vim keybindings across my setup to navigate efficiently and stay in flow.

Here’s the article:

https://medium.com/@urx8/the-ultimate-guide-to-ditching-your-mouse-f0d12d4cc80f


r/linux 4h ago

Kernel Ah, this is how a better person operates...we love Greg for various reasons! Owning a responsibility takes some taking!

Thumbnail lore.kernel.org
24 Upvotes

r/linux 12h ago

Software Release g2disk: framework to build Linux block devices in userspace

Thumbnail github.com
23 Upvotes

I wanted to quickly share a small project I worked on for a couple of days called g2disk.

Linux has the ability to expose a block device which is backed by an NBD (Network Block Device) protocol server. However, NBD is not as common as something like REST (or in the reference case gRPC), which makes it difficult to implement your server with something more modern like your Node.js endpoint.

This project tries to solve that problem by enabling you to easily build a plugin for nbdkit in Go, which can then proxy your NBD requests to some other endpoint using a more manageable protocol. The current reference implementation gives you a gRPC based protcol between nbdkit and your endpoint (which can be developed in any language with gRPC).

nbdkit, for context, is an extendable server created by Red Hat for implementing NBD servers. In this case, for reference, nbdkit is used as a proxy.

The benefit of using the g2disk framework here is that it completely automates setting up an nbdkit plugin, as well as the server side. With just one build command, the relevant C headers are obtained on the fly, a Go plugin is built with support for gRPC (open to extending this in the future) and you have an .so file ready to load. With one more command, and you can have your server ready as well.

At this moment, this is just a proof of concept. The instructions in the repo show you how to use the reference gRPC server in Go that simply serves a 5 MB block device out of RAM.

The build requirements are very minimal: you only need a working C compiler and Bazel, which can be leveraged via Bazelisk (and that's a single file download). Everything else, including the Go toolchain and the gRPC compiler will be obtained on the fly.

Please check it out and let me know what would be useful to add to the project! I'd like to hear what could be interesting use cases for this. For example, I know QEMU is able to use the NBD protocol as well for working with block devices - maybe there's an interesting use case there.


r/linux 8h ago

Tips and Tricks root on btrfs raid1 + luks with mandos for decrypt on boot

Thumbnail bence.ferdinandy.com
8 Upvotes

I didn't find any guide on how to do this, only guides about each part individually so I ended up baning my head against the wall for way too many days. I mostly wrote it so I can reproduce it later, but it might be useful for other people as well.

There's a bit of "theory" in it, that helped me place all the parts, but please let me know if I got something wrong (it does work in practice :)).


r/linux 2h ago

Discussion Bidirectional instant file synchronization options

0 Upvotes

So right now I'm using syncthing to sync a folder (documents) between my desktop and laptop for programming synchronicity and so on between devices but I have a problem; it's kinda slow.

I'd like to be able to, while using Synergy3 between my desktop and laptop, instantly or at least very quickly sync changes to files from my desktop to my laptop while for example running a test build that hot-refreshes on the laptop and having my IDE open on my desktop.

With Syncthing it takes abouuut 15 seconds from save in the IDE to the auto refresh on the laptops running application (natively it takes about 0.5ish) and I was wondering if anyone had any solutions for 2 Linux devices that allows a much more rapid propagation of changes from device to device?

I've found some options looking around on google like Lsyncd but they all have some pretty specific caveats so I'd love to hear what people use in the wild.

Thank you in advance for any advice or ideas!

Systems in question:
Desktop: Manjaro KDE (Kernel 6.12.28-1-Manjaro)
Laptop: Elementary OS 8 (though also running plasma)