[Proposal] Make Bash the default interactive shell again

I’m still fighting with bash-quoting correct with " ¸` ’ … thats hard enough to learn so PLEASE don’t change anything, keep bash and nothing else!!!

I don’t care about fancyness …

1 Like

One word… systemd. So yes, it does matter what other distros are doing and other environments. You are welcome to change to whatever shell you want, but leave the default to bash.

1 Like

What systemd has to do with zsh? One word is not enough.

4 Likes

This thread reminds me of the thread on “Enable GUFW per default”.

The shell is what it is and it is set by the maintainer of the ISO. It is set to zsh because zsh offers some great modules which improves productivity.

The arguments regarding compliance seems irrelvant as good scripts uses the #! bang to identify themselves and what language they were written for.

When we remove all these compliance arguments - we are left with personal opinions is never good for any decision making.

The Manjaro developers uses zsh because zsh makes the terminal work more productive.

My use of zsh has nothing to do with fancyness but founded on the tools and extensions I use.

That is why I switched to zsh and the editions I have maintained over the years has all been using zsh. In fact I created some the integrations in manjaro-tools to be able to use zsh at buildiso level and the changes to calamares with relation to this was also inspired by my desire to use zsh as the default shell.

In the 4-5 years that has passed - I have never had any complaints over the use of zsh - I don’t think the majority ever even noticed the difference.

From where I see this topic - it is a balloon and when a balloon gets big enough it blows - and there’s nothing left but pieces and nothing has been gained.

It is an endless discussion as Manjaro has never been about ideology but about usability - and whether you like it or not - zsh provides usability - it is that simple.

9 Likes

I’m with openminded.

Ok… let me explain it… it was stated above that it is pointless to be discussing this because it does not matter what everyone else is doing. However, that is exactly what happened with system d. Rh threw its weight around so everyone decided to abandon the older init system and go with systemd. It is the same here. Lets change the default to zsh because apple did it. Uh wut? Same with ifconfig vs ip addr. There wasnt anything wrong with ifconfig but lets change it to ip addr because we can. Stop saying zsh is better. Prove it. I am not saying dont use it… just saying unless you have a real reason to not have bash as default, then just leave it.

2 Likes

Yes it should be, but something went sideways here. I still don’t know what but do know I didn’t have the one theme or autocomplete. I followed a couple of this I found on one of the help sites I have saved and got both fixed.

Only if there is a valid reason for that decision. And that is exactly what this discussion is about, and why I’ve started the thread under the Packaging category.

That’s a very subjective opinion. The reality is that many if not most newbies will accept the distro-default choices for things they do not understand ─ I’ve already alluded to the fact that many newbies don’t even understand the difference between a terminal emulator and a shell ─ and that zsh as the default shell purely because of the cosmetics or because of “such and such are also doing it that way” doesn’t make any sense.

Mind you, I am not advocating for the removal of zsh. I am advocating for making bash the default interactive shell again, because then it is going to be a lot easier for us to give the newbie bash-based solutions ─ even if only in the form of a one-liner, and I’m not talking about typing the name of an executable with a few command-line options here.

Furthermore, having bash be the interactive shell in a tty session but having zsh be the interactive shell in a terminal emulator session in the GUI is inconsistent and confusing.

4 Likes

Indeed. The choice between shells is wholly subjective to begin with.

There is nothing wrong with a newbie using zsh instead of bash. Manjaro and other distros have shipped zsh by default for a long time and as far as I know there haven’t been any serious injuries among newbies because of it.

It makes equally as much sense “we should use bash because it is more common” or “we should use bash because Linux has always used bash”.

The reality is that there isn’t an objectively correct reason to use any shell as the default in this entire topic. There probably won’t be one for the remainder of the topic either because it is an entirely subjective decision based on personal preference.

I am not sure who “us” is but it sort of seems like you are just more familiar with bash than zsh and that is why you want it used.

That being said, to address your point directly. I think it is a non-issue. If you just remove bash-isms from your one-liner, it will probably work in both shells.

If not, do you have a real-world example of bash-ism free one-liner that doesn’t work in zsh?

Alternatively, depending on what you were trying to accomplish, you could wrap your one-liners in bash -c "one liner"

You could even ask them to type bash and then the one-liner. There are a lot of ways to handle this “problem”

Likewise, I am not advocating for zsh to be the default shell. I just think it is a subjective decision that is about what direction the devs want to take the distro and not much else.

I think using bash is an equally valid choice as using zsh as the default.

This is not about a choice between shells. It’s about what the default shell should be in the install images, based upon coherence and common sense.

The current situation is not coherent, because zsh is set as the default via the Konsole (or other terminal emulator) profiles, and it isn’t the default interactive shell when using a tty either. And it’s not based upon common sense either. “Arch/MacOS does it too” is not common sense ─ it’s blind imitation.

“Us” pertains to the people who voluntarily spend a considerable amount of their own free time offering assistance to newbies here at the forum.

You will never convince me that “bash should be the default shell” is more(or less) coherent and/or common sense-based than “zsh should be the default shell”. They both do the same thing. They are equally valid choices.

Every argument to the contrary presented so far in this topic, is either entirely subjective or outright false.

This is a different discussion entirely than which shell should be the default shell. You could use either zsh or bash as the default shell universally.

Please provide a single example of this. I have been using zsh as a default shell on all my Linux installs for years including my Manjaro installs. There are exactly zero issues that have come from this.

System Initialization scripts shouldn’t be using a users default shell to begin with.

We all know why zsh was made the default, and no other reasons were given than that “it looks pretty” and that “others are doing it too”. So you are not going to convince me either.

Sure, but having zsh be the default shell system-wide would require a significant redesign of various system initialization scripts, and the very fact that the distro developers didn’t want to go there and instead used the terminal profiles for pushing zsh should be indicative enough of how inconsistent this decision was.

P.S.: You might want to check the results of the poll. There are three options, and yet the votes in favor of setting bash back as the default in all install profiles has 56% of the votes.

1 Like

To paraphrase what @codesardine mentioned in our internal discussion, the maintainer(s) of the edition has the final say.

@Chrysostomus spent time and effort creating our Manjaro ZSH configuration and made ZSH default on GNOME because that’s what he uses and is the main maintainer of that edition. Other maintainers liked it and wanted to include it as well.

We will look into improving our default BASH configuration to include similar functionality and styling if possible.

Ultimately, the user is free to install or remove whatever program they wish no matter what default programs or configurations are installed by default.

For upcoming GNOME, Xfce and KDE ISO releases we plan to strip them down to more basic desktops. The Calamares installer will have more choices during installation. Stay tuned for more.

12 Likes