Mesg: Ttyname Failed: Ungeeignetes Ioctl für Gerätefehler in Linux

Abid Ullah 20 Juni 2023
  1. Ursache des Fehlers mesg: ttyname failed: Ungeeignetes ioctl für Gerät unter Linux
  2. Ändern Sie das Benutzerprofil auf einem Linux-System
  3. Vermeiden Sie die Verwendung der Login-Shell insgesamt
Mesg: Ttyname Failed: Ungeeignetes Ioctl für Gerätefehler in Linux

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.

Autor: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

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

Verwandter Artikel - Linux Error