Xubuntu 16.04 ttyname failed Ungeeignetes Ioctl für Gerät

7291
boyashley

Ich muss Xubuntu als Root- Benutzer für ein eigenständiges Demosystem starten .

Unabhängig davon, ob ich die Auto-Login-Funktion von benutze lightdmoder wenn ich mich bei Aufforderung über "Andere"> "root" anmeldet, bekomme 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. 

enter image description here

Nachdem Sie das Popup-Feld oben deaktiviert haben, verhält sich das System wie erwartet 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 dass die Probleme mit einigen der neuesten Updates behoben wurden. Dies scheint jedoch immer noch auf Xubuntu 16.04 zu geschehen

https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/1584488

Wie löse ich ttyname failed: Unangemessenes ioctl for device in Vagrant?

Die meisten Foren geben an, dass diese Nachricht fehlerhaft ist und nicht angezeigt werden sollte. Gibt es trotzdem einen automatischen Start von Xubuntu als root, während dieses fehlerhafte Popup vermieden wird?

3
(1) Haben Sie die Antworten aus der [SU] -Frage [mit der Sie verlinkt haben] ausprobiert (https://superuser.com/q/1160025/150988 "Wie kann man" ttyname failed: Unangemessenes Ioctl für Gerät "in Vagrant lösen? ") (2) Die Fehlermeldung *** sagt ***, dass beim Laden von `/ root / .profile ein Fehler gefunden wurde. Hast du dir diese Datei angesehen? Möglicherweise haben Sie eine bessere Chance, Ihre Frage zu beantworten, wenn Sie den Inhalt dieser Datei * posten *. (Wenn es zu lange ist, nachzuschlagen, suchen Sie nach den Wörtern "mesg" und "tty" und posten Sie relevante Auszüge.) Bitte antworten Sie nicht in Kommentaren. Bearbeiten Sie Ihre Frage, um sie klarer und vollständiger zu machen. Scott vor 6 Jahren 0

1 Antwort auf die Frage

6
David C.

Die ultimative Ursache ist, dass Xubuntu offensichtlich nicht erwartet hat, dass sich jemand grafisch beim Root-Konto anmeldet. .profileDaher 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 talkIhre 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 || trueBit 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 mesgohnehin 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, mesgwenn kein TTY vorhanden ist:

tty -s && mesg n || true 

Dies weist ihn an, nicht zu versuchen, mesganzurufen, wenn kein TTY vorhanden ist, er wird jedoch weiterhin angerufen, wenn ein TTY vorhanden ist (z. B. von einem SSH-Login).