0

I have been using Linux for about 6 months and I got into terminal programs like cmus, MPlayer, and sc. I am wondering how complex a program can get before creating a GUI would be better. An example would be if I took GIMP and made it render and work exactly the same, just in the terminal. I guess I just do not understand the limitations of the terminal, if there are any. Anyone who knows the limitations of the terminal or knows of resources to point to toward that would be appreciated.

1
  • 1
    "Complexity" is not a metric used to decide GUI/non-GUI. "What's the target audience? What's the task?" are better criteria.
    – waltinator
    Dec 28, 2021 at 3:26

2 Answers 2

1

It's not a matter of complexity, it's a matter of data representation and resolution. A classic terminal is text only, where a full GUI is pixel based, drawing any text with pixels.

In classical terminal, only characters can be displayed. It is possible to do full "graphical" menus and even mouse gestures in just text, but it's somewhat awkward sometimes in comparison to a full GUI, but still very usable and can be very complex.

However, displaying images like in gimp can't be done in just text. You can represent images with ascii art, but that's not quite the same, and the resolution just isn't there.

Similarly, you could implement something like gimp in a raw graphics frame buffer without the full GUI but still get the full advantage of pixel representation and resolution, but it would be missing things like window manipulation, so you might be restricted to a single window with a single application, or you'd have to reimplement the full GUI. Also, the GUI toolkit gimp is based on would have to be ported to the framebuffer as it was designed to use the support available in the full GUI.

0

A terminal running in one Ubuntu version is theoretically capable of spinning up a virtual machine minimal guest OS of a different Ubuntu version without a desktop environment and simulating package management actions like installation and uninstallation without making any changes to the minimal guest OS. None of this depends on a GUI, so it could all be done entirely in the terminal from the command line.

One of the uses of such a text-only minimal guest OS would be to inform the user if it's possible to upgrade an existing installation of Ubuntu without uninstalling any of its currently installed applications.

Not the answer you're looking for? Browse other questions tagged .