Mensaje: Ttyname falló: Ioctl inapropiado para error de dispositivo en Linux

Abid Ullah 20 junio 2023
  1. Causa del error mesg: ttyname falló: ioctl inadecuado para el dispositivo en Linux
  2. Modificar el perfil de usuario en el sistema Linux
  3. Evite usar el shell de inicio de sesión por completo
Mensaje: Ttyname falló: Ioctl inapropiado para error de dispositivo en Linux

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.

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

Artículo relacionado - Linux Error