this post was submitted on 19 May 2024
117 points (89.8% liked)

Linux

47237 readers
3343 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
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 0 points 4 months ago* (last edited 4 months ago) (3 children)

In your opinion what makes a terminal program "more useful" than a GUI program with the exact same functionality? Genuinely curious because it's a perspective I cannot wrap my brain around lol

[–] [email protected] 3 points 4 months ago* (last edited 4 months ago) (1 children)

It has always just felt a lot faster than navigating through a GUI. I suppose at the end of the day this is entirely dependant on how well designed the GUI is. Should I type in one command I have memorized or navigate through multiple sub pages?

It is also just what I am used to maybe

[–] [email protected] 1 points 4 months ago

I see. For me, the step of memorization is time-consuming, especially for a program I only need on rare occasions and for simple tasks.

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago) (1 children)

Simple example: installing stuff. Much faster and simpler to type "install foo" in cli than open a gui, searching for it, finding the right one, clicking install.

Same for updating: it takes me 2s to type the command to update all packages, that's less than the time I need to move my mouse to the icon of the package manager.

[–] [email protected] 5 points 4 months ago

Sorry, but that doesn't really work. I can expand your terminal answer as much as you did the gui one. You have to open the terminal, use the man page for apt to find out how to search for a packages name, search for a package and hopefully find it, then you need to run another command with that package name to install it.

Meanwhile, I can shorten the gui example to "It take me two seconds to use the search bar and click install"

They all have their ups and downs, guis are just easier and more intuitive for people who don't live and breath terminal commands. Terminals can be extremely confusing for them, having never used one before.

[–] [email protected] 2 points 4 months ago

The flaw is in the question: terminal apps practically always include more functionality especially for batch processing and automation of tasks.

I'll give an example: Find me a GUI application that can quickly convert a gigabyte of .doc files into .pdf format. Pandoc can do that with a single command.

Also: You're probably comparing the process of "using" a GUI app with "using" a terminal app, in other words, if you spend 8 hours sitting in front of Premiere or KDENLIVE clicking a mouse, you expect to do the same job with ffmpeg by sitting in front of it for 8 hours typing commands, right? But that's not how it's designed to work; it's designed for you to write scripts that do the things you commonly do, which takes time to do once, then you run those scripts, maybe even from the GUI.

I'll give a real example: the software I use for my personal journal is called RedNotebook. This stores the data in a human readable markup format (I think it's YAML?) and displays it in rich text, including the ability to display inline pictures. I like putting pictures in my journal.

First problem: what it actually does is store a relative path to the location of the picture in your file system; if ever I was to change the location in my file system where I store the journal or my pictures, or change operating systems, this would break. So I created a Pictures folder within the Journal folder to copy all pictures there.

Second problem: My phone takes 12MP or larger pictures and the journal displays them at full scale so they take up the whole screen. I'd like to shrink them.

Third problem: The app's "Insert picture" funcionality opens a file browser window written in QT which is different than the one from most of my GTK-based desktop apps use and I'd have to manually find the file.

Simultaneous solution: I wrote a short bash script that calls ImageMagick to shrink the image among a few other cleanup details, and builds the appropriate string to paste into my journal and puts that string in the primary buffer. I then wrote a Nemo Action so that the option to run this script appears in the context menu iff I right click on exactly one image file. Now I can add an image to my journal by browsing to its location in my file manager, right clicking, clicking Add To Journal, and then middle clicking in RedNotebook where I want to paste the picture.

There are hundreds of tedious little things I would do over and over again clicking through endless menus, windows and dialogs that I can script away, like paving my own bypass lane.