Ich muss Xubuntu als Root-Benutzer für ein eigenständiges Demosystem starten.
Unabhängig davon, ob ich die automatische Anmeldefunktion von lightdm
aus verwende oder mich bei Aufforderung über "Andere"> "root" anmelde, erhalte ich immer die folgende Antwort:
Error found when loading /root/.profile
mesg: ttyname failed: Inappropriate ioctl for device
As result the session will not be configured correctly.
You should fix the problem as soon as feasible.
Nachdem das Popup-Feld oben deaktiviert wurde, verhält sich das System erwartungsgemäß mit dem ROOT-Benutzer.
Hier sind die Inhalte von /etc/lightdm/lightdm.conf
:
[Seat:*]
autologin-guest=false
autologin-user=root
autologin-user-timeout=0
Ich habe andere ähnliche Probleme im Zusammenhang mit Vagrind online gesehen und festgestellt, dass die Probleme mit einigen der neuesten Updates behoben wurden, aber dies scheint immer noch auf Xubuntu 16.04 zu geschehen
https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/1584488
Wie `ttyname failed: Unangemessenes ioctl für device` in Vagrant?
In den meisten Foren wird angegeben, dass diese Nachricht fehlerhaft ist und nicht angezeigt werden sollte. Gibt es eine Möglichkeit, Xubuntu automatisch als Root zu starten und gleichzeitig dieses fehlerhafte Popup zu vermeiden?
Die ultimative Ursache ist, dass Xubuntu offenbar nicht erwartet hat, dass jemand eine grafische Anmeldung beim Root-Konto vornimmt, sodass die .profile
-Standarddatei in dieser Situation einen falschen Fehler erzeugt. Wenn Sie sich die letzte Zeile von /root/.profile ansehen, finden Sie:
mesg n || true
Dies soll verhindern, dass Programme wie talk
auf Ihre Konsole schreiben. Dies ist besonders wichtig, wenn Sie sich über eine Textsitzung (su von xterm, ssh usw.) bei root angemeldet haben, da diese Meldungen den Bildschirm überladen können.
Das || true
-Bit soll verhindern, dass das Shell-Skript beendet wird, wenn mesg fehlschlägt (wie hier). Dies hindert es jedoch nicht daran, Fehlermeldungen zu generieren, wenn es fehlschlägt, wie Sie sehen.
Die Ursache des Problems liegt darin, dass die Zeile in .profile jedes Mal ausgeführt wird, wenn Bash ausgeführt wird, auch wenn sie aus einer Sitzung ohne tty-Gerät ausgeführt wird (wie in den ersten Teilen einer grafischen Anmeldung) der Fehler. Es ist harmlos, da mesg
in einer Sitzung ohne TTY ohnehin bedeutungslos wäre, aber der Desktop weiß das nicht und zeigt die Meldung an.
Eine Lösung (als Kommentar in einer Frage, auf die Sie verwiesen haben , ist das Ändern der Zeile, damit nicht versucht wird, mesg
aufzurufen, wenn kein TTY vorhanden ist :
tty -s && mesg n || true
Dies weist es an, nicht zu versuchen, mesg
aufzurufen, wenn kein TTY vorhanden ist, sondern es weiterhin aufzurufen, wenn ein TTY vorhanden ist (z. B. von einem SSH-Login).