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.
It mostly comes because a linux system is essentially a collection of much smaller programs that do one simple thing each, and each of those programs has alternatives.
So doing a gui for one program would allow you to control that one and not the others, and if you were using an alternative, you wouldn’t have that gui.
Now trying to make a gui that agglomerates the most common ones has been done for userspace, mostly on specific distros… but when it comes to administering systems… it’s a different story.
services, dns, ntp, boot, wm, lm, firewall, dhcp… all of these have important things to touch, but also have different programs that implement them.
Most authors of these programs don’t bother with gui, mostly because it’s quite some work, but also because it’s not their problem. UNIX philosophy is very much do one single thing and do it well… and when you can do a simple CLI that allows users and PROGRAMS to communicate with your program, why bother with GUI if it only accommodates one part of that equation?
Devs don’t bother with GUI not because they think it’ll be useless, but because it’s a lot of extra work for something that ultimately will be less reliable than CLI…
One reason why linux is so good at doing servers is that no system software needs a GUI to work. Windows server has a headless version, but look how many applications are just unable to run on it as they all rely on GUI…
So in a way, having CLI first and GUI second is a blessing, even if it makes the first approach more difficult for users.