156 points

A gui is helpful sometimes, but there’s a lot of cases where there’s no feasible way to make a good gui that does what the terminal can do.

Right tools for the right job.

For example, a gui to move a file from one folder to another is nice - drag and drop.

A gui that finds all files in a directory with a max depth of 2 but excludes logs and runs grep and on matching files extracts the second field of every line in the file? Please just let me write a one liner in bash

permalink
report
reply
127 points

A GUI makes simple things simple.

A shell makes hard things possible.

permalink
report
parent
reply
55 points

Me fucking with hard drives/partitions : GUI please

Me doing pretty much anything else - Terminal

permalink
report
parent
reply
29 points

I always install gparted in the live environment πŸ˜‚β€¦ cuz… yeah, I can fuck things up and end up without my data πŸ˜‚.

permalink
report
parent
reply
11 points

Really you never organoze gigs of photos? That a gui task

permalink
report
parent
reply
2 points

I see a lot of people saying they have to use a GUI tool for partition management, and I’ve never understood why.

Text based tools like parted are fairly easy to use, at least compared to other terminal tools the same people are able to use for other tasks.

What is it about partitioning that needs a GUI when other tasks don’t? Is it the visual representation of the partition layout? A general fear of borking a disk?

permalink
report
parent
reply
3 points

A CLI makes simple things easy to implement.

permalink
report
parent
reply
5 points

I don’t think I’ve ever used grep outside of a CLI.

permalink
report
parent
reply
6 points

Surely you’ve used something roughly equivalent like searching a text, be it web page or other document, for a word or filtering a spreadsheet?

permalink
report
parent
reply
0 points

How would one use grep for a webpage in a browser? Does the page need to be accessed outside the browser?

permalink
report
parent
reply
3 points

Emacs grep lets you run grep, and formats the results in a buffer from where you can then easily visit the files at the match location.

permalink
report
parent
reply
5 points

Agreed πŸ‘.

permalink
report
parent
reply
-13 points
*

Disagree. Anything that can be done with terminal can be done with a GUI, you just need to be good at UX. Most programmers I know are pretty bad at UX, and program for themselves, not the user.

Edit, just to clarify (because I know some of you will feel personally attacked): I’m not saying a GUI may be better, or more efficient than a CLI, I’m just saying that it can be done. And as an example, see 3D shaders in modern programs, that need no code at all and are purely visual. That was unthinkable some years ago.

permalink
report
parent
reply
15 points

That’s just not true. Not without lots of hand waving.

In my terminal I can, and pretty much hourly do, combine many programs in chains of input and output to perform specific tasks and get information I need. And that’s how these programs are designed to be used. The programmer builds it to do specific things and then the user can combine the program with others in novel and nearly endless ways.

With a GUI, sometimes that’s possible between two programs if you can copy/paste between them but it’s much less reusable and a lot more tedious. But usually it’s just not possible because they’re designed for specific user personas and not as general purpose tools that may be part of a script.

permalink
report
parent
reply
-6 points

Well, seeing the progression of 3D programs and how a lot of complex operations are nowadays done in a visual way, I guess we won’t agree on this one, I guess.

But I affirm in my conviction that anything can be made with a GUI. It may be difficult to reach a suitable GUI, with a lot of back and forth, and probably a lot of user feedback, but with a good methodology and a good understanding of UX, it can be done.

Sad we can’t agree. Cheers.

permalink
report
parent
reply
11 points

They tried to replace programming languages with drag-and-drop toolkits too. It can be done, but sometimes there’s a reason we don’t do it.

permalink
report
parent
reply
-3 points
*

But I’m not talking about programming languages, I’m talking about CLI programs, or system commands.

And I’m not telling a GUI would be better, or more efficient, I’m just saying that it can be done (something you are saying too about programming languages).

That’s the point: a GUI can replace a CLI. Is it better? Sometimes it is, sometimes it isn’t. Is it possible? Absolutely.

permalink
report
parent
reply
11 points
*

How would you implement piping in GUI?

Could you show us an example program with a GUI you created for this?

permalink
report
parent
reply
7 points

To play the opposite team a bit here, I like the idea Android uses of Intents for something like this. I think it falls apart a bit in reality because app companies kinda want you in their garden and so don’t often do the work to keep things interoperable. That and the use cases from users on phones don’t frequently involve cross app functionality. But the ability is powerful for apps to say β€œmy app needs a user photo” or one of my faves β€œmy app needs a pgp provider (for the password store app)” and then let the other app do that piece of functionality as determined by the OS, which tracks a lot of those providers and lets the user decide which to use.

permalink
report
parent
reply
4 points

https://en.wikipedia.org/wiki/Automator_(macOS), or in general, https://en.wikipedia.org/wiki/Visual_programming_language

'Course, there’s a reason those things basically never catch on, which is that they don’t actually reduce the inherent difficulty of figuring out the algorithm, and for anything non-trivial messing with a whole bunch of drop-down lists and shit is more cumbersome than just typing the damn thing.

permalink
report
parent
reply
3 points
*

Are you talking about sending the output of one process to the input of another?

I think the shaders I’ve mentioned are a great example of that: you do something in a block, then send the result to the input of another block.

Sorry if it’s not what you mean, but my point is that, with some effort, you can create a visual representation of even the most abstract concepts. Physicists do this constantly. If we can make a visual representations of 4D, for example, what prevents us from doing the same for programming logic? Or for commands?

permalink
report
parent
reply
2 points

This right here, you can gui a single program, but with pipes we can chain nearly infinite programs. No way can you make a gui that is that flexible, I refuse to believe until I see it

