Você pode enviar o zsh como um comando ao iniciar o urxvt:
urxvt -e /path/to/zsh
Eu quero usar o bash como meu shell padrão (para que seja mais simples em tty), mas eu quero usar o zsh quando estou no X usando o urxvt. Existe uma maneira de fazer isso?
Você pode usar uma verificação em ~/.bashrc
se estiver em execução em (u) rxvt . E se assim for, substitua bash por zsh :
if [[ "$TERM" == *rxvt* ]]; then
exec zsh
fi