Can You Use Linux Without the Terminal? (How to Geek article)

Possibly linux@lemmy.zip to Linux@lemmy.ml – 159 points –
howtogeek.com
166

The short answer is yes. But the interesting part - and I'm talking from personal experience - is that from the moment you realize just how easy and powerful using the console is, you learn how to use it.

And it does not mean you are going to turn into a full on expert or geek, tinkering around the console. You just learn a few simple commands that enable you to do something (or somethings) quicker, easier and cleaner than going through a GUI.

Can you? Yes. Should you? No.

I've always thought GUIs felt more like doing things by hand and CLIs felt more like having the computer do it for you. Like if you want to do some complicated task that requires multiple programs and lots of menus using a GUI, it's easy the first time, but once you need to do it a second time you have to do it all over again by hand. But if you do it from the command line, while it might be harder the first time, subsequent times are zero effort because you can just run the exact same commands again from your history or combine them into one or a script to make it even easier.

That it is. In GUI, you’re working for the computer to achieve your goals. At the CLI, you invest time teaching the computer what you want done, and it works for you.

For many people it's not quicker or easier. If they've not used CLI before, they'd need to learn multiple new things. Going to a Web browser for help every time, before doing something is not quick. Memorising precise command strings that mean nothing to the user, is not easy for many either. For them it's bad usability.

from the moment you realize just how easy and powerful using the console is, you learn how to use it

Yes, I understand that; there is a learning curve. For some, too steep.

And even if you did manage to do something 2 years ago, you can’t remember how to do it today. Do you really want up go down that same rabbit hole again? Spending 5 minutes reading stuff and running a single command takes a lot more time than 15 mouse clicks.

Relevant XKCD

Agreed. I’m not super computer geeky compared to this website. A bunch of people here would probably not even consider me techy.

That said, I hated the command line and would actively avoid it as often as possible. Once I started using it (just to paste code from tutorials) and then later to cd into folders so I can run an old game .exe with WINE, and then to straight up command line tools for converting .bin and .cue files into workable ISOs (also for old games), I started seeing with the command line is so sick.

I’m converted. It’s great. It’s not as spooky as it looks. Make the background 50% transparent.

Make the background 50% transparent.

I love this little line tacked at the end of your comment. I love that this is how the terminal is no longer scary-looking.

I feel like I only use ls, cd and apt update & apt upgrade. Other commands are for when e.g. hardware malfunctions.

If that is enough for your needs, that's fine.

Kinda disappointing.

The article is really trying to sell us, the reader, that using Linux without knowing how to use the command line is not only possible but totally feasible. Unfortunately, after each paragraph that expresses that sentiment we are treated to up to several paragraphs on how it's totally easier, faster, and more powerful to do things via thé command line, and hey did you know that more people like coding on Linux than windows? Did you know you can do more powerful things with bash, awk, and sed than you ever could in a file manager?!

FFS vim and nano are brought up and vim's "shortcuts" are praised... in an article on how you can totally use Linux through a gui and never need to open up the command line.

Who is this written for? outside of people who not only already use Linux but are convinced that using any other OS is both a moral failing and a form of self-harm?

For clarity's sake: I have been daily driving Linux, specifically ArchLinux, for the past 9 years, across a rotation of laptop and desktop computers. I do almost everything in the command line and prefer it that way.

I still think if you want people to try Linux you need to chill the fuck out on getting them to use the command line. At the very least, until they're actually interested in using Linux on their own.

It is for the sake of combatting the commonly held belief that you can't do anything without the terminal in Linux.

Progress on the accessiblility, and GUI centric applications and functionality in Linux has been huge in the last decade or two. It is now entirely possible to use a Linux system while rarely needing the terminal. And if you have someone techy helping set it up for you then it is possible to never have to.

Yes you can but you often see the terminal used when helping people online. This is because it works across desktop environments and mostly across distros, however it does give the impression that the terminal is needed.

I didn't see anyone else mention this but, as someone who uses Linux Mint, if you are going to install software through the Software Manager, read the reviews for the app you want before downloading it. Linux Mint's Software Manager is full of apps that are so outdated that some of them aren't even compatible with the current version of Linux Mint. There are other issues as well, like how there are at least 20 different versions of Wine and most of them are very old versions. I'd understand if they want to keep legacy apps for the older, still supported, versions of Linux Mint but it can be confusing to use sometimes.

Even basic things in distros are quite different, for example the frontend for settings, so tech support threads will show how to do it in the backend. Oh well, but then there's someone who suggests

sudo nano /etc/default/grub

If you're a noob, run this and get a "nano: command not found" error, you'll google it and learn to resolve it using apt. However, Manjaro's package manager is pacman but you don't know, so you install apt using a weird guide without knowing what it even is. The next update then wreaks havoc on your system.

My first install ended in a dependency hell because of this.

Well no one in there right mind should use Manjaro so that was mistake no. 1

Although shaming newcomers for their distro choice is not a welcoming move 💢

Why, what is the problem with Manjaro in respect to other distros and would imply someone is mentally impaired to use it?

https://manjarno.pages.dev/

TL;DR, ddosing AUR multiple times, poorly maintained certificates, and a generally bad take on Arch that causes lots of problems for the uninitiated.

People aren't mentally impaired because they use Manjaro. However, Manjaro is problematic as a distro and should be avoided if possible.

The recommendations seemed favorable when I tried it. I have since switched to Mint.

That's probably for the best. If Manjaro was a little more honest and straight forward I wouldn't have an issue. The problem is that they say they are kind ignorant of there mistakes.

