GUI is a generic swiss army knife. It’s easy to introduce to someone, and it has a whole array of tools ready for use. However, each of those tools is only half-decent at its job at best, and all of the tools are unwieldy. The manual is included, but it mostly tells you how to do things that are pretty obvious.
CLI is a toolbox full of quality tools and gadgets. Most people who open the box for the first time don’t even know which tools they’re looking for. In addition, each tool has a set of instructions that must be followed to a T. Those who know how to use the tools can get things done super quickly, but those who don’t know will inevitably cause some problems. Oh, but the high-detail manuals for all the tools are in the side compartment of the toolbox too.
Tbh the terminal is super convenient. No random UI placement. Most things follow one of several conventions so less to get used to. It’s easy to output the results of one command into another making automation obvious, no possibility for ads. It’s pretty sweet
People can do whatever they like, and heck I find CLI intimidating sometimes, but I’m always learning something new a little bit at a time.
I’m tired of seeing it in every field of interest that has any kind of payoff, whether art or FOSS.
“I’m [(almost always) a guy] who (maybe has kids and) has a job. I stopped learning anything after I got my job-paper / degree / highschool diploma. I shouldn’t have to learn anything anymore. I am happy to shell out disposable sad-salary-man money (and maybe my soul idk) to any mega-corp that offers me a “create desired outcome button” without me having to think too much. It’s [current year]! I shouldn’t have to think anymore! Therefore Linux is super behind and only for nerds and I desire its benefits so much that I leave this complaint anywhere these folks gather so they know what I deserve.”
Agh. I gotta go before this rant gets too long lol
Terminal is fun. I like being hackerman
Nothing wrong with CLI. It is fast and responsive.
Unless you want mainstream use. Because the majority of people can’t even use a UI effectively. And CLI is much worse.
This is the core of the argument. You can’t expected the average casual user to use CLI at all if you want mainstream adoption. The vast majority of people can barely operate Windows as-is, telling them to use a Linux CLI would be asinine.
There was a time before Windows where a lot of people used MS-DOS and it was all terminal. Maybe computers where less popular back in those days because of the learning curve, but still many people used a PC with just the terminal.
Oh absolutely. We’re in a very different age today though. Like hell I can’t imagine either of my own parents understanding the basics.
Yup. I made a scientific analysis program. Using CLI and your own editors you can do so much. And instead of focusing on making the algorithms, I had to focus on making a GUI for months because people need things to click.
And then even with very responsive and easy GUI, with like just 5 types of “views” and probably like <5 buttons/inputs each, people are like “it seems complicated” within like 1 minutes of demo. They haven’t even tried to use it or tried to learn anything. I even modeled the views to be as similar to another software they use.
I feel like people just don’t like computers.
I’m a programmer and I definetly don’t like computers.
Its also repeatable. Usually the same commands and ways work on the majority of systems. If you want to do that with a GUI you have to refresh a tutorial etc. Every time they change the UI. With CLI commands this usually isn’t the case.
Exactly. Most things need to optimize for the lowest common denominator of understanding, and buttons with words and fields that have explicit purposes and positioning are a much easier starting point than “use
command -help
and figure out the syntax yourself,” even if someone who learns the syntax could then possibly be more efficient at using it.
I do most of my work at the command line, my co-workers do think I’m nuts for doing it, but one of our recent projects required us all to log into a client’s systems, and a significant portion of the tasks must be done via bash prompt. Suddenly, I’m no longer the team weirdo, I’m a subject matter expert.
Wait until they find out about Ansible.
I use Linux and I prefer GUIs. I’m the kind of person that would rather open a filemanager as superuser and drag and drop system files than type commands and addresses. I hope you hax0rs won’t forget that we mere mortals exist too and you’ll make GUIs for us 🙏🙏🙏
Tbf, the file explorer is actually one really good argument for GUIs over terminals. Same with editing text. Its either simple enough to use Nano or I need a proper text editor. I don’t mess around with vim or anything like that that.
Its all tools. Some things are easier in a file manager, some things are easier in a GUI.
You’ve angered the Emacs gods 😨
Good. They need to be humbled haha
I think it depends, if I have a simple file structure and know where stuff is, it’s pretty efficient to do operations in the terminal.
If I have a billion files to go through a file manager might be easier.
Nano, the best text editor
Yeah I prefer fancy text editor too. And my biggest heartbreak was learning that I can’t just
sudo kate
(there’s a way to use Kate to edit with higher privileges but I never remember how, edit: apparently it’s opensuse specific problem).Born to Kate, forced to nano
The problem is running GUI code as root as it’s never been vetted for that. What you want, effectively, is to have
EDITOR
variable of your session set tokate
and open system files usingsudoedit
. I’m a terminal guy myself, so this exact thing is enough for me. Having said that - I’m sure someone will chime in with a plugin/addon/extension/etc that adds this to the right click context for what I assume is KDE. Or you can try looking for that om your favourite search engine.You can edit system files with a GUI text editor by opening the containing folder as root in a GUI file manager, then opening the file you want to edit from there.
I use both, depends a bit on the task at hand. Generally simple tasks GUI and complex ones CLI. Especially if I want anything automated.
I tried to learn superfile thinking it could make terminal more exciting but nah.
Gimme that comfy file explorer gui.
Totally agree.
It depends. But yeah I’d rather use something like Handbrake than raw dog FFmpeg.
FWIW I do use the file browser too when I’m looking for a file with a useful preview, e.g. images.
When I do have to handle a large amount of files though (e.g. more than a dozen) and so something “to them”, rather than just move them around, then the CLI becomes very powerful.
It’s not because one uses the CLI that one never used a file browser.
Yeah, when I need to inspect lots of images I just open the folder in gwenview.
For peeking at a single picture or two through you can hold down control and click/hover on the filename when using Konsole. Love that feature. You can even listen to
.wav
files this way.Very nice, I don’t seem to have that option available but I can right-click on a filename to open the file manager in the current directory. Good to know!
I once did
rm \*
accidentally lol. I now have a program that just moves files to trash aliased as “rm” just in case. I just don’t feel confident moving files in CLIYeah it happened to all of us. The console is powerful and it means when you mess up, it will have BIG consequences. One learns to test first before globbing https://en.wikipedia.org/wiki/Glob_(programming) too much!
I would say “why not, to each their own” if not the thought about what else the filemanager is going to do with root access (like downloading data from web for file preview). But the general sentiment still stands, it is absurd to think that computer must be used only in one way by all people
Having started out in programming before the GUI era, typing commands just feels good to me. But tbh Linux commands really are ridiculously cryptic - and needlessly so. In the 1980s and 90s there was a great OS called VMS whose commands and options were all English words (I don’t know if it was localized). It was amazingly intuitive. For example, to print 3 copies of a file in landscape orientation the command would be PRINT /COPIES=3 /ORIENTATION=LANDSCAPE. And you could abbreviate anything any way you wanted as long as it was still unambiguous. So PRI /COP=3 /OR=LAND would work, and if you really hated typing you could probably get away with PR /C=3 /O=L. And it wasn’t even case-sensitive, I’m just using uppercase for illustration.
The point is, there’s no reason to make everybody remember some programmer’s individual decision about how to abbreviate something - “chmod o+rwx” could have been “setmode /other=read,write,execute” or something equally easy for newbies. The original developers of Unix and its descendants just thought the way they thought. Terseness was partly just computer culture of that era. Since computers were small with tight resources, filenames on many systems were limited to 8 characters with 3-char extension. This was still true even for DOS. Variables in older languages were often single characters or a letter + digit. As late as 1991 I remember having to debug an ancient accounting program whose variables were all like A1, A2, B5… with no comments. It was a freaking nightmare.
Anyway, I’m just saying the crypticness is largely cultural and unnecessary. If there is some kind of CLI “skin” that lets you interact with Linux at the command line using normal words, I’d love to know about it.
It’s definitely more intuitive but It would drive me insane having to type that all out.
Like I said, you could abbreviate any way you liked as long as it was unambiguous. I think the ease of remembering meaningful words overrides the bit of extra typing It drives me more insane - and takes more time - looking up one-letter options that have no relation to what they do.
The great thing about the core philosophy of unix is that you could easily do what you suggest and maintain compatibility with applications that rely on the traditional coreutils (Which is the major reason why no one will really suggest changing the traditional syntax. It’ll break way too much.).
Just build a series of applications that actively translates your “less ambiguous” commands into traditional syntax. I’ve done it for a number of things where the syntax is long and hard to remember.
In fact I think a “nuutilus” would actually be fairly well received for distributions that are more new user focused and a pretty worthwhile endeavor.
I agree it’s definitely possible but I wouldn’t call it “easy” or describe it as “just build…”. If it were that that simple it would exist already - and possibly it does. In my DCL days - Digital Command Language, which I just remembered was the actual name of the VMS shell language - I had an elaborate set of shortcuts in my .bashrc equivalent, whatever it was called. But I don’t know bash anywhere near enough to take on creating a skin for it. Just making cheat sheets and gradually memorizing what I use most seems more realistic - and would be an easier process if the commands and options were more natural to begin with.
I say “easily” because it wouldn’t require a major effort on the scale of coreutils. It could just be a series of fancy automation scripts. It’ll take effort, but not the most intense of exercises.
I made a handful of them at an old job because we had a few specific tasks that we would regularly do, but not enough to commit it to memory. I just spent an afternoon here and there slapping together python scripts with just the options we would need and tossed it into /bin
typing commands just feels good to me
That’s because for the most part, it’s faster. You don’t have to lift one hand off the keyboard. Also using the cursor and clicking on something requires more precision and effort to get right compared to typing a word or 2 and hitting enter.
This is me kinda bragging, but at my typing speeds, something like
ls -la
is under half a second. Typing cd proj (tab to auto complete) (first few letters of project name if it’s fairly unique) (tab to auto complete), hitting enter, and then typing a quickdocker compose up
is an order of magnitude faster than starting the containers in docker GUI.But tbh Linux commands really are ridiculously cryptic - and needlessly so.
Agreed. Okay, to be fair, for parameters, most of the time you have the double-dash options which spell out what they do, and for advanced users there’s the shorthands so everyone should be happy. But the program/command names themselves. Ugh. Why can’t we standardize aliases for copy, move, remove/delete? Keep the old binaries names, but make it so that guides for new users could use actual English aliases so people would learn quicker?
At least part of this is the decentralized/complied nature of a FOSS operating system. You don’t get a command called grep because someone making design decisions about a complete system holistically decides that tool should be called grep. You get it because some random programmer in the world needed a way to find patterns in text so they wrote one and that guy called it grep and someone else saw utility in packaging that tool with an OS. It’s a patchwork, and things like this are a culture of sorts.
interesting you used grep because it’s a command that has a very clear origin.
in ed/vi the g command was used to run commands on some pattern. eg
g/[regex pattern]/[command]
the p command was used to print current line so to print any line that matched the string “grep” you would do:
g/grep/p
.when this was made into a seperate command it was called grep:
g/re/p
. using re to denote regex.
The standard VMS text editor (EDT) assigned editing functions to the number keypad. Using it became so natural to me I eventually didn’t think about pressing keys, it was like using a car gearshift. I’ve never gotten to that point with any GUI editor, even with heavy use of keyboard shortcuts.
And you could abbreviate anything any way you wanted as long as it was still unambiguous.
Oh that reminds me of diskpart on Windows. I always liked the fact that I could abbreviate “assign” to “ass”.
Sadly, Windows and “ass” are increasingly easy to associate.
That’s true
I have literally never seen whatever this post is referring to
cool
This meme format never shows a scenario that isn’t made up anymore.
Did a process last week that took me 13 steps in the command line that took about an hour. If I’d have done it manually it would have taken days. After I worked out how to do it I trimed it down to 6 steps and sent it to my coworker that also needs that information. His eyes glazed over on step two of explaining it to him and he’s just going to keep doing it his way…
Are there people who are mad at other people for using the terminal? Is this really a thing that exists?
Usually it’s the other way around
Not really. But you know, gotta find ways to feel smarter than other people so here we go.
And those Windows evangelists! Don’t we all know 'em with their strong opinions about operating systems? *shakes fist at cloud*
Yeah you just can’t be in a server room anymore without some dude trying to sell you on Office365 and Cortana, sigh.
Do you have a moment to talk about our Lord and savior, the Microsoft App Store, and his enlightened prophet, Candy Crush Saga?
There are definitely people who think it is reasonable to memorize button locations and 10 levels of menus in GUI programs but would rather go into cardiac arrest than use something like
program --option input-file output-file
.thing with gui is you don’t need to memorize button locations and menus. If you do it’s poor layout. Good gui lets you find things you didn’t know you were looking for intuitively, without external resources or manual. CLI requires you to know what exactly you are doing and is impossible to use without external resources. Nothing against terminal but unless you know what you are doing and every command required to complete that action, it’s ass. If gui was so bad and cli was so good, guis would not be used by anyone.
I mean you dont go around copy pasting device ids and running commands for 20 minutes to connect your device through terminal when it is done with 2 clicks in the gui even by someone who has never used a pc before.
While you don’t need to memorize button locations and menus, the frustration is that it takes longer, and memorizing those details slightly mitigates. It’s torture helping someone do something while they hunt for the UI element they need to get to the next level of hierarchy. They will do it, in time, but it just feels like an eternity.
The main issue in GUI versus CLI is that GUI narrows the available options at a time. This is great, for special purpose usage. But if you have complex stuff to do, a CLI can provide more instant access to a huge chunk of capabilities, and provide a framework for connecting capabilities together as well as a starting point for making repeatable content, or for communicating in a forum how to fix something. Just run command “X” instead of a series of screenshots navigating to the bowels of a GUI to do some obscure thing.
Of course UI people have generally recognized the power and usefulness of text based input to drive actions and any vaguely powerful GUI has to have some “CLI-ness” to it.
Sure terminal can be better in a few cases but the fact you are typing this from a guy browser on a gui os speaks for itself.
Of course my terminals outnumber my browser tabs by about 3:1 right now. Commenting on an internet site needs neither scale nor complexity and a WebUI is fine for that.
thing with terminal is you don’t need to memorize commands, syntax and options. If you do it’s poor design. Good code lets you find things you didn’t know you were looking for intuitively, without external resources or manual. Gui requires you to know what exactly you are doing and is impossible to use without external resources. Nothing against gui but unless you know what you are doing and every click required to complete that action, it’s ass. If term was so bad and gui was so good, terminals would not be used by anyone.
I mean you dont go around copy pasting device ids and running buttons for 20 minutes to connect your device through gui when it is done with 2 commands in the term even by someone who has never used a pc before.
Ftfy buddy
Okay then how do I mount my drive through terminal and set it to automount every time and change it’s name to appear as “disk 3” everywhere?
man genfstab
genfstab whateveroptionsyouwant
Now give me all the X and Y coordinates of where i would click on my QHD screen for your example in gui plz
Your guide did literally nothing other than return errors. Seems like even you don’t know how to do this. And you follow wrong instructions that don’t work up with asking for coordinates of buttons for gui, this is scraping the bottom of the barrel. As in you’ve gone through the barrel, through the bottom, dug through the entire earth and are scraping the bottom of another barrel from under it.
I like the terminal on linux a lot, but with arguments like these you need to touch grass at least once a year my friend.
Yawn, sure sure.
Thats a lot of text without a single x y coordinate buddy. Try harder while touching that grass, won’t ya?
The alternative to memorization is the analog to “hunt and peck typing” where you just search the whole fucking screen/program.
As far as I’m concerned “windows key, start typing the name of the application” or “CMD+space, start typing the name of the application” is the right way to handle GUI. Apple nailed it with Spotlight and it’s vastly improved Windows and a variety of Linux DE’s
Uh… Do you think spotlight was first doing search by typing from a hotkey…?
What you’re describing are basic menus and icon search. I honestly don’t get what you’re getting at with this at all, maybe I’m just dumb.
I suppose the point is that the way people interact with GUIs actually resembles how they interact with CLIs. They type from memory instead of hunting through a nested hierarchy to get where they were going. There was a time when Desktop UIs considered text input to be almost a sin against ease of use, an overcorrection for trying to be “better” than CLI. So you were made to try to remember which category was deignated to hold an application that you were looking for, or else click through a search dialog that only found filenames, and did so slowly.
Now a lot of GUIs incorporate more textual considerations. The ‘enter text to launch’ is one example, and a lot of advanced applications now have a “What do you want to do?” text prompt. The only UI for LLMs is CLI, really. One difference is GUI text entry tends to be a bit “fuzzier” compared to a traditional CLI interface which is pretty specific and unforgiving.
It wasn’t the first, no. But it was the first that was commonplace and implemented well enough that others almost immediately adopted it.
It’s the same as the iPad. Tablets existed before the ipad. Nobody bought them until apple created a market for them. It’s their biggest strength as a company.
It’s not that they are mad others use CLI, it’s that they’re mad that Linux devs regularly stop creating P&CI features, instead opting for CLI with no P&CI equivalent action.
It’s kind of obvious why - CLI is already very flexible right out of the box, and it takes much less work to add functionality within CLI rather than creating it for the P&CI.
At the same time, I understand the P&CI folk’s frustration, since one of biggest obstacles to getting more people on Linux is the lack of P&CI solutions, and the fact that many actions on Linux are explained solely via CLI.
CLI folks have invested the time to use terminals effectively and view overuse of the P&CI as beneath them, and P&CI folks have no interest in dumping time into learning CLI to do something they could do on Windows with P&CI.
Pardon my ignorance but what does P&CI stand for?
Edit: nvm got it I think it’s Point & Click Interface
Correct, point and click interface
Linux is the terminal.
The GUI applications are just terminal applications where you press buttons instead of typing. Creating the buttons and UI is extra overhead for developers.
CLI folks have invested the time to use terminals effectively and view overuse of the P&CI as beneath them, and P&CI folks have no interest in dumping time into learning CLI to do something they could do on Windows with P&CI.
There are people who have learned to use Linux, using whatever tools are best for the job and people who have decided that the only way to interact with a computer is with a mouse and refuse to learn anything else.
You don’t have to swap away from Windows. But, if you choose to, know that you will have to learn a new operating system and, on Linux, this means becoming familiar with the terminal.
If you’re going to artificially limit yourself, despite the chorus of Linux users telling you otherwise, by deciding that any terminal use indicates a failure of the OS or of developers, then you should not use Linux.
It’s hard enough to learn a new OS. Artificially restricting yourself to only using your mouse is going to severely limit your ability to function.
Obviously I’m talking about the DE packages, not the kernel or CLI base. We are talking about windows users switching to linux-based DEs, which are directly trying to compete with Windows and iOS.
This is not me having issue with CLIs. I’ve been on Linux for decades. I am pointing out the perspective of those that are frustrated with Linux DEs being blatantly unready for mass-adoption, specifically because they expect layman users to learn CLI. See my previous comment and this comment for more details.
I do understand their perspective.
It’s just that their expectations do not align with reality and they’re only going to hurt their experience by thinking that there is a path to using Linux without using the terminal. Some distros do a really good job of creating something that seems like a pure GUI experience, but that illusion only lasts right up until there is a problem that the UI designers didn’t anticipate and the only way forward is to type terminal commands.
I’m not trying to be an asshole when I say this kind of thing.
It’s just disingenuous for people to recommend Linux and also say ‘Don’t worry, you won’t need the terminal’ or to foster the illusion, in new users, that their fear of the terminal is justified. I get that, of all things Linux, the most alien thing from a Windows/Smartphone user’s perspective, is a text-based interface.
It seems difficult and social media is full of people acting like the terminal is incredibly difficult to learn so people believe that they can simply opt out of using the terminal. You can’t, and trying to do so is going to make users have a horrible experience. It’d be like telling people that Windows doesn’t require a mouse, that’s possibly true but if a person artificially limits themselves in that way, they’re going to have a much harder time than they would have if they’d spend the time to use the OS properly.
This is kind of erasing the author with your description of the issue. The reason that apps eventually require CLI to complete tasks is because devs think of CLI first and then produce a stop-gap P&CI over top of it. It is explicitly how devs in the Linux environment operate which creates a gap between CLI and P&CI. If apps were developed with P&CI in mind first, with CLI added after, this would not be a problem - and we know this because of every app developed for both Windows and Linux, which lack these gaps in functionality - or lack CLI entirely.
Your stance also de-emphasizes the difficulty of learning CLI for the first time. It’s not the most difficult thing ever, but it can be fairly frustrating. It’s not something you want to deal with when just trying to unwind after work on your PC, or while you’re trying to do your job at work. I think it’s pretty reasonable most people don’t want to have to learn yet another paradigm just to do what they’ve already figured out how to with a P&CI.
Being realistic, of course, this paradigm shift is not going to happen. Linux will continue to be only a small portion of total computers used by end users because of this, and various other reasons it’s found unpalatable.
I’ve heard that KDE and GNOME, however, are both at a level now where P&CIs are all you really need. I have not tried them myself, though.
The CLI is first because Linux is, first and foremost, an operating system built for terminal access. It was based on Unix, a mainframe operating system that served terminals.
I’ve heard that KDE and GNOME, however, are both at a level now where P&CIs are all you really need. I have not tried them myself, though.
Between all of my devices at home and work, I use KDE, XFCE and hyprland.
KDE has a pretty comprehensive GUI, but to say that they’re all you need is a gross exaggeration. Sure, you can connect your bluetooth device via the GUI but if there is any problem with it the GUI is woefully insufficient for troubleshooting. Similarly, you can adjust the volume in the GUI… but if your device is using the wrong bitrate or you want to do anything more complicated than control the device that sound is sent to, then you’re going to be editing dot files and using the terminal.
In Linux, the GUI applications are a convenience but the core of the system is the terminal interface. That’s what everything has been designed for since the beginning. Graphical Desktop environments are not, at all, a replacement for the terminal.
Your stance also de-emphasizes the difficulty of learning CLI for the first time. It’s not the most difficult thing ever, but it can be fairly frustrating. It’s not something you want to deal with when just trying to unwind after work on your PC, or while you’re trying to do your job at work. I think it’s pretty reasonable most people don’t want to have to learn yet another paradigm just to do what they’ve already figured out how to with a P&CI.
I don’t think that it is reasonable to want to swap operating systems without learning the new operating system.
If a person has decided that they never want to use anything but a mouse to solve their problems then Linux is not the OS for them. Learning a new operating system means learning how the operating system works, not declaring how you think it should work and declaring anything outside of your expectations as unreasonable.
If you’re coming into this with the idea that you’re going to swap to Linux but only use your Windows/Mac knowledge to puzzle through a GUI and also refuse to touch anything that is in the terminal then you should not use Linux. If you’re asking for help and then telling the people trying to help you that you’re not going to use the terminal, you’re going to face a lot of negative responses.
they’re mad that Linux devs regularly stop creating P&CI features, instead opting for CLI with no P&CI equivalent action.
I’ve never seen this?
It’s typically a completely different developer who creates the CLI first, and then one of us adds a P&C after.
So if something is brand new, sure there might be no P&C, yet.
I promise There’s no conspiracy to not have nice things. Haha.
I was specifically trying to not sound conspiratorial. I’m pointing out that it’s a matter of having learned a paradigm vs having to learn a new paradigm.
Devs have already gotten used to CLI and very rarely make full P&CI suites because of it. Even if the original Dev only did CLI for the app and someone came back and made a P&CI for that app, those P&CI interfaces are still fairly barebones. This is both a mix of devs knowing how good CLI can be and because it’s all open source volunteer work.
Layman users of P&CI-focused DEs actively avoid CLI so they don’t have to learn it. This means that using most Linux apps are something to be avoided for most Windows users, making the OS base mostly unusable for them.
To be clear, when I am talking about P&CI-focused DEs, like windows and iOS, I mean that if you cannot perform an action with the P&CI, then that action essentially does not exist for the average user. Contrast that with Linux DEs, where it’s quite common to have to directly edit configs or use the CLI to perform various actions.
As a veteran user, CLI does not bother me. I do understand the frustration of those who want some Linux DEs to become as default as Windows and iOS, because lack of P&CI does damage that effort.
This is not every app in Linux obvi, but the ones that are best at making sure the P&CI is full-flddged, are the apps that develop for windows and iOS as well as Linux - Blender, LibreOffice, Logseq, Godot, etc. The most common offenders are the utility apps, such as those that handle drivers, sound systems, DE functions, etc.
This means that using most Linux apps are something to be avoided for most Windows users, making the OS base mostly unusable for them.
I take your point. And this was very much the case for a long time.
But it’s worth pointing out that Gnome and KDE are both done, now.
I haven’t been forced to reach for command line to change something - anything - on either of my last couple of Linux installs.
Edit: I almost didn’t notice, but it feels worth celebrating and raising awareness.
In a pretty high end high tech company, there’s still lots of people who see a terminal and think “ha hah, they are still stuck in old mainframe stuff like you used to see in the movies”.
My team determined long ago that we have to have two user experiences for our team to be taken seriously.
A GUI to mostly convince our own managers that it’s serious stuff. Also to convince clients who have execs make the purchasing decisions without consulting the people that will actually use it.
An API, mostly to appease people who say they want API, occasionally used.
A CLI to wrap that API, which is what 99% of the customers use 95% of the time (this target demographic is niche.
Admittedly, there’s a couple of GUI elements we created that are handy compared to what we can do from CLI, from visualizations to a quicker UI to iterate on some domain specific data. But most of the “get stuff done” is just so much more straightforward to do in CLI.
I don’t think so, but I do criticize not having an option, that is why I stopped using Cisco personally and professionally, some things are fast using the cli, some things just need an Ui, you need both.
A cli is a ui. I know that’s pedantic but this is Linux memes
Like I get and appreciate the CLI and for networking, that’s pretty much all I’m using anyway, but I am shocked that enterprise networking doesn’t even bother to do any GUI. Once upon a time Mellanox Onyx bothered to do a GUI and I could see some people light up, finally an enterprise switch that would let them do some stuff from a GUI. Then nVidia bought them and Cumulus and ditched their GUI.
There’s this kind of weird “turn in your geek card” culture about rejecting GUIs, but there’s a good amount of the market that want at least the option, even if they frankly are a bit ashamed to admit it. You definitely have to move beyond GUI if you want your tasks to scale, but not every engagement witih the technology needs to scale.
To me apt is confusing but that’s because I’ve become so used to pacman. The only package manager that comes close to pacman for me is xbps.
Yeah apt tends to shit itself very often. I don’t like how it’s actually two different programs (dpkg and apt) glued together with perl and python. It all feels too fragile. A friend once tried updating a package, and it failed because… he was issuing the apt command from with a python virtual environment. Can’t say for pacman because I’ve never used arch, but xbps is just one set of self-contained binaries, which feels much more robust. Alpine’s APK fits that bill as well, lovely little package manager. Tho I guess apt predates both of those, so it’s not a fair comparison. Someone had to make those mistakes for the first time.
I also really dislike the Debian/Ubuntu culture of fucking around with the sources file to add other people’s repositories on top of the distro-default ones (ubuntu calls this PPA). It’s a good idea in theory, but in practice those third party repos always fuck up in some way and brick your package manager. Just search for “apt Failed to fetch” in your favourite internet search engine, and you will see hundreds of people confused about it. You can do it with almost any package manager, but for some reason it’s mainly the debian/ubuntu people who like shooting themselves in the foot like this.
I think you linked the wrong post
I have a coworker that likes to pick fun at my usage of CLI tools. He said it’s confusing “why would I use a terminal when the GUI was made after?”. They vehemently hate anytime they have to work with CLI.
I watched them use an FTP program to download and change one value in a .conf file. Like they downloaded the file, opened it in notepad++, changed one thing, saved it, reuploaded / overretten the original. I tried to show them how to just use nano and got told their way was “better since you could ensure the file was replaced”. Its okay, I’ve secretly caught them using it a couple times lol
Fortunately, Linux terminals are gorgeous and easy to use. I never wanted to use Windows’ com because it was so ugly and user-hostile. I know Powershell is a thing now, but it still looks ugly to me.
Speaking from experience… Yes. Absolutely yes.
Yes, that’s a real thing. They use it as an excuse to dog on linux distros & say “Muh linux not great yet”
Maybe I misinterpreted the meme, I thought the yelling guy is also a Linux user.
There are Windows evangelists?? 🤦🏽♀️
i dont use the terminal to be productive, i use it to feel like a hacker
Setting the colorscheme to green on black increases hacker rating by 20%
I would recommend Cool retro term for that, but you need to run it on a CRT to make it full.
courier gets you another 15%
Change font into hack gives another 20%
cmatrix -rf
CLI is being able to speak a language to tell your computer what to do; GUI is only being able to point and grunt.
Sometimes you just want to move a file from folder to another.
Shit. I wish we had that option (dragging files between folders) on Linux. Maybe someday.
(This is a joke, about how it feels like a lot of folks with strong opinions about Linux haven’t tried Linux in a long while.)
That’s why file managers, but cp filename folder name is probably quicker if you are already in the terminal
Would be awesome if there was more software to bridge the gap between CLI and GUI workflows.
trash-cli
anddragon-drop
are pretty useful to that extent, but there is still much that could work better. I want files I’vetouch
ed in bash to appear in the “Recent” section in the GTK filepicker, and stuff like that.You may want to check out Ghost Commander and it’s many cross platform clones. They include a nice mix of graphical and batch command tools.
thanks, I’ll take a look.
Does bash have extensions? If not I know other shells do. Definitely something you could do there
You could do it in any shell by replacing
touch
with a function or alias that sends a note to whatever GTK subsystem is responsible for the “recents” tab before making the file. A more comprehensive way would be either using inotify or kernel-level process tracing fuckery, but I’m not smart enough for thatTrue, but I was thinking the shell would be the best place. You can have with watch for file modifications preformed by the user and reach out to nautilus to update its recents. That way you don’t have to watch for all inotify events on receiving user updates, and you get all tools not just touch
Midnight Commander is my favorite CLI tool in Linux for that sort of thing!
I have a NAS and sometimes I move shit around and it’s easier for me when I have “to”/“from” visually side-by-side.
I’ve never met any windows evangelists to be honest. Lots of Apple evangelists though who will spend forever talking about windows. Every developer I’ve met who uses Windows always had a tongue in cheek sort of “well it kind of sucks in some ways but it’s what I’m used to, one day maybe I’ll get off my ass and change OS”.
Reminds me of the “I use Arch Linux btw” meme which doesn’t really happen as much anymore other than as a joke. Also, I use Arch Linux btw
Every developer I’ve met who uses Windows always had a tongue in cheek sort of “well it kind of sucks in some ways but it’s what I’m used to, one day maybe I’ll get off my ass and change OS”.
This used to be me, kind of. I’ve been an engineer for over 20 years, with the last couple being full time “developer.”
But I finally made that switch at work over a year ago (booting into Linux instead of using a VM) and at home a few months ago. This probably goes without saying, but I am never going back! It’s one thing to know there are options out there that people like you prefer, but it’s another entirely to get used to the better option then try the enshittified one again.
Im not an evangelist for windows (I won’t try to convert you) but I’m unashamed of being a software engineer who uses Windows as my main dev platform
This is a wild guess but is C# one of your most used languages?
At work everything I do is in the Javascript/Web world. Typescript backend, webpack react, etc. I use C++ and C# for personal projects because I personally despise Javascript world
That’s like my opposite haha, all my own projects are TypeScript and vite react, at work I was working with C#. Though I do prefer static typing much more.
When I work on web projects at home I don’t use any javascript at all. Just html and css. Interactions are handled via form submission. I’m working on a forum in asp.net mvc without any javascript at all