this post was submitted on 19 May 2024
160 points (90.8% liked)
Linux
48371 readers
1666 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
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
view the rest of the comments
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.