this post was submitted on 20 Jul 2023
1076 points (97.2% liked)

Linux

48684 readers
342 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
 

My brother is 12 and just like other people of his age he can't use a computer properly because he is only familiar with mobile devices and dumbed-down computers

I recently dual-booted Fedora KDE and Windows 10 on his laptop. Showed him Discovery and told him, "This is the app store. Everything you'll ever need is here, and if you can't find something just tell me and I'll add it there". I also set up bottles telling him "Your non-steam games are here". He installed Steam and other apps himself

I guess he is a better Linux user than Linus Sebastian since he installed Steam without breaking his OS...

The tech support questions and stuff like "Can you install this for me?" or "Is this a virus?" dropped to zero. He only asks me things like "What was the name of PowerPoint for Linux" once in a while

After a week I have hardly ever seen my brother use Windows. He says Fedora is "like iOS" and he absolutely loved it

I use Arch and he keeps telling me "Why are you doing that nerdy terminal stuff just use Fedora". He also keeps explaining to me why Fedora better than my "nerd OS"

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 24 points 1 year ago (13 children)

Why are you doing that nerdy terminal stuff

That is a legitimate question. I still don't fully understand people's obsession about terminal. It's 2023, we should be able to do everything comfortably using GUI rather than type everything, remembering all the commands, parameters, paths, permissions etc.

[–] zygo_histo_morpheus 48 points 1 year ago (3 children)

As a terminal fan, my main reasons for preferring them over a gui (for some tasks) are:

  1. It's faster to type than to navigate menus
  2. If I don't know where something is and can't guess it instantly, it's usually faster to search for it in a man page than randomly digging through gui menus
  3. You can combine commands with each other with pipes or $()
  4. You can search through your command history to find previous commands
  5. You can write scripts and aliases to automate common tasks
  6. The terminal requires less context switching. Typing ten commands is less mentally taxing than opening ten different guis

The barrier for entry is higher with terminals but unless you need visual feedback (e.g. because you're editing an image) it's easier and faster for both common and rare tasks.

[–] [email protected] 12 points 1 year ago

And even for some types of image editing, terminal is way faster and easier. Some of the things i've done that are a simple command with imagemagick i wouldn't even know which gui app to install, let alone how to do it

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

To add to point 4; in most Unix terminals you can use Ctrl+R (mnemonic “reverse”) to search commands from your history, press Ctrl+R repeatedly after typing to keep going back up, start using the arrow keys to leave the search or hit [Enter] to run the result

[–] [email protected] 0 points 1 year ago (2 children)

Well some if those are only true for smie people. Add in a vad case of dyslexia and it get real hard to kniw if what you just tyoed is correct, and does any cli have a spell checker.

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago)

There's this aptly-named utility that I'm currently using:

https://github.com/nvbn/thefuck

I do think GUI is the way to go for "typical" usage, but if you wanted to set up a faster way to run a command you use often, you would create an alias to handle a complex command or something you do often.

For example, I have 'updateall' as my command to run 'sudo apt update && sudo apt upgrade && flatpak update'. Why not GUI for this? I like to see what's going on during my updates. It's also kind of satisfying for some reason.

Anyway, I suspect your problem then would end up being not running a syntax, assuming it even exists, but the correct syntax, which I often encounter, but that's what 'history | grep' is for.

[–] zygo_histo_morpheus 5 points 1 year ago (1 children)

Fair enough, I'm not against people making guis as well for people who prefer them for whatever reason, my point is that people don't just prefer terminals because of elitism or something. I imagine terminals can be better than guis for some disabilities as well.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (2 children)

yeah. you can change font size / change font on a terminal much easier than many GUI applications. and terminal is going to have that same standard apply to everything

from what i understand, there are fonts for people with dyslexia

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

Open dyslexic, and ironically comicsans

[–] zygo_histo_morpheus 2 points 1 year ago

I'm sure there are ways to make it more convenient to use a terminal with dyslexia but I'm gonna guess that it's always going to be a bit of an uphill battle. It might make more sense to use a gui in that case for many applications. Conversly, it's also good to make sure you have a proper terminal interface as well for disability reasons, but also for the convenience that a terminal interface can provide for people who are familiar with the terminal.

[–] [email protected] 14 points 1 year ago (1 children)

Because it just works (tm). And it is flexible to a point that no GUI can ever accomplish. It's liberating. It's repeatable, It's automatable. It's about control. And most importantly, it's FAST!

