Mesg: Ttyname Failed: Ungeeignetes Ioctl für Gerätefehler in Linux
-
Ursache des Fehlers
mesg: ttyname failed: Ungeeignetes ioctl für Gerät
unter Linux - Ändern Sie das Benutzerprofil auf einem Linux-System
- Vermeiden Sie die Verwendung der Login-Shell insgesamt
In diesem Artikel erfahren Sie, wie Sie den Fehler mesg: ttyname failed: Ungeeignetes ioctl für Gerät
unter Linux beheben. Wir werden einige Gründe diskutieren, die diesen Fehler verursachen, und zeigen, wie der Fehler behoben werden kann.
Beginnen wir damit, was diesen Fehler in einem Linux-System verursacht.
Ursache des Fehlers mesg: ttyname failed: Ungeeignetes ioctl für Gerät
unter Linux
Unter Linux wird dieser Fehler durch eine Interaktion zwischen der standardmäßigen Vagrant-Konfiguration config.ssh.shell
und bash -l
verursacht. Der Vagrant SSH
-Shell-Befehl lautet bash -l
.
Dies fordert den internen SSH
-Shell-Kommunikator des Vagrant auf. Unter Linux führt der Vagrant Befehle als Root aus, sodass er diesen /root/.profile
-Pfad bezieht.
Der Pfad /root/.profile
enthält den Befehl mesg n
auf dem Linux-System. Dieser Befehl stellt sicher, dass kein anderer Benutzer auf Ihr Endgerät schreiben kann.
Es gibt jedoch kein Endgerät, wenn wir Befehle auf Vagrant ausführen. Das mesg n
ist also nicht damit kompatibel, was den Fehler verursacht.
Wir können diesen Fehler mit einer der folgenden Methoden in Linux beheben.
Ändern Sie das Benutzerprofil auf einem Linux-System
Wir können diesen Fehler beheben, indem wir das Benutzerprofil auf unserem Linux-Betriebssystem ändern. Zuerst müssen wir das Profil mit dem folgenden Terminalbefehl öffnen.
$ /root/.profile
Danach müssen wir das mesg n || true
mit tty -s && mesg n
. Diese Methode funktioniert, weil der Befehl mesg -n
nur aufgerufen wird, wenn das Endgerät vorhanden ist.
Wenn wir also den Befehl jetzt ausführen, wird er auf einer nicht interaktiven Anmelde-Shell ausgeführt. Daher zeigt das System jeden Fehler an.
Vermeiden Sie die Verwendung der Login-Shell insgesamt
Eine andere Lösung für diesen Fehler besteht darin, die Verwendung der Login-Shell ganz zu vermeiden. Wir ändern die config.ssh.shell
auf Bash ohne das -l
-Flag in der Vagrant-Einstellung.
Dadurch zeigt das System den Fehler auf unserem Linux-System nicht an.
Wir hoffen, dass Sie diesen Artikel hilfreich finden, um zu verstehen, wie Sie den Fehler mesg: ttyname failed: Ungeeignetes ioctl für Gerät
unter Linux beheben können.
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn