this post was submitted on 16 Dec 2024
76 points (88.8% liked)

Linux

48668 readers
518 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 10 points 6 days ago (3 children)

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...

[–] [email protected] 21 points 5 days ago (2 children)

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.

[–] [email protected] 3 points 4 days ago

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.

fish autocomplete subcommands

fish autocomplete git

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.

[–] [email protected] 5 points 5 days ago* (last edited 5 days ago)

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

[–] [email protected] 7 points 5 days ago (1 children)

👆 exhibit A of why Linux can be difficult for newcomers

[–] [email protected] 6 points 5 days ago

Linux has been very successful without catering to those who don't want to learn new things.

[–] [email protected] 1 points 5 days ago (1 children)
[–] [email protected] 3 points 5 days ago* (last edited 5 days ago) (1 children)

The name is constructed from two parts:

  1. ls: list
  2. usb: 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 in dmesg -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

[–] [email protected] 1 points 4 days ago (1 children)

Ah thanks, I wonder if GUI tools for this is useful. Especially if it is for system diagnostics.

[–] [email protected] 1 points 3 days ago

I think I wouldn't find it particularly useful, as I'm used to the quasi-programming I can do in a terminal. The shell commands take some time & effort to learn, but once you're over that hump, being able to extract and compose information is really good. The primary shell tools I'd miss in a gui are |, jq, awk, sed and grep/rg, as well as for, if, while, variables, and having everything in one lightweight window.