Isso me levou o dia todo para rastrear. Eu acho que é um bom ponto de aprendizado, então vou postar aqui. Provavelmente é mais óbvio para aqueles que gastaram mais tempo com o shell do que eu!
O problema eram os colchetes duplos em .xinitrc. Crouton invoca o chroot com sh, que aponta para traço. Dash, ao contrário de bash, não suporta colchetes duplos para testes. Usando:
[ -f ~/.Xresources ] && xrdb -merge ~/.Xresources
funciona bem.