A causa final é que o Xubuntu claramente não esperava que alguém fizesse um login gráfico na conta root, portanto, seu arquivo .profile
padrão gera um erro espúrio nessa situação. Se você olhar a última linha do /root/.profile, você encontrará:
mesg n || true
Isso evita que programas como talk
gravem no seu console. Isso é especialmente importante se você fizer login na raiz por meio de uma sessão de texto (su de xterm, ssh, etc.), pois essas mensagens podem ficar confusas na tela.
O || true
bit é para impedir que o shell script termine se o mesg falhar (como está falhando aqui), mas isso não impede que ele gere mensagens de erro quando falhar, o que você está vendo.
A causa do problema é que, colocando a linha no .profile, ela é executada toda vez que o bash é executado, mesmo quando é executado a partir de uma sessão sem um dispositivo tty (como durante as primeiras partes de um login gráfico), então você vê o erro. É inofensivo, porque mesg
seria sem sentido quando executado a partir de uma sessão sem um TTY, mas a área de trabalho não sabe disso e exibe a mensagem.
Uma solução (como comentário em uma pergunta que você mencionou disse) é alterar a linha para que ela não seja tente chamar mesg
quando não houver TTY:
tty -s && mesg n || true
Isso diz para não tentar chamar mesg
quando não há TTY, mas ainda vai chamá-lo quando houver um TTY (por exemplo, de um login SSH).