tty는 단지 입력 / 출력 장치가 아닙니다. 또한 신호 전송 (Ctrl + C)과 같이 세션의 제어 터미널로 작동하는 특수 작업도 수행합니다. / dev / ttyNN은 가상 콘솔이며 모니터에 전체 화면으로 표시됩니다.
터미널은 / dev / tty1에서 시작합니다. 일반적으로 Ctrl + Alt + Fn 키를 눌러 이러한 콘솔로 전환 할 수 있습니다.
예를 들어, Ctrl + Alt + F1은 첫 번째 가상 터미널로 이동합니다. 오늘날 대부분의 Linux 배포판은 tty1에서 X 서버를 실행합니다. 따라서 Ctrl + Alt + F1을 눌러도 효과가 없을 수 있습니다.
$ ps ax | grep Xorg | grep -v grep
1504 tty1 Ss+ 44:57 /usr/bin/Xorg :0 -background none -verbose -auth /var/run/gdm/auth-for-gdm-rfsWyA/database -nolisten tcp vt1
Ctrl + Alt + F2를 누르면 두 번째 터미널로 이동합니다. 일반적으로 배포판은 가상 터미널에서 로그인 프로그램 (agetty)을 실행합니다.
$ ps ax | grep tty2 | grep -v grep
31865 tty2 Ss+ 0:00 /sbin/agetty tty2 38400
로그인 프로그램은 로그인 프롬프트를 제공하며 사용자 이름 / 암호로 로그인 할 수 있습니다. init 스크립트는 모든 로그인 프로그램이 실행될 위치를 결정합니다. 따라서 tty9와 같이 로그인 프롬프트가 표시되거나 표시되지 않을 수 있습니다. GUI 인터페이스로 돌아가려면 Ctrl + Alt + F1을 누르십시오 (위 출력 예와 같이).
/ dev / tty0은 현재 장치를 가리키는 특수 장치입니다. 따라서 (가상 콘솔에서) 어디에서 실행하든 tty0에서 읽거나 쓰는 것은 현재 터미널로갑니다.
'ps ax'의 두 번째 열은 또한 프로그램의 제어 터미널을 제공합니다. 데몬과 같은 일부 프로그램의 경우 열이 '?'인 것을 알 수 있습니다. 이는 터미널에 바인딩되지 않았 음을 의미합니다.
/ dev / pts / 0 등은 유사 터미널 장치이며 시스템 디스플레이에 연결되어 있지 않습니다. 예를 들어, 그놈 터미널이나 다른 GUI 터미널을 열면 얻을 수있는 터미널입니다. 이는 클라이언트 쪽을 bash와 같은 프로그램으로 내보내는 클라이언트-서버 기반 접근 방식입니다. 프로그램이 의사 터미널로 전송 한 데이터는 '서버'쪽으로 전송됩니다 (일반적으로 그놈 터미널과 같은 다른 프로그램에 의해 모니터링 됨). 제어 프로세스 (서버 측)는 터미널로 전송해야 할 항목을 결정합니다. 이 장치는 시스템에 제한없이 여러 개의 'GUI 터미널'을 여는 데 도움이되며 컨트롤 (ioctl (), 색상 설정, 신호 전송 [Ctrl + C] 등)과 같은 기존 터미널을 계속 제공합니다.