메시지: Ttyname 실패: Linux의 장치 오류에 대한 부적절한 Ioctl

Abid Ullah 2023년6월20일
  1. Linux의 mesg: ttyname 실패: 장치에 대한 부적절한 ioctl 오류의 원인
  2. Linux 시스템에서 사용자 프로필 수정
  3. 로그인 셸을 함께 사용하지 마십시오.
메시지: Ttyname 실패: Linux의 장치 오류에 대한 부적절한 Ioctl

이 기사에서는 Linux에서 mesg: ttyname 실패: 부적절한 ioctl for device 오류를 해결하는 방법을 배웁니다. 이 오류가 발생하는 몇 가지 이유에 대해 논의하고 오류를 수정하는 방법을 보여줍니다.

Linux 시스템에서 이 오류의 원인부터 시작하겠습니다.

Linux의 mesg: ttyname 실패: 장치에 대한 부적절한 ioctl 오류의 원인

Linux에서 이 오류는 기본 vagrant 구성 config.ssh.shellbash -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 || truetty -s && mesg n. 터미널 장치가 있는 경우에만 mesg -n 명령이 호출되기 때문에 이 방법이 작동합니다.

따라서 지금 명령을 실행하면 비대화형 로그인 셸에서 실행됩니다. 따라서 시스템에 오류가 표시됩니다.

로그인 셸을 함께 사용하지 마십시오.

이 오류에 대한 또 다른 해결책은 로그인 쉘을 함께 사용하지 않는 것입니다. Vagrant 설정에서 -l 플래그 없이 config.ssh.shell을 Bash로 변경합니다.

이렇게 하면 시스템이 Linux 시스템에 오류를 표시하지 않습니다.

이 문서가 Linux에서 mesg: ttyname 실패: 장치에 대한 부적절한 ioctl 오류를 수정하는 방법을 이해하는 데 도움이 되기를 바랍니다.

작가: 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

관련 문장 - Linux Error