permalink
report
parent
reply
6 points

Most programmers are bad at UX but not nearly as bad as GUI designers are at understanding abstraction.

permalink
report
parent
reply
0 points

Most programmers are bad at both lol.

permalink
report
parent
reply
-7 points
*

That’s your opinion, and I disagree with it. It takes a lot of abstract thinking to synthesize an action in a visual way, like an icon.

Designers are good at lateral thinking, and founding visual ways of representing abstract concepts (and you can’t represent something visually if you don’t understand it first).

permalink
report
parent
reply
1 point

You can have your GUI do anything a terminal can I guess, but you’d need a few million buttons on that gui where the programmer has anticipated each and every combination of CLI command that you are going to use, encoded that to a button or menu, included text entry boxes for each variable and have bundled every program, application and dependency that has ever existed. Totally possible.

permalink
report
parent
reply
-6 points

So true!!!

permalink
report
parent
reply
68 points

Super + T in my case, but still…

(shhh 🀫, it’s actually the win key, but don’t let the Linux users hear ya 🀫)

permalink
report
reply
38 points

Super + Enter 😏

permalink
report
parent
reply
7 points

Tiling manager crew checking in (I use hyprland btw)

permalink
report
parent
reply
3 points

I do ctrl + enter for terminal, with super+enter being used to launch emacs

permalink
report
parent
reply
34 points
*

◉⁠‿⁠◉ The Win-key isn’t real

permalink
report
parent
reply
15 points

For me it’s the (custom-ordered) Arch logo key ◉⁠‿⁠◉

permalink
report
parent
reply
9 points

Using it in Linux is a win… HA!

permalink
report
parent
reply
8 points

Super key? Windows key?

Say what now?

Typed on my 1991 ibm model m keyboard

permalink
report
parent
reply
6 points
*

For me, it’s:

  • mod + return for terminal
  • mod + e for file manager
  • mod + r for dmenu/bemenu
  • mod + d to switch to the next empty workspace.

All because I have to work with win10 workstations and using a different, superior shortcut scheme would mess up my muscle memory. Remembering to use shutdown -s -f -t 0 instead of poweroff is difficult enough, and don’t even get me started with the audacity to use curl as an alias for Invoke-WebRequest!

permalink
report
parent
reply
1 point

Super + D for show desktop in my case.

permalink
report
parent
reply
5 points

"Win"dows key? More like… Lose…key

permalink
report
parent
reply
3 points

So you’re telling me you don’t have a bunch of tux stickers?

permalink
report
parent
reply
4 points

For the key? No, it’s not like I don’t know what I’m running πŸ˜‚.

permalink
report
parent
reply
3 points

I have to confess. I had to look up the shortcut for terminal because I haven’t interacted with a Linux desktop in years. I’m a Windows cuck, but not a total imposter bc I’ve kept a debian server running on my network for years. Whenever something breaks or I do an update (the updates are invariably the cause of the breakage) I manage her with ssh.

permalink
report
parent
reply
1 point

It’s Ctrl+Alt+T on most DEs… but, that’s way too many keys for my taste, so I usually just add Super+T as well (don’t remove the default).

permalink
report
parent
reply
3 points

Super + S for a terminal, Super + F for Firefox.

permalink
report
parent
reply
2 points

Why S πŸ€¨β€¦

permalink
report
parent
reply
3 points

Serminal

permalink
report
parent
reply
2 points

At the time I decided on it, I used Sakura as a terminal emulator, plus it’s on the home row. I use a different term emulator now, but the muscle memory remains.

permalink
report
parent
reply

Super + E here

By far my most used hotkey in bspwm

permalink
report
parent
reply
49 points

I use Super+Return

permalink
report
reply
35 points

I use Meta+Enter :)

permalink
report
parent
reply
13 points
*

I believe I may have found a compromise: ❖+⏎

permalink
report
parent
reply
10 points

I use Capslock and it is beautiful.

permalink
report
parent
reply
4 points

Just capslock? No modifier key?

permalink
report
parent
reply
0 points

NOT PROPERLY YOU DON’T

permalink
report
parent
reply
1 point

I use Super+C

permalink
report
parent
reply
34 points

Honestly, I like both. I use whichever provides the biggest productivity multiplier. For example, I can navigate around the filesystem and manipulate text files and code extremely quickly in the terminal. On the flip side, I like to use a gui which allows me to spread 6-12 terminal windows across my multiple displays.

permalink
report
reply
18 points

Yeah, GUIs are great. I especially like having multiple tabs to organize my terminals for different tasks.

permalink
report
parent
reply
33 points

The terminal is not fancy, or pretty, and its not that nice to use, but its always available and it gets the job done, just like OPs mum

permalink
report
reply
5 points

My terminal is pretty, fancy, a nice to use. I’m not sure, you might be using the default LXDE terminal or something like that, but some people take the time to make their terminal enjoyable.

permalink
report
parent
reply
4 points

I like to use starship.rs

permalink
report
parent
reply
3 points

You can make it fancy and pretty.

permalink
report
parent
reply
6 points

That’s where the comparison falls apart.

permalink
report
parent
reply

linuxmemes

!linuxmemes@lemmy.world

Create post

Hint: :q!


Sister communities:

Community rules (click to expand)

1. Follow the site-wide rules
2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of β€œpeasantry” to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
4. No recent reposts
  • Everybody uses Arch btw, can’t quit Vim, and wants to interject for a moment. You can stop now.

Please report posts and comments that break these rules!

Community stats

  • 6.6K

    Monthly active users

  • 1.3K

    Posts

  • 69K

    Comments