Mensaje: Ttyname falló: Ioctl inapropiado para error de dispositivo en Linux
-
Causa del error
mesg: ttyname falló: ioctl inadecuado para el dispositivo
en Linux - Modificar el perfil de usuario en el sistema Linux
- Evite usar el shell de inicio de sesión por completo
En este artículo, aprenderemos cómo resolver el error mesg: ttyname falló: ioctl inadecuado para el dispositivo
en Linux. Discutiremos algunas de las razones que causan este error y mostraremos cómo solucionarlo.
Comencemos con la causa de este error en un sistema Linux.
Causa del error mesg: ttyname falló: ioctl inadecuado para el dispositivo
en Linux
En Linux, este error es causado por una interacción entre la configuración vagabunda predeterminada config.ssh.shell
para ser bash -l
. El comando de shell SSH
de Vagrant es bash -l
.
Esto activa el comunicador shell interno SSH
de Vagrant. En Linux, el Vagrant ejecuta comandos como raíz para que obtenga esta ruta /root/.profile
.
La ruta /root/.profile
contiene el comando mesg n
en el sistema Linux. Este comando asegura que ningún otro usuario pueda escribir en su dispositivo terminal.
Sin embargo, no hay un dispositivo terminal cuando ejecutamos comandos en Vagrant. Entonces, el mesg n
no es compatible con él, lo que provoca el error.
Podemos corregir este error usando uno de los siguientes métodos en Linux.
Modificar el perfil de usuario en el sistema Linux
Podemos solucionar este error modificando el perfil de usuario en nuestro sistema operativo Linux. Primero, necesitamos abrir el perfil usando el siguiente comando de terminal.
$ /root/.profile
Después de esto, necesitamos reemplazar el mesg n || true
con tty -s && mesg n
. Este método funcionará porque el comando mesg -n
solo se llama si el dispositivo terminal está presente.
Entonces, cuando ejecutemos el comando ahora, se ejecutará en un shell de inicio de sesión no interactivo. Por lo tanto, el sistema mostrará cualquier error.
Evite usar el shell de inicio de sesión por completo
Otra solución a este error es evitar usar el shell de inicio de sesión por completo. Cambiamos el config.ssh.shell
a Bash sin el indicador -l
en la configuración de Vagrant.
Al hacer esto, el sistema no mostrará el error en nuestro sistema Linux.
Esperamos que este artículo le resulte útil para comprender cómo corregir el error mesg: ttyname falló: ioctl inadecuado para el dispositivo
en Linux.
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