For a while, Linux mostly had the philosophy that your software should come with a text interface, optionally a GUI, and a C library. That library part is for solving the messes created by tangled text interfaces.
But nowadays lots of things only come for the GUI.
But nowadays lots of things only come for the GUI.