Honestly they could ask for help and the community would step up.

I've been daily driving Linux Mint for 10 years now. The answer to this question is "for what most people consider everyday usage, you have to use the Linux terminal about as often as you have to edit the Windows registry." And in fact over the 10 years I've been a Linux user, GUI tools in Linux are increasingly available, and I've heard Windows normies talking about the registry more.

When I started out, Mint shipped with Synaptic Package Manager, and a lot of distros didn't include a GUI at all. Now GUI package managers are the rule rather than the exception and most have bespoke polished app store -like things. You of course can still use apt or dnf or pacman or whatever, but you decreasingly have to.

I never once touched the registry on my Win 98, Win XP, Win Vista or Win 7 machines. Win 8 required a couple registry keys to turn off that...curtain that you had to click away to get to the login screen? and a few other "tablet first" features Win 8 had, and now I hear "just go and add these registry keys to put the start menu on the left, turn off ads, re-enable right click and retract the rectal thermometer."

Linux is becoming more normie friendly while Windows is genuinely becoming less normie friendly.

The real question is: "would you want to?"

Heck yeah I would love to never use the terminal. The terminal is the biggest roadblock for me adopting Linux. I never, ever want to open it. If I have to open it, Linux has failed for me as a windows replacement.

I want to try Linux again, and I have dipped my toes many times, but the terminal is the major block for me, a slightly above average pc user.

The real question is "Why are people so scared of the terminal, when they're perfectly aware of and comfortable with cmd on windows?"

Are they?

Good question. Should be. Stuff as seemingly simple as converting a couple dozen text documents to pdf requires it if you don't want to sit around for an hour, clicking away. Many such examples.

The author argues that you don’t need to use the terminal but constantly argues that you should. The average computer user doesn’t even know which version of Windows they’re using. Many don’t even know if they’re using Windows or Mac. Until Linux gets over the obsession with the terminal we’re never going to have the year of Linux.

What's wrong with using the cli? People act like it's some arcane dark magic...

You're typing things in a small box here rather than clicking on icons to reply. Sometimes text is just better.

The problem with the cli is you need to memorize a whole bunch of new words and syntax in order to do anything. You also need to memorize what not to do so you don't accidentally erase your system while using rm or cp or whatever.

Even something as simple as copying and pasting, which works the same in every single other program has new rules in the terminal. I mean, think about that. If you're just learning bash, then the first thing you'll be doing is copy pasting commands. But even that has the hurdle of 'oh, I guess this is the one program where ctrl-c means something else

Like, how do you look at sudo, cat, man, and apt, and think 'yeah that's intuitive'. And forget about multitasking, new users won't even know how to quit most programs (is it ctrl-q? Just q? Esc? Ctrl-c? Ctrl-d? Wait how do I undo that, is it ctrl-z? Wait where did the thing go

You know not everyone likes to read a wall of text. Some people prefer watching a video than reading an article. So some people just like to use GUI than CLI, and that's fine.

I disagree. Many people like to have control over there computer even if they don't want to learn a bunch of new skills.

Linux isn't for everyone but its gotten to the point where someone could figure it out if they so choose. It no longer is the unstable mess it was 10-20 years ago.

If you want a non-terminal os based on linux you just have to make something like android or chromeos or steamdeckos.
Those are and pretty popular, so I don't know who can claim linux is "terminal obsessed" it's just a kernel and there is a wide diversity of os based on it.

Debian , fedora , suse etc might all be "obsessed" with the terminal.
For me that's just the obvious economical way to offer features. decent GUI costs a lot more to develop and document - so you have to have less features for a given amount of dev time. Or you have google /valve/microsoft type amounts of resources to spend.

I always thought this "year of linux" thing was a meme to make fun of canonical or idiotic tech journalists .
Is anyone realitsitcally interested in volunteering their time to win over legions of Microsoft fanboys. Fuck me sounds like hell.

And frankly the use of terminal is going to be far from the first blocker to linux adoption for those who don't even know they're using windows or mac.

This whole threat is a HUGE circle jerk and a collection of all the "I USE ARCH BTW" variations imaginable.

"WHY WOULDN'T ALL PEOPLE WANT THE KNOWLEDGE TO CRAFT COMMANDS TO MANIPULATE, FILTER AND SEARCH TEXT IN A WHOLE FILE SYSTEM WITH JUST ONE COMMAND? UNCULTURED PESANTS"

Come, not everyone is a computer nerd, nor everyone ones to optimize 30s in the workflow if it means memorizing a bunch of commands, their syntax and options.

If you want to use Linux without the terminal nowadays it's pretty easy. But also I think the fear of the terminal is part of the culture that consumer electronics have cultivated where people don't know (or want to know) how their systems work.

If you take the time to use it, not only can you save yourself time, but also learn a lot more about how you can fix things when they go wrong! That kind of knowledge gives you so much more ownership of your system, because you don't have to rely on your manufacturer to solve problems for you.

Same for Mac and Windows too, the terminal is something that shouldn't be necessary, but when it is it helps to know what you're doing. :)

I think not everyone needs to know how their device works. Specialization is what advances us as humans after all. If they wanted to know, good for them, and if they don't also good for them. If I were using a car, I don't need to know how the engine convert a chemical energy, transfer power, and generate thrust

Edit just to give an example, an office worker may only need to use a word processor and their OS be up to date. If the user can just click the GUI to update the OS rather than typing the command for whatever package manager the OS uses, it is good enough for him. Sysadmin can give them the instruction once and done.

