메시지: Ttyname 실패: Linux의 장치 오류에 대한 부적절한 Ioctl
이 기사에서는 Linux에서 mesg: ttyname 실패: 부적절한 ioctl for device
오류를 해결하는 방법을 배웁니다. 이 오류가 발생하는 몇 가지 이유에 대해 논의하고 오류를 수정하는 방법을 보여줍니다.
Linux 시스템에서 이 오류의 원인부터 시작하겠습니다.
Linux의 mesg: ttyname 실패: 장치에 대한 부적절한 ioctl
오류의 원인
Linux에서 이 오류는 기본 vagrant 구성 config.ssh.shell
과 bash -l
사이의 상호 작용으로 인해 발생합니다. Vagrant SSH
셸 명령은 bash -l
입니다.
그러면 Vagrant의 내부 SSH
쉘 커뮤니케이터가 표시됩니다. Linux에서 Vagrant는 루트로 명령을 실행하여 이 /root/.profile
경로를 소싱합니다.
/root/.profile
경로에는 Linux 시스템의 mesg n
명령이 포함됩니다. 이 명령은 다른 사용자가 터미널 장치에 쓸 수 없도록 합니다.
그러나 Vagrant에서 명령을 실행할 때 터미널 장치가 없습니다. 따라서 mesg n
이 호환되지 않아 오류가 발생합니다.
Linux에서 다음 방법 중 하나를 사용하여 이 오류를 수정할 수 있습니다.
Linux 시스템에서 사용자 프로필 수정
Linux 운영 체제에서 사용자 프로필을 수정하여 이 오류를 해결할 수 있습니다. 먼저 다음 터미널 명령을 사용하여 프로파일을 열어야 합니다.
$ /root/.profile
그런 다음 mesg n || true
와 tty -s && mesg n
. 터미널 장치가 있는 경우에만 mesg -n
명령이 호출되기 때문에 이 방법이 작동합니다.
따라서 지금 명령을 실행하면 비대화형 로그인 셸에서 실행됩니다. 따라서 시스템에 오류가 표시됩니다.
로그인 셸을 함께 사용하지 마십시오.
이 오류에 대한 또 다른 해결책은 로그인 쉘을 함께 사용하지 않는 것입니다. Vagrant 설정에서 -l
플래그 없이 config.ssh.shell
을 Bash로 변경합니다.
이렇게 하면 시스템이 Linux 시스템에 오류를 표시하지 않습니다.
이 문서가 Linux에서 mesg: ttyname 실패: 장치에 대한 부적절한 ioctl
오류를 수정하는 방법을 이해하는 데 도움이 되기를 바랍니다.
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