TTY를 이해하려고 노력할 때 몇 가지 어두운 부분에 부딪혔습니다.
내 시스템에 이러한 문자 장치가 생성되고 있습니까
/dev/tty[1-63]
?udev
어떻게 액세스합니까(예: Ctrl+Alt+F2를 사용하는 tty2)?/dev/tty40
예를 들어 어떻게 액세스하나요?내가 이해하는 바에 따르면, 에 액세스하면
/dev/tty1
호출agetty
된 다음 호출됩니다login
.agetty
호출 외부의 실제 효과는 무엇입니까login
?
답변1
이것들은 모두가상 콘솔, Linux에서 호출됨가상 터미널(VT). 하드웨어 콘솔은 하나(화면과 키보드)이지만 Linux는 여러 개(최대 63개) 있는 것처럼 보입니다. 특정 시점에 단일 VT는긍정적인;키보드 입력은 해당 콘솔로 라우팅되고 화면에는 해당 콘솔이 표시하는 내용이 표시됩니다.
다음 명령을 사용할 수 있습니다.chvt
VT 간에 전환합니다(원격으로 로그인하거나 X에서 실행하는 경우 사용할 수 없는 현재 가상 콘솔에 직접 액세스해야 합니다). loadkeys
X 서버에서 로드한 키맵을 통해 설정된 키 바인딩을 사용할 수도 있습니다 . 기본적으로 X 외부에서는 Alt+가 콘솔 번호로 전환됩니다 .FnN++ Alt는 Shift콘솔 번호로 전환합니다.FnN+12; Alt+ Left및 Alt+는 Right이전/다음 콘솔로 전환됩니다.
콘솔이 필요합니다할당된그것으로 전환하려면. 당신은 그것을 사용할 수 있습니다openvt
콘솔을 할당하고(루트가 필요함)deallocvt
할당을 취소합니다.
프로그램게티가상 콘솔과 직접적인 관련이 없으며 특히 VT 할당과 관련이 없습니다. getty가 하는 일은 콘솔을 준비하고(직렬 포트 매개변수 설정, 화면 비우기, 환영 메시지 표시 등) 콘솔을 호출한 login
다음 로그인 세션이 종료되고 반복될 때까지 기다리는 것입니다. 간단히 말해서, getty의 기능은 login
루프를 호출하는 것입니다.
콘솔을 사용하기 위해 getty를 실행할 필요는 없습니다. 예를 들어 콘솔에서 모든 프로그램 시작을 사용할 수 있습니다 openvt
. 를 사용하여 새 콘솔에서 X 서버를 시작할 수 있습니다 startx
.