If the user forgot the instruction, they can explore it on their own with GUI without internet since no matter how deep a GUI config is, then there must be a way to get there (assuming the UI designer isn't shit). Contrast that with CLI where if you forgot or don't know any command there is little help or indicator of what's available and what can be done without external help.

I could not agree more. The number of people in here who are demanding that everyone who uses an OS understand it completely is absolutely ridiculous. I’d love to sit down and watch these people rebuild a lawnmower engine or service the compressor on their refrigerator. Hell, a shocking number of people I meet don’t know how to cook for themselves and they’re going to demand that end users be able to chroot and save a nonbootable system? Get out of here.

It's pretty unreasonable to expect people to know all the intricacies of their OS unless it's their job, but I do think people could stand to treat their computer less like an unknowable magic box when they need to work with it and take a few minutes to try any basic troubleshooting at all. An example of the sort of thing I'm talking about, last year, my fan stopped working nearly as well and began making crazy amounts of noise. Could I explain to you how the motor in my fan works? Absolutely not. But I unplugged it, looked up how to disassemble it and got out my screwdrivers and opened it up to see if there was anything that I could see wrong with it. Turns out there was a lot of hair wrapped around a shaft and the base of the blades that built up over the years I've had it, and removing that and reassembling it was all it took to get it working fine again.

Plenty of people don't want to put in even that small amount of time and effort to understand things when it comes to computers, which is also a valid choice of its own, but they tend to annoy me when they attribute being unable to do something to the system being too complicated to understand/use, rather than owning their decision to focus their time and energy elsewhere. There are absolutely complex programs that are not accessible for non-tech people on Linux or the BSDs, but the same could be said for Windows and Mac. In the case of the other two, people just choose the option that works for them, but with Linux, they decide ahead of time that Linux is tough and complicated and don't even try. It could be something as simple as they want to install Debian and need non-free firmware to use their wireless card, there are people who will declare this to complicated to understand and discard the idea of using an OS entirely over a question that can be resolved in less than 5 minutes with a quick search and nano, all because "Oh, I'm not a computer person, it says terminal."

Yeah, you do make a good point about misattributing the system being incapable to their lack of research. But people don't like it when they are wrong/corrected most of the time. It also applies everywhere, computers just so happen to be the most prominent. The point is that people will complain about anything anywhere.

You bring up an example of installing Debian and needing non-free firmware for their wireless card. Take a step back and think how many people are even aware about the term non-free? It is quite a ubiquitous english word with different meanings in the open source community. People reading it will assume they know what it means.

The scenario when someone that is fed up with windows and decides to install debian will see the word "non-free" and attribute it to "you must pay" at glance. If the resource they used to install it mentions and clarify what non-free means, good. Otherwise, it can be a boogeyman for them and make them re-think their decision to switch.

Contrast that with CLI where if you forgot or don't know any command there is little help or indicator of what's available and what can be done without external help.

man would like to have words with your strawman.

And how does the user suppose to know to type man? He may remember the instructions to check man, but he may not. For us, those 3 letter words are very familiar, but others need time to remember them. On GUI, this is no problem because as I stated they will bound to find it by exploring. Basically point and click adventure games I guess rather than the guessing game. And users will choose the path they most familiar first.

Bigger problem, even if they know about MAN pages, remembering what their looking for is hard. You can't type 'man dnf' if you don't remember what your package manager is called.

I wonder how feasible searching MAN pages is.

Yeah good point. Navigation can be unintuitive too. Like, how do you quit? Is it q? Ctrl+C? What even is the weird symbol before C? Those are some of the hurdles that must be overcome when coming to CLI and not necessarily easy to remember. Sure you can do it in 1 hour, but say tomorrow would you remember it again? What if the system is running smoothly for 1 month and you never opened the terminal again after those 1 hour?

You don't need man, just type the command with no arguments and you'll get the help message.

There is a large degree of willful ignorance. Its 2024 and the degree of computer illiteracy is astounding.

I was an 80s kid but even I grew up with computers: Atari, Commodore and Amstrad. I then learnt PCs with DOS. All pretty much self learnt from 8 years old as no one else in my family knew shit about computers so I was on my own.

These days computers are so user friendly ad practically run themselves, even Linux but the amount of people who cant perform basic computer tasks even in Windows is unbelievable. Do they even still teach computers at schools anymore?

That's because in the 80's you had to know computers to use them, and most people never touched them. Only geeks like you and me.

Now everyone uses a computer (at least the screen-only computer in their pocket) without knowing anything about it.

It doesn't mean there are less people who really know how computers work. Just that now even clueless people use them.

Do you know how everything in your house works? How to repair everything? No right?

Would you be brave enough to mess with the grounding of your house, or the AC or the heaters, the washing machine, the doors? Not eveyone wants mess with every (subsystem) thing in their house/live"

Most of the people I know want their PC to work and if somwthing goes wrong they just send it to repair or ask somebody else to fix it, they don't wanna do it themselves, which I find normal, they have little to no interesting in PCs, and that is compleatly fine.

And before someone says "Yeah, but the computer won't kill you if you fuck up the fixing or messing, let me tell you, a "sudo rm -r" or "sudo chown -R" can fuck you system BAR, making you loose important data and info.

-...But refugee -I hear you about to type-, they SHOULD have 10921 back-ups in atleast 2542 independent locations. Yo, they don't wanna even see the terminal, and you want them to interest themselves for data integrity and redundacy? Come on.

I didn't say you have to know everything, just like I don't know everything in my house and how it works, but I do know how to do basic repairs so I don't pay loads of money for a guy to come and unclog a drain. I know how to reset my circuit breakers, how to change a fuse, how to change a lightbulb.

That's what the terminal is. No one here is telling you to write a bootloader in assembly or meticulously study kernel environment parameters. No one advocating for basic knowledge of a terminal likely has knowledge on subnet masks, compilers, or other low level systems that a modern Linux abstracts for you.

But! I know how to update my packages from a terminal. I know how to install a package outside of a repository, or one that's not listed on my graphical package manager. I know how to export an environment variable to get my software to work how it should.

That's what "knowing the terminal" gives you. It's a basic skill that unlocks you from being a mere "user" of a system to an owner of a system. I don't think everyone will ever need the terminal, but there are people who are replying to me that seem to have a genuine fear that people have knowledge of their computers in a meaningful way.

Knowledge is autonomy for whatever you do, and there's a reason why the most profitable of systems are the very systems that are locked down abstracted and "user friendly" in all ways that harm a user's rights and freedoms.

I'll coincide with you in that first-aid-quick-repairs is something people should in the best of cases know how to do, but setting a envirental variable or installing a package is not a "simple thing". I've worked with engineers that programmed math models for a living that had no idea what a enviromental varible even was. Yes is easy to do, but the concept behind it, what it is, what it does and why are not simple, without the right background or the will to learn about the topic.

And, about user and owner. Sure, I get your point and personally I share it. But again, that is an opinion, tell a non-interested-user that they don't really own their rig until they know how to use the terminal and I assure you that most of them will disagree.

Edit cause I wrongly posted before finishing: Comparing uncloging -manually pushing and pull a bar- or chaning a light -turn left, change, then right- or a breaker -literally just pulling a tab up- are WAY simpler actions. Yes, running apt upgrade is easy, but how you know is all well? That it work? + if I run apt update everyday I see almost no diference in my system, why should I even do something like that

the will to learn about the topic

I think this is the bigger issue, to be honest. Like your example of environmental variables, it's not a complicated concept, but when a guide says to set the variable for Editor rather than a context menu asking you to choose the default program to open this type of file in the future, all of a sudden, people lose their minds about how complicated it is.

Comparing uncloging -manually pushing and pull a bar- or chaning a light -turn left, change, then right- or a breaker -literally just pulling a tab up- are WAY simpler actions. Yes, running apt upgrade is easy, but how you know is all well? That it work? + if I run apt update everyday I see almost no diference in my system, why should I even do something like that

These examples don't make sense to me as a point against using the terminal, especially since GUI package managers are a thing these days. Many upgrades are under the hood, so to speak, and don't produce visible changes for most users, and this applies just as much to other operating systems as it does to Linux. When Windows finishes upgrading and reboots, or Chrome tells a user updates are available, and they restart it, how do they know all is good? For the most part, they take it as a given that all is good as long as there's no new, undesired behavior that starts after the upgrade.

Just because I haven't been exploited by a security vulnerability or encountered a particular bug is no reason to remain on a version of my OS or programs that is still liable to either of them. That's just a bizarre argument against staying up to date.

Not to be adversarial, but Yes, I know how everything works in my house and how to fix it, or maintain it. Same as my car, or PC. i just see it as understanding the fundamentals of the world we access.

I've tried to run Ubuntu, mint, Debian, and couple other distros without the terminal to see if I can actually recommend it to non-geeks. And every time, I conclude I can't because the fucking "software center" (or whatever it's called) is always garbage, and it's easier to just use apt.

The only time I'll recommend Linux to a non-tech person is when the hardware is so old that it would just be junked without Linux.

Not sure if Bauh is available for Debian and it's derivatives, but it's an amazing software center. If anything, use synaptic on Debian. It's much better than any software center there.

And apt is just the beginning of it. It's not that uncommon for apt to not work either.

Keep in mind, most people would be coming from windows where installing software is going to some website, hoping it isn't a fake malware site, running their exe with admin privileges, and clicking next through a bunch of eulas until it finally is done. By comparison even the worst software centers are an improvement.

Using screenshots, demonstrate to me how the current edition of Linux Mint's Software Manager application is "garbage" and show me how the Apple App Store, Google Play Store or the Windows Store is better.

I can agree that there are not great software managers out there, Pop!_Shop always felt like it was malfunctioning to me, and Synaptic Package Manager works but has some significant klunk, but...what's wrong with Mint Software Manager that anyone else gets right.

I am a gui only user. AMA. I have to use command line occasionally but it's less than once a month, if that. Im on EndeavourOS desktop for over 2 years with Bauh managing updates. My home server runs Unraid with a web GUI interface maybe used CLI twice in 5 years? They told me Linux could be what I wanted it to be. I don't want to use command line, so I don't!

On the rare occasions you need to use a terminal, how often is it for something completely new? Something you need to look up to understand?

Also, how often is the MAN page enough lookup, without having to sift through 17 sites than are describing subtly different things?

I find the documentation to be very good for Arch based distros. The EOS forums or Archlinux.org wiki almost always has what I need. Otherwise the github page usually has Arch install directions that are very clear. The major things I've had to do in terminal is just initial set up of applications, enabling things to run on startup or changing configs. For example, and this is the most complicated example I can think of. I use grub-btrfs to put my Timeshift snapshots into the grub menu. All I really had to do was 3 commands:

sudo systemctl start grub-btrfsd

sudo systemctl enable grub-btrfsd

sudo systemctl edit --full grub-btrfsd

The first two commands start the daemon and set it to run on start up, the 3rd command is editing the config so I could use Timeshift over Snapper. Again this is the most complicated example I can think of and its 3 lines. Not only that but I was able to find documentation on two different sites. In under a minute of googling.

Yes. I've been using Ubuntu and now Kubuntu for about 12 years and I don't use the CLI. I don't play computer maintenance guy, so don't need any weird hacks. I just use my applications, which all have GUIs. I don't need the CLI despite people telling me I need to use it. They have never tried GUI only. So they don't know what they are talking about. The next lot, who typically have no idea about usability, tell me I'm missing out on something. But it's always something I've never needed. If I were to use the CLI, I would need to spend ages researching not just some command, but a whole lot of other concepts that I have no clue about, only to forget it all if I ever need that again. So not as fast as people claim. Luckily, Desktop Environment developers know this and put a lot of effort into making them user friendly. They understand usability. And that different users have different needs.

So I never planned on using the cli, but the thing is, when you're following a tutorial — say you're installing/configuring something new — it is so much easier to copy/paste commands than it is to read instructions and then translate them to your own particular GUI environment. Once you've done that a few times, you're already one of us

It's better to learn how to do it in your own environment, than having to learn a whole new strange environment. Especially one that is not user friendly, with poor visual feedback, intolerant of any mistype, and requiring memorising.

But the GUI also requires memorizing — often steps that are not consistent across desktop environments, or even versions of the same one! Terminal commands otoh can be noted down for later use — and the terminal remembers them. I use the GUI for some things too tbc — it depends on your use case obvs — but you don't need to pretend the terminal is this genius-hacker level of inaccessible, because it's really not

Memorising does not need to be precise with a GUI, as you are given visual cues and can see the next step to click. You don't need to remember precisely every letter or it fails. You don't even need to remember the name of an application. The desktop app launcher shows you which apps you have installed. I often pin apps to favourites as a reminder. Some Appimage apps don't appear in the launcher. I forget I have them installed and they don't get used.

Differences between Desktop Environments are easily found when you change. As GUIs are in many users comfort zone. We use them all the time. People know their home environment, and differences need only just that discovering. Not a whole new environment.

Yeah tbc once again I do actually use a GUI as well, I just think you're doing yourself a disservice if you refuse to even try using the terminal, because it's not as hard as you're telling yourself it is. For example, typing 'firefox' and hitting enter is way easier than looking for the icon and clicking it. When I was first starting out with it, I mainly worked by cycling through previous commands with the up key. Then you learn about Ctrl+R and you are flying.

Again, if you don't want to use the terminal that's up to you, and a perfectly reasonable preference. But don't make out that you couldn't learn it very quickly if you wanted to, because you definitely could!

I launch favourite commands with 2 clicks. Once on the App launcher button, and once on the App itself. My hand is on the mouse anyway. So it's fast. Way faster than typing a whole bunch of characters. For less used apps It's 3 clicks as I'd open a category like "Media" or "Games". And doing that, I get to see what I have in there. This builds up a picture in the users head for future use. Learning "Add to favourites" is time well spent. It can even be called "Pin to Start" or "Bookmark on Launcher" it doesn't matter. You don't need to memorise that exactly like the CLI. And right-clicking things is already second nature to huge numbers of users.

So I have no incentive to use text commands. It's not faster. My hand is on the mouse for my apps anyway. And the CLI has terrible usability, via poor learnability, zero tolerance, and poor visual feedback. And completely useless for most things I do, like working with 3D models, images or drawings. I'm not a "text-worker" like IT tend to be. Plus, I want more non-IT people to use Linux, so discovering the easy ways to do things can help spread the word to them.

For me it would be like stepping off a high-speed train and walking over uneven ground instead.

Ok but if we're talking about our own personal rigs, I launch favorite commands with one keystroke. I absolutely guarantee I can boot up my computer, navigate to whatever working directory and already have gotten to work before you've clicked on your second icon. But it's different use cases isn't it? I can definitely see how if you're using the mouse anyway, a GUI suits you better. I work mainly with text, but so do most people, I think? It's terms like "terrible usability" etc that I'm taking issue to here, because you're talking out of your arse. You admit that you've never bothered to learn, then make sweeping proclamations as if everyone on earth uses their computer primarily for Blender

Terrible usability will be the right term, if someone suggests applying one type of UI to an inappropriate situation/user/task. Such suggestions sadly seem to happen a lot in the Linux space. And saying CLI is easier is a sweeping proclamation. Whereas I've avoided making sweeping proclamations, repeatedly describing the many cases where CLI is poor. Usability analysis needs to know about the user and the situation. It's not one size fits all.

I've used various command line systems a lot in the past.

I'm saying it's more productive for many to invest in extending learning their home environment than learning a completely unfamiliar and inappropriate environment.

Your criticisms are literally general ones. You've only gone into specifics to describe the configuration of your favorites bar in detail for some reason. I've been saying throughout this conversation that it's a question of use case — that making general statements about 'usability' overlook a whole host of users; the visually impaired being one example that comes immediately to mind. The point is that there should be options, and people shouldn't be put off from trying different things until they find what works for them, because for everyone who needs a GUI-only approach, there is someone else who would benefit from a bit of CLI in their workflow but has been told it's beyond them when it really isn't.

In my firs time with linux I install ubuntu (maybe 12.04, I dont't remember, it was gnome 2) in the only PC in my parents home, I delete windows, and we was using it 2 years without knowing what is a terminal and everything went fine, the problems appeard when I was discover the terminal hahahaha

Yes, I do it every day, on my Android phone, router, printer, television, speakers, smart hub, smartwatch, cable box, car, and everything else running Linux underhood.

Recently I tried a new, modern distro: Solus.

After installation, I survived about 10 minutes without a command line and the next thing I needed was their package manager's manual (because that fancy GUI software shop simply killed itself)

No big deal for me. I feel safe on these paths. But IMHO "Linux without command line" is still only a dream.

I think that is simply because it was some new random distro. I bet debian or fedora with kde and the discover app would be just fine for most people.

Based on my experience, I think you can. Many distros nowadays offer ways to do things without the use of the terminal. In Linux Mint, for example, you can rely solely on the Update Manager to update all installed applications and modules rather than using the terminal. You can also uninstall apps by right-clicking on them in the Menu and selecting the uninstall option. And finally, if you want to move files around, even to some locations that require root, you can do that using the File Explorer app (e.g. Nemo).

That being said, when I started on my Linux journey, I made it a point to actually learn some terminal commands, because I saw it as an important feature in Linux and a good skill to possess.

Yeah, obviously, or the title wouldn't even have happened.

And it's been that way for a while now. Back when windows 10 happened, I was able to install mint, get most of my preferred programs set up, and handle data transfer with zero CLI use. Which was awesome, because my dyslexic ass would have taken forever otherwise. It wasn't until I started putzing around for pop and giggles that I even opened a terminal.

My mom w as able to jump right in after installation of mint, and go through the gui to try things out, no issues.

For me, the terminal is something I’ll learn once I’m more familiar with which apps I like. Until then, it’s nice to have something like pamac to help me find the thing I need.

I can't personally, but I've installed/set up Linux systems for quite a lot of older people, and I think only one of them ever uses the terminal for anything. The rest just... use the computer.

On the whole, they're pretty much just using Libreoffice, Firefox and a few other bits these days. If something needs the terminal to fix, we're already past the point where they've phoned me to pop round and fix it.

These used to be Ubuntu systems, but I switched them all to Mint after having endless Snap permission problems with printers, USB sticks and other peripherals. Once up and running, it's pretty low maintenance.

I guess they don't need to use the terminal, because I'll go and do it if it's necessary - but we are looking at once every few years. Not a lot of tech support needed.

On my own machine, I probably use the terminal every day.

Interestingly enough, Xfce4 has a kiosk mode. You could build a custom desktop for them and restrict changes. You then could do mass updates with Ansible or Saltstack

It's a good plan for a more professional setup, but in this distinctly unprofessional setup, if I did it remotely, I wouldn't get my chat and a cup of tea and biscuit :)

I'm sure you could but why? Terminal is so useful. Am I out of touch?

You may be out of touch with people that are used to GUI. For example, during the first installation of linux distro after the user is landed on their DE, as far as I know, no distro ever curates the terminal to them. Like "this is the menu", "this is the terminal emulator", and even after the user managed to open the terminal, it is not obvious what to do next as there is only text prompt. Remember, users using GUI usually encounter text prompts with some hint (username, comment, email). Meanwhile the terminal has nothing. Suddenly you see the user you are logged in as and a blinking cursor. After that, how do you know what apps are installed? What commands can you call? Typing help doesn't always help on every distro. Again, remember, users using GUI will see what apps are installed usually using a menu of some sort. There is a lot of friction coming from GUI if you have never encountered CLI before. Heck, I bet some people have never installed an application outside from an app store or their commissioned device. Even a file explorer concept is foreign to some.

Microsoft is one of if not the biggest and richest companies in the world and they got that way on a strategy based on the public's fear and hatred of reading comprehension.

I have a theory that the crowd of people who learned computers or iPads etc from GUIs only, they have a harder time with terminal. Those who used DOS a lot find it to be a happy space.

That is not necessarily true

I'm not saying they can't overcome it or that it is universal. It's just a theory I have based on early observations.

Now, it does make sense that a GUI only person would have to play catch up compared to a person the same age who has a decade of exposure to using a terminal if they're going to code in a terminal. It's just different mindsets and workflows.

At my work the younger coders who say they prefer GUI coding (and are terminal avoidant) seem to have more trouble and their debugging methods have many more steps and take longer. Many times they run everything in Jupyter notebooks and avoid running the processes in terminal at all. This is a problem if they put off end to end testing until the very last moment instead of testing incrementally.

Also, for context, this is to create production level Python code which is to be deployed on a terminal only server.

I'd want to make a measurable experiment with a larger sample size to confirm this theory though, as the systems are complex enough there are many possible reasons for these patterns. I'm just very aware these days of that moment of hesitance, like a deer in headlights, when some people have to open the terminal to solve their problem.

I don't think it's a theory rather than an objective fact. A lot of "traditional" computer skills have almost totally gone extinct because consumer devices are designed to hide as many system features from you as possible.

The saving grace is that even being raised without it, you end up needing these skills to become a developer of any decent calibre. That gives at least some route for these skills to transfer to new generations.

Most people on this planet simply do not care. They don't want to learn terminal and you cannot change their minds. But they still need a desktop OS that works, so we have to give it to them unless you want everyone to stay on Windows forever.

Only 5-8% of the population is even tech-savvy.

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

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

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.

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.

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.

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.

There is a bit of bias in your assumptions as illustrated by the “use the man page” step.

It is not always true that GUI means easier or more intuitive. It almost never means faster which is why terminal people like the CLI so much.

One of the major benefits of the command line is that it is almost universal between distros. Package management is one of the few things that differs between distros so let’s use that as an example as even in this case there are only a handful of package systems across dozens of distros.

I know that apt install and apt search work across the entire Debian family including Debian, Ubuntu, Mint, and Pop ( all different GUIs ). If I was at a random Linux command line in any distro, it would take me moments to try apt, dnf, pacman, and zypper. Without even knowing what distro I was looking at, I could be managing packages in 10 seconds. I bet one of these would work on your machine. The commands that did not work would be harmless. In contrast, it would take me at least that long to find the “store” in a menu ( if I even knew how to bring up the menu ). There are almost as many software stores as distros. Some distros have more than one. Once in the store, I would have to discover how to do what I want. I have never used most of them. In half of them, finding out how to do a full upgrade may take a while and I am not sure how confident I would be that it was going to do what I wanted. I may really be lost if I got any errors.

I use an old MacBook every day and booting into Xfce I can type “yay -Syu” before the wallpaper even comes up and certainly before a store would launch. I can also ssh into a number of other machines and update their packages remotely with the same command. Getting a Remote Desktop would be far harder and what methods are available to do that vary from machine to machine. It would be far harder.

Anyway, this comment is way too long. My point is that, for many people, the command line is faster, easier, perhaps more intuitive, more consistent, and often requires less to remember than the GUI. Windows just added a “sudo” command. Why would they need to do that if they are the poster child “everything in the GUI” OS?

It is great to have GUI options and clearly some people will did that less intimidating. That said, once you start using the CLI, it is painful to go back.

I think we will have to agree to disagree. Figuring out the software store guis is so incredibly easy. Install button installs, search box searches. They are all the same. Dont need to know what an update button is doing, because average people wouldn't even know what is happening while doing it via terminal anyways.

Searching is also 100x times easier in the guis. You dont have a million other packages match your search (ever try apt search chrome?)

Though you are right, I had some bias with the man page bit. Average users wouldn't even know what man is, making it even harder for them. They would have to open a web browser, describe what they want to do somehow, and hope a copy pasted command does what they want.

I agree that GUI are better at discoverability.

However once you're up to speed with CLI, it becomes much simpler and faster. While a GUI will still be more steps even after you become expert at using that GUI.

Yes you can but why would you not use the terminal. It's bloody handy.

Eh, you really can't. Linux without the terminal only enables about 5% of the functionality available the user.

Linux geeks like to imagine a hypothetical "average user" who never needs to adjust settings or install anything beyond a web browser. But a person looking for that limited of functionality while also knowing how to install an operating system is not an average user.

I disagree. I've used KDE's discover thingy to install stuff basically through dnf on fedora. It's incredibly possible for the average user, who basically just browses the web and maybe writes documents.

Package management is probably the biggest thing a Linux user might need to use the terminal for. The graphical package managers used by default on most desktop environments are far too limited.

KDE's Discover for instance is capable of installing (graphical) desktop applications, uninstalling packages and performing updates. Sure, it supports native packages on the majority of distros through PackageKit, as well as Flatpaks and Snaps, but it can only perform very basic package manager operations. I imagine most users will at some point need to install a package that isn't a graphical desktop application, such as a driver or an optional dependency and they will need to use the terminal for it.

To my knowledge, this is also the state of most other graphical package managers that take the form of "software centers" like Discover. More powerful graphical package managers do exist, usually specific to a specific package manager such as Octopi for Pacman. Few distros ship with them, however. I believe one notable exception is OpenSUSE with YaST. There's also dnfdragora on Fedora, which is pretty basic, but might be good enough for most purposes.

There is also Synaptic which is a graphical front-end for apt, although I would definitely class it as less user friendly than Discover and the like.

I know if I was doing some Linux challenge with no terminal it would have to be my crutch.

Edit: Arch Linux has pamac which I used more frequently than the terminal back then.

I think tools like YaST help to save time, instead of editing the bootloader in config files, you can simply enter, search for "Boot Loader" and edit there, be following a tutorial or official documentation. I sometimes prefer to use YaST just so I don't do things wrong. it's like the old Control Panel in Windows.

Ιt depends on your competence. My mom's laptop is Debian with XFCE (2 GB RAM old Chromebook converted to run Debian) and of course, she doesn't use the terminal. But then again, she doesn't even know how to open a new tab on Chrome. She just uses 1 tab at the time (which is why it's enough with 2 GB of RAM). So she's never going to see a terminal in her life, and it's going to work just fine for her, since the only thing she does on a computer is load 1 tab on Chrome, and mostly use Facebook, or youtube, or news/recipe sites that I have put on her bookmark bar. When the computer needs to be updated, I do it for her once a month or so (using the terminal).

But if you're trying to do a lot more than that, then maybe, sometimes, you will need to fix or change things using the terminal.

My aunt is using Linux without terminal since 2016. Though she at least knows how to open terminal and paste commands when it's necessary (needed a couple of times).

Same here. My Dad has been using Mint for years now, and wouldn't know what to do in the command line. He gets on, does what he needs to do, and it just works for him.

You can use Linux without a terminal, but life is so much easier to just remember few letters (command) and pressing enter instead remembering 200 places where a setting is. You can also always just do sudo pacman --help.

Strong disagree lol but I understand your logic. I am a visual learner and it is a lot easier for me to understand what the structure and options are in a given program when I have a GUI.

To me the terminal feels like a scalpel. It's a precise instrument, but only you need to know exactly what you're slicing into.

So many comments here saying you don't need the terminal for full functionality.... What Distro are you people using??? How do you install programs not in the "software center" and how do you edit config files? How do you configure a network share? I don't really think you guys are thinking this through.

For any use-cases beyond a very limited chromebook-like functionality, Linux is absolutely not fully usable without access to the terminal.

Well if i double-click a file I've made executable, it will ask if I'd like to run it, and most software will have a github or downloads page that will give you direct downloads to the software.

In other words, I can successfully install things like a windows user, I just have to go the extra step to open the file's properties and make it executable with the GUI first.

Apt is faster, and it's also faster to do a direct download, make it executable, then execute it in the terminal, too. But I CAN do it.

Config files can be edited in the GUI text editor, it's just slower.

To test my claim and prove your third point, this link is the repository for a samba GUI, found at https://www.samba.org/samba/GUI/. Specifically, it's SMB4K, the first one.

Convenient? No. Would it update automatically? No. Do I want to do it this way, or recommend it? Still no. But it does function.

In other words, I can successfully install things like a windows user, I just have to go the extra step to open the file’s properties and make it executable with the GUI first.

Some programs can be installed this way, but it's extremely far from universal.

Config files can be edited in the GUI text editor

Not without opening them as root, which in every distro I know of, requires the terminal.

To test my claim and prove your third point, this link is the repository for a samba GUI

The install directions for that program involve the terminal.

In mint I can right click in a folder and reopen the folder with elevated privileges. That's my primary, I assumed it was standard but if it's not common I guess it's a cinnamon thing. If so, maybe cinnamon is the desktop of choice for avoiding the terminal.

I didn't do my full diligence to the samba GUI thing, apparently. That's a good catch.

To salvage my argument, yumex has a GUI and extends yum, so while the instructions expect the terminal, I think it'll be optional.

I still recommend it to nobody, but someone who set out to avoid the terminal doesn't have to fail.

yumex, pip-gui, and aptitude give yum, pip, and apt GUI's, respectively, so most anything that expected the terminal should be doable without it. All it costs is a bunch of effort troubleshooting GUI things or finding out one doesn't display error messages and logs them weirdly or whatever.

Pretty sure you can configure "open as root" in some file managers. Also you can configure a gksudo (or similar) setup.

Really though, that makes me think. The file manager should detect you're opening something you don't have write access to and ask if you want to authenticate as root to open it.

There are apps that can do it, but require the terminal to install.

Also in every distro I've tried, config files will open read-only, not with the authentication pop-up.

Just double clicking on /etc/fstab opens it in the editor, I can write whatever I want and when I want to save it asks for authentication.

Anyways, what exactly do you think is the average user that can and should play around in system config files and can't use the terminal at the same time?

I spend a lot of time arguing against Manjaro. That said, Manjaro comes with a GUI package manager that provides access to the AUR.

What software are you using that is not available in the Manjaro repos or AUR? My guess is that the majority of people would never need to install anything more.

I think it is actually quite likely that most people never need more than what is in the Ubuntu repos. However, I am not as confident to stand behind that claim.

Any modern distro.

There are GUI methods for adding repositories to every major software center to my knowledge, and it isn't very hard.

Kate, and other modern file editors are more than equipped to handle some config files, that's probably the simplest thing ever.

There are multiple GUI front ends for samba.

Don't comment on the usability of Linux GUI if you haven't even tried in the last 20 years like seriously

Any modern distro.

I don't suppose you could give the name of a distro that achieves full functionality purely in the GUI?

The normal people doesn't install software external to the store or configure the system a lot, in IOS you can't do this things and everyone is fine. For share network in gnome you can do it with a button in the WiFi settings

Thats just not true.. there are many very popular applications that are not in package managers

If snap or flathub repos are in the store, any mainstream application be in. In the other side, if you don't know what are you doing and install random packages, the most probably is that you'll broke your system

...well... that is how I started learning (and getting used to) GNU/Linux, so eh.

You can. Most things have gui options.

But you quickly learn for somethings. The terminal is just easier.

If you ignore odd stuff. Most everyday stuff to maintain the system is available in a controlled panal like program. It varies based on distribution and windows manager. But the basic setup is there for most things.

Its when you want to do something creative it gets more complex. While most commands have gui apps. Most online guidance will just find the terminal an easy way to guide you.

Just use openSuse. With Tumblweed you even get a a rolling distro that does not require any terminal use.

Opensuse more like opensus

Seriously though wasn't suse the one you aren't suppost use in the enterprise due to security issues?

I did not hear about that yet and a quick DDgo didn’t gave me results.. Where did you hear that, or do you know more? Call me interested 😇

I honestly don't quite remember. I heard it from someone who was doing government work at the time. I think it had to do with security issues with rancher.

I guess that is old news.. There has happened a lot since then, I guess.

To be fair you can't use windows without using the terminal. And you have to open regedit to turn off a lot of annoying crap

Not truth. I'm an only Linux user for 5 years now, but windows could work without terminal for 99% of the users.

If you are an exception, like me, it doesn't count.

Why would you want to?

How can I trust an application that was installed by a "Software Manager" that doesn't have super cow powers?

This is more a question for non-power users. They are the key to widespread adoption and supplanting Windows. The OS has to be user friendly to the point that people don’t need to worry about the terminal unless absolutely necessary but still flexible enough to not alienate the power users that want to dive deep into it.

Yeah, right.

Now please follow the official instructions to installed docker and compose on Ubuntu.