더 높은 TTY 및 getty의 역할에 액세스

더 높은 TTY 및 getty의 역할에 액세스

TTY를 이해하려고 노력할 때 몇 가지 어두운 부분에 부딪혔습니다.

  • 내 시스템에 이러한 문자 장치가 생성되고 있습니까 /dev/tty[1-63]? udev어떻게 액세스합니까(예: Ctrl+Alt+F2를 사용하는 tty2)? /dev/tty40예를 들어 어떻게 액세스하나요?

  • 내가 이해하는 바에 따르면, 에 액세스하면 /dev/tty1호출 agetty된 다음 호출됩니다 login. agetty호출 외부의 실제 효과는 무엇입니까 login?

답변1

이것들은 모두가상 콘솔, Linux에서 호출됨가상 터미널(VT). 하드웨어 콘솔은 하나(화면과 키보드)이지만 Linux는 여러 개(최대 63개) 있는 것처럼 보입니다. 특정 시점에 단일 VT는긍정적인;키보드 입력은 해당 콘솔로 라우팅되고 화면에는 해당 콘솔이 표시하는 내용이 표시됩니다.

다음 명령을 사용할 수 있습니다.chvtVT 간에 전환합니다(원격으로 로그인하거나 X에서 실행하는 경우 사용할 수 없는 현재 가상 콘솔에 직접 액세스해야 합니다). loadkeysX 서버에서 로드한 키맵을 통해 설정된 키 바인딩을 사용할 수도 있습니다 . 기본적으로 X 외부에서는 Alt+가 콘솔 번호로 전환됩니다 .FnN++ AltShift콘솔 번호로 전환합니다.FnN+12; Alt+ LeftAlt+는 Right이전/다음 콘솔로 전환됩니다.

콘솔이 필요합니다할당된그것으로 전환하려면. 당신은 그것을 사용할 수 있습니다openvt콘솔을 할당하고(루트가 필요함)deallocvt할당을 취소합니다.

프로그램게티가상 콘솔과 직접적인 관련이 없으며 특히 VT 할당과 관련이 없습니다. getty가 하는 일은 콘솔을 준비하고(직렬 포트 매개변수 설정, 화면 비우기, 환영 메시지 표시 등) 콘솔을 호출한 login다음 로그인 세션이 종료되고 반복될 때까지 기다리는 것입니다. 간단히 말해서, getty의 기능은 login루프를 호출하는 것입니다.

콘솔을 사용하기 위해 getty를 실행할 필요는 없습니다. 예를 들어 콘솔에서 모든 프로그램 시작을 사용할 수 있습니다 openvt. 를 사용하여 새 콘솔에서 X 서버를 시작할 수 있습니다 startx.

관련 정보