Isso foi divertido! Resolvi o problema e pensei em compartilhar com qualquer pessoa interessada.
A propriedade do meu arquivo ~/.ICEauthority estava incorreta. Esse arquivo deve ser de minha propriedade, mas na verdade era de propriedade do root.
Acontece que eu tinha executado o comando startx como root, o que mudou a propriedade do arquivo. (Eu realmente não achei que tivesse, mas uma rápida pesquisa na minha história revelou a verdade).
Aparentemente, também é possível que o root reivindique a propriedade do arquivo ~/.Xauthority , mas no meu caso não.
Para alterar a propriedade do arquivo de volta para mim, usei chown (como root).
sudo chown myusername.myusername .ICEauthority
Portanto, em resumo, não execute startx como root. Se você fizer isso e acabar preso em um loop de login, verifique a propriedade de ~/.ICEauthority e ~/.Xauthority .