Die ultimative Ursache ist, dass Xubuntu offensichtlich nicht erwartet hat, dass sich jemand grafisch beim Root-Konto anmeldet. .profile
Daher generiert die Standarddatei in dieser Situation einen fehlerhaften Fehler. Wenn Sie sich die letzte Zeile von /root/.profile ansehen, finden Sie:
mesg n || true
Dies soll verhindern, dass Programme wie talk
Ihre Konsole schreiben. Dies ist besonders wichtig, wenn Sie sich über eine Textsitzung (z. B. von xterm, ssh usw.) bei root angemeldet haben, da diese Meldungen den Bildschirm stören können.
Das || true
Bit soll verhindern, dass das Shellskript beendet wird, wenn mesg fehlschlägt (da hier ein Fehler auftritt). Dies verhindert jedoch nicht, dass Fehlermeldungen generiert werden, wenn es fehlschlägt, was Sie sehen.
Die Ursache des Problems liegt darin, dass durch Einfügen der Zeile in .profile diese Zeile jedes Mal ausgeführt wird, wenn bash ausgeführt wird, auch wenn sie von einer Sitzung ohne tty-Gerät ausgeführt wird (wie bei den ersten Teilen einer grafischen Anmeldung), wie Sie sehen der Fehler. Es ist harmlos, da es mesg
ohnehin sinnlos wäre, wenn es von einer Sitzung ohne TTY ausgeführt wird. Der Desktop weiß dies jedoch nicht und zeigt die Meldung an.
Eine Lösung (wie in einem Kommentar in einer Frage, auf die Sie verwiesen haben) gesagt wurde, besteht darin, die Leitung so zu ändern, dass nicht versucht wird, anzurufen, mesg
wenn kein TTY vorhanden ist:
tty -s && mesg n || true
Dies weist ihn an, nicht zu versuchen, mesg
anzurufen, wenn kein TTY vorhanden ist, er wird jedoch weiterhin angerufen, wenn ein TTY vorhanden ist (z. B. von einem SSH-Login).