6
submitted 1 year ago* (last edited 1 year ago) by jarredpickles87@lemmy.world to c/linux@lemmy.ml

I understand the usefulness of the terminal and how universal it is for troubleshooting across distros. But can't there be a way to make a nice graphical tool for the various admin level tasks that need to be performed?

Edit: Thank you to the outpouring of feedback on this. It has greatly opened my eyes to how much I don't know about. I did see a couple suggestions though, so I'll be sure to check them out.

you are viewing a single comment's thread
view the rest of the comments
[-] steph@lemmy.clueware.org 1 points 1 year ago

Simple: because it goes against the KISS principle. The GNU tools that constitute the user interface to the system comes from a philosophy that started with Unix: simple tools, doing one thing well, communicating through "pipes" - i.e. the output of one tool is supposed to be used as the input of the next one.

Such philosophy allows to assemble complex logic and workflows with a few commands, automating a lot of mundane tasks, but also allowing to work at a large scale the same way you would work on a few files or tasks.

Graphical tools don't have such advantages:

  • UI are rarely uniform in their presentation or logic, as there's so much way to present options and choices;
  • Apple did something nice in the way of automating with AppleScript, but I've not encountered anywhere else. GUIs are rarely automatable, which means you'll need some clicking and pushing buttons if a task has to be repeated - or the GUI has to be altered to be able to replay a set of commands for multiple items;
  • interconnecting different GUIs so that they can exchange data is just impossible. You usually end up with files in dedicated format, and the needs to massage data from one format to another to be able to chain tasks from different GUIs
  • more importantly, command line work with minimal bandwidth and tooling on the client side. Tmux, Mosh and similar tools allow to work with an intermittent connection, and have a very low impact on the managed system;
  • in some specific fields - notably embedded and industrial systems - you just can't justify allocating resources just for a graphical environment. On these system, CLI is as powerfull as on a full fledged server, and don't requires stealing precious resources from the main purpose of the system.

Beware though: as time passes, Unix founding principles seems to get forgotten, and some CLI tools manifest a lack of user experience design, diverging from the usual philosophy and making the life of system administrators difficult. I've often observed this on tools coming from recent languages - python, go, rust - where the "interface" of the tools is closer to the language it's written with than the CLI uniform interface.

this post was submitted on 14 Jun 2023
6 points (100.0% liked)

Linux

48097 readers
563 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