Hello everyone! I know that Linux GUI advanced in last few years but we still lack some good system configuration tools for advanced users or sysadmins. What utilities you miss on Linux? And is there any normal third party alternatives?
I’m willing to entertain the possibility that the linux world may be lacking in some things, but I’m pretty sure “configuration tools for sysadmins” is not one of them.
I’ve been using linux for over 25 years and I don’t understand this post. One of the strengths of linux is that you don’t need a gui to do sysadmin.
I think I’m 30 years in, and I came to mention I haven’t used the GUI since ~97.
For sysadmin stuff? Or for daily use?
And one of the weaknesses is that you require the command line. Choice is good
Maybe tangential but this reminded me of how much I hate setting up systemd timers/services. I refuse to accept that creating two files in two different directories and searching online for the default timer and service templates is an okay workflow over simply throwing a cron expression next to the command you want to run and being done with it. Is there really no way we can have a crontab-equivalent that virtually converts into a systemd backend when you don’t need the extra power? I feel like an old person that can’t accept change but it’s been a decade and I’m still angry.
This is a configuration declaration abstraction issue. Systemd timers and services are more like primitives.
In NixOS, we have an abstraction that allows simple declaration of a service and timer that runs some script.
As an example, I use this to export my paperless for backup daily in a way that is safe (paperless itself cannot run during that time, guaranteed by systemd) and simple:
(Even without NixOS domain knowledge you should be able to follow what’s going on here.)
All that’s needed in order to cause a systemd timer to be created for this service is to declare the
startAt = "daily";
at the bottom.I love this, I have nixos on my server and it handles all the services this way
I did this for awhile…
https://github.com/systemd-cron/systemd-cron-next
If I remember whatever chef script I was blowing out mucked up something enough I ended up ditching it and manually rebuilding the timers as sysd units.
Even as someone who likes systemd since trying to teach init is pretty uniquely awful, I still have a load of one a year cron jobs I just use a BSD box for.
IrfanView. Nothing comes even close. I would probably move to Linux if not for that.
For real! Every time I spend real periods of time with Linux (and a random year with a MacBook Pro a friend wanted to get rid of). It always hits a point where I need to view images and can’t find anything that matches IrfanView. I have tried XnView and it is way too much with regards to the UI and features I don’t need. The most frustrating thing (and this applies to most others I tried) is handling going through a folder of images that are different resolutions. IrfanView has the option to both scale the program’s window based around the image size, and also be set to scale images if the are larger than my display resolution.
It is a very weird combination of those two things that drives me nuts. There are settings in XnView that kind of work but break. Like it might adjust the image that is large, but then the program’s UI will not shrink to fit a small image (the window will just stay large and have large black borders). Or it will shrink the window to the width of a large image, but not scale and the height will still require scrolling up and down to see all of it. The funny part is that I don’t even look at my saved images all the time. But shit is like a hard slam on the breaks at high speed.
I did end up just dealing with the kind of weird clunkyness of running it via WINE while on the Mac as it was my only PC at the time. Which was still better than not having it for my use-case. Just weird how it has been the only image viewer (with mid-level editing options) that has “felt” correct ever since I first tried it out over like 17 years ago.
Irfanview!
It’s FAST, it’s SMALL, it’s PURE POWERRR
I never understood why there isn’t anything even remotely close to it in Linux. Kde has Gwenview which is awful slow, bloated yet barely has any features at all.
There is a way to run it through wine but that is awful. Cane e start a GoFundMe for the dev to make a Linux KDE release with Deb and rpm files? I’ll happily contribute.
I generally don’t miss anything graphical, once I learn how to do something from the cli I rarely feel the need to do it graphically anymore as it’s usually a lot slower
The obvious one would be Photoshop and paint.net of course but krita does the trick
I maybe need to correct my post. I am talking about system utilities like Device Manager or something else.
Lshw, lsusb, etc and grep do that
Why would I want gui for those things? CLI is often a better interface. Being able to grep lsusb rather than scanning a gui for an entry is much better. It’s easier to pipe to an email as well. Screenshots don’t allow copy/paste…
As a newcomer to CLIs, GUI are great because you don’t need to know what you’re looking for. I can just open the devices window, and they’re all there, with most of the extra hardware stuff that’s not actually a real device already cleaned out.
To do the same with a CLI would take me 10 minutes of looking up what the hardware commands are, 5 minutes figuring out flags, and 30 minutes researching entries to see if they’re important. Even just a collapsible list would make that last step so much easier. And no, I can’t grep for what I need, because I don’t know what I need, I just know something in there is important with a vague idea of what it might look like.
Once I figure that all out for one thing, the best I can do is write that to a notes file so I don’t need to search so far next time, but there’s a good chance that I’ll need a different combination of commands next time anyway.
Not hating on CLIs, just wishing I could figure out how to use them faster.
Another really helpful tool is to use the fish shell instead of bash. It has tons of useful features, but my favorite is by far the autocomplete. It parses man pages to provide suggestions for flags, subcommands, even passed arguments, and each item in the results list has a description, and it’s all searchable by hitting shift+tab.
That’s what leveled up my cli game from 0-100. It’s a massive difference in usability and discoverability. And unlike things like nushell, it’s close enough to bash that you won’t feel confused if you have to use bash instead.
apropos - command to list relevant commands tldr [command] - shows the most commonly used flags/options for that program
apropos comes installed by default (on debian at least), tldr needs to be installed with your package manager
As someone who cannot even remember tar flags (inser xkcd here), tldr is very helpful
Your 45 mins becomes 5 mins now. Hope that helps
Hmm, what does lsusb do?
The name is constructed from two parts:
ls
: listusb
: usb
It lists usb devices that your machine (/kernel) knows has been connected; they may not necessarily be usable.
E.g. I have some sound output device connected via USB to one machine. On most of my machines I’ve switched from pulseaudio to pipewire¹, and I figured I’d bring that machine closer to the others so there’s less variance. Unfortunately the sound output device didn’t want to work with pipewire. The problem manifested as no sound and pipewire not listing the device.
lsusb
helped me know that the machine at the very least recognized the device, but wasn’t currently able to use it. (It did actually also show up as an error indmesg -H
, but reinstating pulseaudio let the device work again as normally. So now I just have to live with a situation where some machines use pipewire because bluetooth and others use pulseaudio because … usb?¹)¹ There’s a memory of ALSA vs OSS I didn’t want to be reminded of
Ah thanks, I wonder if GUI tools for this is useful. Especially if it is for system diagnostics.
👆 exhibit A of why Linux can be difficult for newcomers
Linux has been very successful without catering to those who don’t want to learn new things.
I would like something to change my monitor output at a system level, for example I could emulate a CRT screen or decide my aspect ratio. Something like RetroArch shaders but in a more high priority level.
Setting per game frame limits and undervolting AMD GPUs is a lot more complicated than on Windows
deleted by creator
LACT and Mangohud can do that pretty well
afterburner. i’m unable to oc my nvidia gpu :(
LACT. Though I don’t know if it can OC Nvidia, Nvidia support is quite new.
deleted by creator
I usually just feed my questions into three different LLMs plus ddg with site:reddit and then check consensus. As good as it gets.
But then last time I’ve managed to discover DeadBeeF through IRC.
deleted by creator
Same here. I’m using CorrCTRL for my 6800XT and the VRAM OC is not working properly, will give LACT a try
Chances are that it doesn’t work there either. What actually does the OC is the kernel; the GUIs merely write the desired values into the correct files in
/sys
.I’ve just got to try it and you’re right. VRAM OC is also broken with LACT though at first it seemed like it worked and I even managed one full bebchmark run in CP2077 but my PC started heavily artifacting and crashed on 2nd run.
Well then it sounds like it works just fine but your chosen value isn’t stable.
I can do 2150MHz fast timings on Windows (2000MHz is default). But on Linux even +1MHz is unstable with CoreCTRL and anything above +2MHz is unstable with LACT
One thing I kind of miss is autohotkeys on windows. It was relatively easy to do things like set keyboard keys to act as mouse keys. I did that once when I was getting over tendonitis.
These days I have a keyboard with mouse keys on it and a trackball also with mouse keys. I can use the middle button on the trackball and scroll with it, but I can’t use the middle button on the keyboard and scroll with the trackball, which would be more ergonomic for me. Haven’t figured that one out yet.
That said, I mostly don’t miss GUI stuff. I use a tiling window manager and command line utilities to do most things on my system. Its kind of primitive I guess, but the benefit is it works exactly the same on remote systems, headless servers, etc.
I have replaced autohotkeys with https://github.com/espanso/espanso
It does everything I need it to, although I am not sure if it can do the mouse button things you need
Check out
keyd
, it’s very powerful.
A decent GUI LDAP client.
Yes, I know, I can use slapcat and all… But holy hell, I’m tired of writing basic LDAP files to populate a new domain. And, no, I really don’t want to spin up a webserver just to run a web based GUI that I NOW have to ensure is locked down.
oh… that look tits! Thank you!
Found this not so long ago and it literally made me sad I don’t manage an LDAP anymore!
Based on the docs, it should work with LDAP, but is focused on AD. I really only need it for initial create and whatnot, so I’m gonna give it a whirl, and hopefully, doesn’t let me down.
If not, I’ll need to git gud with go, and do some PR’s :)
I’m missing a lightweight (not like Thunderbird) contacts app, that can work with CardDAV and allow me to see, search and edit my contacts.
What’s wrong with
gnome-contacts
?For me gnome apps are not “lightweight” and work fine only all together (Evolution + gnome-contacts + other gnome tools)
You don’t need evolution for gnome-contacts and I’m not sure how much more lightweight a contact app can get. It literally does nothing but list and edit contacts, and works with dav via gnome-accounts.
Well KDE had this awesome process management tool, I think it was called System Monitor or something. You could tune process priorities with IO and CPU. They deprecated the tool though, I think because nobody wanted to port it to QT6
System Monitor is very much still alive, and I’m pretty sure it is updated to Qt6. I was using it only yesterday on Plasma 6…
You’re right. I can’t recall the other utility’s name. System Monitor is fantastic, but I just wish I could set the niceness and all that like you could on the old utility.
That would indeed be a nice feature. I’m sure they would welcome the suggestion!
a nice feature 👀
Took a while, but someone did eventually notice!
Something to help visualise BTRFS volumes & sub-volumes (ie, free-space, etc)
regedit.exe, my favorite GUI app 🤣
You can use regedit on Linux via wine!
…what would that even do? Linux doesn’t have a registry, does it?
Wine as Windows layer has small registry for Windows apps
Oh, that makes sense
You can also open registries from windows install with it.
You could try gconf
I personally would like a systemd gui. There have been several attempts in the past, but none is maintained.
Its far too convoluted. A systemd gui for… DNS? Boot services? User Services? tmp file management? Everything?
All of those are entirely separate components; I have no idea what you’re attempting to imply here.
Those are all things systemd manages… as well as logs, udev, etc etc.
What kind of gui too could you even imagine would sanely present all of that?
As mentioned, those are entirely separate and even independent components.
Systemd (as in: pid1) only “manages” them insofar as that it controls their running processes just like any other service on your system.
systemd-boot doesn’t interact with systemd at all; it’s not even a Linux program.
The reason these components have “systemd” in their name is that these components are maintained by the same people as part of the greater systemd project. They have no further relation to systemd pid1 (the service manager).
Whoever told you otherwise milead you and likely had an agenda or was transitively mislead by someone who does. Please don’t spread disinformation further.
Without going into the weeds and all, given they all are in the same project, regardless…
You said “a gui for managing systemd”, so which part? Boot, udev, and journal? All three are required and not optional for systemd the OS infrastructure layer suite (or whatever it’s called these days), so minimally, assume that?
If so, what kind of sane gui could manage those three very disparate things?
If you talk about “a GUI for systemd”, you obviously mean its most central and defining component which is the service manager. I’m going to assume you’re arguing in bad faith from here on out because I consider that to be glaringly obvious.
systemd-boot still has no connection to systemd the service manager. It doesn’t even run at the same time. Anything concerning it is part of the static system configuration, not runtime state.
udevd doesn’t interact with it in any significant user-relevant way either and it too is mostly static system configuration state.journald would be an obvious thing that you would want integrated into a systemd GUI but even that could theoretically be optional. Though it’d still be useful without, it would diminish the usefulness of the systemd GUI significantly IMHO.
It’s also not disparate at all as it provides information on the same set of services that systemd manages and i.e. systemctl has journald integration too. You use the exact same identifiers.
Everything! And a virt-manager like tool for nspawn! And for the faux-cron jobs! Make it as byzantine as systemd itself
That’s the point. That systemd is convoluted, so a gui could help. And yes, for everything. :)
My point is there is no way to sanely create a GUI for something has it’s tendrils in… Everything. In fact, there’s no sane way to do any sort of UI for such a beast.
Maybe the system should be made less convoluted.
I mean, do we really need a half dozen network management services, all broken in their own way and none that do everything you need?
On openSUSE, I’ve apparently got at least this thing for looking at SystemD services:
Allows viewing the services for the different boot targets, as well as the service files. You can also start/stop services or change their start mode (on boot vs manual).Well, and there’s a JournalD viewer with filtering:
Not the most developed GUIs, but…
SystemD is far too much of a poorly thought through mess to have anything like a sane GUI configuration, it doesn’t even have a sane textfile based configuration. We’re going to have to wait fir SystemD to crumble under it’s own weight and be replaced with multiple, simple, cleanly designed components before we have any hope of a sane config again. Sort of like we used to have before a certain someone/some company (depending on how conspiratorial you’re feeling) decided to come along and muck it all up.
/rant
Thank you for coming to my Ted
TalkRant. You may gather I dislike SystemD quite a lot.For anyone else reading along: This person is talking out of their ass.
I also find that calling systemd “SystemD” is a tell that someone is unfamiliar with or has a conspiratorial relationship to it. It’s named “systemd”, all lowercase (but I’m likely to capitalize it on sentence starts like a normal word). Using an ungrammatical uppercase D at the end of the word, that isn’t even something the creators claim is correct, is … a choice.
(And it’s a choice that reminds me of e.g. how rabid anti-cyclists in Norwegian can’t even spell “cyclist” correctly, but instead consistently use “bicycleist”.)
Ok, fair point on the capital D, I must have read it like that years ago and it stuck. I shall have to make an effort to unlearn it.
As to the rest, systemd has been a constant thorn in my side ever since L. Pottering published “Rethinking PID 1” back in 2010 or so. I found, and still find, that most of the assertions and actions in that document either don’t really hold, or just aren’t really relevant. Basically it’s trying to solve a problem that really wasn’t an issue in the real world, and does so in such a massively overbearing way that everything actually becomes more laborious than it otherwise would be. From my perspective it’s an unnecessarily complex and poorly architected attempt to answer a need that was better served in different ways. That it’s become a near mono-culture is deeply concerning.
I’ve also run into all sorts of awkward edge cases and misfeatures over the years, from the automounter that occasionally didn’t to race conditions that only manifest at the worst moments, none of which would have occured had the basic tenet of “do one thing and do it well” been followed. The extreme verbosity of the configuration, and unnecessarily large number of places it can be spread just serve to make it even more unpleasant to deal with compared to the simplicity of init scripts, crontabs and the like.
The sad thing is, there’s undoubtedly some good ideas buried in it, but they could all have been implemented much more lightly and in a way that worked with the rest of the ecosystem rather than fighting it. Things like starting daemons in what is essentially a repeatable sandbox, or being able to isolate logging per service. They could, and had both been implemented already, but systemd has a real “not invented here” problem, so everything was built again, with all the attendant bugs, and design issues that inevitably brings.
Ultimately clients pay good money for me to look after their systems, systemd or not, so I probably shouldn’t grumble, but I miss the days when Linux was a clean and elegant system, without this multi-tentacled thing sitting on top of it.
Ultimately clients pay good money for me to look after their systems, systemd or not, so I probably shouldn’t grumble, but I miss the days when Linux was a clean and elegant system, without this multi-tentacled thing sitting on top of it.
I also have a sysadmin/devops/sre type career, and my impression is rather the opposite: With systemd Linux became a lot cleaner and predictable, compared to the mess of shell scripts we had before. There’s never been anything clean or well-architected about shell scripts, they’ve always been a messy collection of not-quite-the-same languages that have all safeguards turned off by default, and it’s up to the programmer to turn them on and hope they actually work. Good for one-shots and exploration in the terminal, though.
I also don’t miss logrotate or finding out that some app places its logs somewhere mystical. Being able to read app logs just by knowing the service name is wonderful, as are the timestamp and boot arguments.
systemd didn’t appear as just one guy’s brain child, nor could it rise to the dominance it has if the way it works was as controversial or bad as it is in your opinion.
I haven’t been on-call for the past few years, but my impression is that there have been fewer and fewer on-call events over my career. That’s also largely on app developers and a shift to Kubernetes, but it’s a generally pleasant change. There’s nothing I hate more than being woken up.