I had some unexpected spare time, so I worked on this now, and I figured out how to get zsh to work with manjaro. It turns out that my personal zsh configuration files work fine when I have my user ID’s shell set to /usr/bin/zsh and when I have zsh installed with the manjaro-zsh-config and zsh-theme-powerlevel10k packages deleted.
However, if I reboot with my main user ID set up with /usr/bin/zsh as the shell, then the system never starts a user session and leaves me with a blank screen upon boot up.
My zsh configuration files take up more than 1,400 lines of code, and I didn’t want to try to go through the hugely time-consuming task of trying to figure out what part of this configuration allows normal shell login but prevents manjaro session startup, so I did the following:
I set the login shell to /usr/bin/bash in /etc/passwd, and I altered that user ID’s .bashrc as follows:
#
# ~/.bashrc
#
[[ $- != *i* ]] && return
case "${SHELL}" in
*/bash)
export SHELL='/usr/bin/zsh'
exec "${SHELL}" --login
;;
*)
alias ls='/bin/ls -FACs'
PS1='[\u@\h \W]\$ '
;;
esac
In other words, for non-interactive shells, just keep /usr/bin/bash as the shell. This allows session startup at boot-up time. And for interactive shells, do an exec of “zsh --login” upon startup.
It’s not worth my time or effort to try to figure out what within my normal zsh startup configuration files is interfering with manjaro session startup a boot-up time. This .bashrc change is more than sufficient for me, for the time being.
So … I am now finished with this topic.
If in the future I decide to try to revisit this in order to find what within my zsh startup configuration intereres with manjaro session startup, I’ll post a new conversation here with whatever I might find out. But I doubt that I’ll be doing that work any time soon.
UPDATE: OOPS! For some reason, I got “man[J]aro” confused with the incorrect “man[D]aro” spelling, just within this one message, even though I wrote it correctly in my earlier messages. I have corrected all those errors in this message now.