Yes: xinit - ArchWiki
Or perhaps try this snippet in your login shell configuration (
if [[ $(tty) = /dev/tty1 ]] ; then
printf 'Please select window manager:\n'
select wm in i3wm awesome ; do
exec startx /usr/bin/"$wm"
But note that
select is undefined in POSIX sh so that will only work for bash, zsh & the Korn Shell variants.
For that try this snippet instead:
case "$(tty)" in
/dev/tty1) exec startx /usr/bin/i3wm ;;
/dev/tty2) exec startx /usr/bin/awesome ;;
That is POSIX compliant but
~/.xinitrc will be ignored so you will have to use the startup facilities offered by the window managers instead.