If you try to max out the control, GUI comes out of as an UX disaster. Check any enterprise software GUI to see what I mean. There will be lot's and lot's of buttons all around, and you would also end up with some kind of text input or programming environment inside it.

[–] [email protected] 5 points 1 year ago

Consider this but triple the complexity and everything https://wiki.wxwidgets.org/images/1/1f/BinPjOptions.PNG

[–] [email protected] 12 points 1 year ago* (last edited 1 year ago) (1 children)

I agree in certain circumstances. For example a file manager I don't understand why people use in a terminal. When I need to do like batch deletions or something I can easily just write a couple terminal commands. Everything else I just use the default file manager. Either Finder on MacOS or the Gnome one on Linux.

But stuff like vim, a terminal text editor, is simply more fluid and enjoyable than a GUI program. I've tried using vim plugins for various different GUI text editors like Sublime or VS Code but there's nothing like a personalized vim install. It takes a little bit to get used to the commands, but once you do it's like riding a bike. You just feel faster and muscle memory takes care of the rest. You don't actively think about it

same thing with for example package managers. it's faster to just press my hotkey to open up terminal, type in "sudo dnf install <whatever>" and it's installed. why do we need a GUI here? it doesn't make anything faster. In fact, it just gets in the way.

so some things GUIs don't actually improve. Some they do. It's a per case thing I think

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

A gui helps when you don't know the package's name

[–] [email protected] 8 points 1 year ago

It's way easier to communicate a terminal based solution over the internet. Instead of making a guide with images, possibly needing annotation, you can just say "run x, y, z in order" and the user can just copy and paste it (even though it's a bad habit to run random commands off the internet)

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

I mean you could certainly have both but Linux treating its terminal as a first class interface is a big killer feature of Unix/Linux I think and why it's still used in the server/dev world so much. Having a command line interface that's not an afterthought, fully scriptable, and can be automated is very convenient for large tasks that need to be chained together whereas on Windows you have things like PowerShell where not every program you want to do things with in PowerShell has a way to interact with PowerShell, since in Windows you have the opposite problem of GUI being the only first class interface. I think I'd be worried that if you de-emphasized the terminal more you'd get the weird situation that happened to Windows and PowerShell whereas it's usually not super hard to build your own GUI around an open source terminal program. A lot of people aren't especially motivated to do that so some programs don't have GUIs, but if you're feeling like more programs need one then go for it.

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

I just find certain things to be quicker in the terminal than doing it through a GUI.

Like installing software. I think it’s quicker and more direct to do something like sudo pacman -S Firefox than to go through a gui. Especially if Im using a drop down terminal that I have hot keyed.

As for remembering everything, I’d say it’s just a matter of experience. Like, you had to learn how to use a GUI app at one point or another.

[–] [email protected] -3 points 1 year ago* (last edited 1 year ago)

Good username reference.

[–] [email protected] 2 points 1 year ago

There should be a good GUI for everything but a terminal offers more options to do certain things a lot faster. Especially in work environments. And once you're used to this level of efficiency and control you're not likely to stop doing that in your home network.

[–] [email protected] 2 points 1 year ago

Terminal fan here (though I’m on Mac). GUIs, in an attempt to contain all the features of a CLI program while being user friendly, make compromises on simplicity. It’s difficult to remember the combination of buttons to click to get what you want. For CLI programs, you have man and —help to figure it out. Of course there’s the pipes and automation aspects of it too.

[–] [email protected] 2 points 1 year ago

Because you have much more control

[–] [email protected] 2 points 1 year ago

one of the most important things about text based interfaces is reproducability. Being able to run commands and get the expected results every time and easily share it with others. GUIs can be customized and re-arranged, and its much harder to automate things with a GUI program vs a text based one. Those are handy features which will probably prevent the terminal from ever dying.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

I work a lot with building engineering programs with GUIs, and while you can get a lot of functionality in a GUI, there's always some things that just aren't worth the time to accomodate or even be a common enough issue to even think of

[–] [email protected] -2 points 1 year ago (1 children)

This is what sucks about Linux. It’s still not as complete as Windows in that regard… Things being too techy, even the real user friendly ones still got it.

[–] [email protected] 9 points 1 year ago (1 children)

You got this the wrong way around. Windows is lacking a proper terminal. You are at the mercy of constantly redesigned GUIs for literally everything. Windows is an absolute pain to use if you aren't used to it and have developed a certain amount of Stockholm syndrome.

[–] [email protected] 1 points 1 year ago

Same way other way around.