Change default shell from bash to zsh by default?

This issue was solved but there’s a new issue…

…the newuser module is back for Qubes-Whonix 17 templates.

(Same message as in post Change default shell from bash to zsh by default? - #37 by Patrick)

Reported here:
Qubes-Whonix: enable zsh by default · Issue #8343 · QubesOS/qubes-issues · GitHub

Resolved. Now zsh gets enabled by default everywhere.

  • Non-Qubes-Whonix
  • Qubes-Whonix
  • existing (upgraded) builds

Weird different in functionality between bash and zsh which is sorta annoying in commands typing:

If i type lets say sudo apt upda and i press on Tap it will complete the word to update and put space to write the next word which will be like this:

sudo apt updasudo apt update if i type lets say && it will be like this sudo apt update &&

The bug:

in bash:

bash

sudo apt updasudo apt update sudo apt update &&

in zsh:

zsh

sudo apt updasudo apt update sudo apt update&&

hope it can be fixed.

1 Like

Make colors better looking similar to what i have suggested (or at least close to):

1 Like

If you change the xfce4-terminal colors, it will adapt the prompt also. Not something that should be done by Zsh, but on XFCE theming directly.

1 Like

Thanks.

The character ; will continue to have space removed before it if done after tab completion.

2 Likes

ok do you know how to do it similarly to kali?

ah ok, whats the reason?

ah ok got you.

I downloaded some Kali packages on Debian Unstable at that time and it looked good. See the last link, it is an Xfce colorscheme then you have to edit the terminal > preferences > colorscheme.
I was planning on doing the Xfce adaptation of Kali to Whonix, but got occupied.

2 Likes

Thanks!

Merged and uploaded to Whonix 17 testers repository.

1 Like

The missing space before && seems fixed to me.

1 Like

setup-dist is no longer auto started with zsh. This is important for Whonix CLI.

For bash this is implemented in:

How could we do something similar for zsh?

Probably bad idea to make zsh parse /etc/profile and /etc/profile.d?

Is there an equivalent for /etc/profile.d for zsh?

1 Like

Thanks, merged!

Should the code for parsing /etc/zprofile.d be moved to the very bottom of the script? Why:

  • Allows overwriting the defaults set beforehand.
  • Does not stop execution of defaults in case any scripts residing in /etc/zprofile.d have an issue.

Keeping in mind:

bash /etc/profile.d:

  • Parsed in “CLI” mode, i.e. login, real terminal (tty).
  • Not parsed in terminal emulator / X11.

zsh /etc/zprofile.d:

  • Parsed in “CLI” mode, i.e. login, real terminal (tty).
  • Also parsed in terminal emulator / X11.

For bash, therefore /etc/X11/Xsession.d needed to be used because there’s no /etc/bashrc.d.

1 Like