Linux에는 7개의 장치 파일에 해당하는 7개의 가상 콘솔이 있습니다 /dev/tty[n]
.
가상 콘솔은 터미널 에뮬레이터와 같은 프로세스로 실행됩니까? (잘 모르겠습니다. 가상 콘솔은 커널의 일부인 것 같은데 맞다면 프로세스가 될 수 없습니다.)
가상 콘솔은 터미널 에뮬레이터와 마찬가지로 의사 터미널을 기반으로 합니까? (아닌 것 같습니다. 그렇지 않으면 가상 콘솔의 장치 파일은 /dev/pts/[n]
대신 /dev/tty[n]
)
감사해요.
답변1
이것은 정확하지 않습니다.
Linux 커널에는 터미널 에뮬레이터 프로그램이 내장되어 있습니다. 열린 파일 핸들이 있는 실행 중인 프로세스로 표시되지 않습니다. 또한 의사 터미널 장치도 필요하지 않습니다. 이는 내부 커널 인터페이스를 사용하여 액세스하는 프레임 버퍼 및 입력 이벤트 하위 시스템 위에 위치합니다. 응용 프로그램 모드 시스템에 일련의 63(7이 아님)으로 표시됩니다.커널 가상 터미널/dev/tty1
장비 , /dev/tty63
.
사용자 공간 가상 터미널의사 터미널 장치를 사용하여 구현됩니다. 의사 터미널 장치, 커널 가상 터미널 장치 및 직렬 포트를 통한 실제 터미널 장치는 Linux의 세 가지 유형의 터미널 장치입니다(응용 프로그램에 관한 한).
현재로서는 조정 부족으로 인해 이 주제에 대한 Linux 문서가 매우 좋지 않습니다. 다른 두 가지 유형의 터미널 장치에 대한 페이지는 있지만 일부 Linux 운영 체제에는 수년간 커널 가상 터미널 장치에 대한 매뉴얼 페이지가 없었습니다. 이 매뉴얼 페이지는 올바른 장치 번호와 해당 장치 파일 이름을 설명하며 다음 내용을 읽는 데 유용합니다.
Linux 시스템에는 최대 63개의 가상 콘솔(주 장치 번호가 4이고 부 장치 번호가 1~63인 문자 장치)이 있으며 일반적으로 1 <=로 호출됩니다./dev/ttyn
N/dev/console
<= 63. 현재 콘솔도 또는 로 주소가 지정됩니다/dev/tty0
. 문자 장치의 주요 장치 번호는 4이고 부 장치 번호는 0입니다.
데비안 사람들은 2014년에 데비안에 (4) 매뉴얼 페이지가 없다는 사실을 알아차리고 console
Linux 맨페이지 프로젝트에서 맨페이지 설치로 옮겼습니다. 하지만 같은 프로젝트에 있는 사람들만 console
1년 후에 (4) 매뉴얼 페이지를 삭제할 수 있었습니다. 2016년에는 "Debian 및 그 파생 제품은 이 페이지를 설치하지 않습니다" 및 "Debian은 더 이상 이 페이지를 제공하지 않습니다" 때문입니다.
추가 읽기
- https://unix.stackexchange.com/a/177209/5132
- https://unix.stackexchange.com/a/333922/5132
- Linux: /dev/console, /dev/tty 및 /dev/tty0의 차이점
- >12 TTY의 용도는 무엇입니까?
ttyS
.리눅스 프로그래머 매뉴얼. 마이클 크릭. 1992년 12월 19일.pty
.리눅스 프로그래머 매뉴얼. 마이클 크릭. 2017년 9월 15일.- https://dyn.manpages.debian.org/jessie/manpages/console.4.html
- https://dyn.manpages.debian.org/stretch/manpages/console.4.html
- https://dyn.manpages.debian.org/testing/manpages/console.4.html
- http://manpages.ubuntu.com/manpages/trusty/en/man4/console.4.html
- http://manpages.ubuntu.com/manpages/artful/en/man4/console.4.html
- http://manpages.ubuntu.com/manpages/bionic/en/man4/console.4.html
- http://manpages.ubuntu.com/manpages/cosmic/en/man4/console.4.html
- 빈센트 르페브르(2014-12-27).매뉴얼 페이지: 일부 매뉴얼 페이지가 참조되었지만
console
(4) 매뉴얼이 더 이상 존재하지 않습니다.. 데비안 버그 #774022. - 토비아스 콰타머 박사(2016-01-05). "
console.4
: 이제 이 패키지에 포함되었습니다. (종료: #774022)". 맨페이지 4.04-0.1. 변경 로그. - 마르코 밀리넨(2016-01-07).
console
(4) 오래된. 커널 버그 #110481. - 마이클 크릭(2016-03-15). "
console.4
: 오래된 페이지 삭제".매뉴얼 페이지. kernel.org. - 조나단 데보인 폴라드(2016). "단말기". 스낵 가이드. 소프트웨어.
- 조나단 데보인 폴라드(2018).Linux 커널 가상 터미널 장치 매뉴얼 페이지. 제안.
답변2
Linux에 7개의 가상 콘솔이 있다고 말하는 것은 무엇을 의미합니까? 단축키를 통해 7개만 접근할 수 있다는 뜻인가요?
어떤 의미에서는 생성되거나 쉽게 사용할 수 있습니다. 그것예전에는/etc/inittab
에서 구성됨산란다중 사용자 런레벨의 여러(a)getty.
이번에 제가 인용한소나무( getty.target
저를 그곳으로 보내주세요):
기본적으로 이 자동 생성은 VT VT6 이하에서만 수행됩니다(Linux 시스템의 기존 기본 구성과 유사하게 하기 위해).1
VT는 일반적으로 GUI에 사용됩니다. 이는 작동할 수도 있고 작동하지 않을 수도 있습니다.
systemd는 이를 더 미묘하게 수행하지만 결과는 정확히 동일합니다. 특히 화살표 키를 사용하여 tty를 뒤집을 때 직교적인 느낌이 듭니다.
chvt 20
빈 "터미널"(기본 시스템)로 이동하겠습니다. 먼저 활성화하려면 getty가 필요합니다. 그런 다음 그냥 그렇게 부르거나 Fn 키를 오르간으로 바꾸세요. 또는 Alt-화살표를 사용하세요.
가상 콘솔이 프로세스로 실행되는지 여부
어느 정도 그렇습니다. getty
ttyX를 열려면 프로세스가 필요합니다 .
6314 tty2 Ss+ 0:00 /sbin/agetty -o -p -- \u --noclear tty2 linux
6316 tty3 Ss+ 0:00 /sbin/agetty -o -p -- \u --noclear tty3 linux
7408 tty5 Ss+ 0:00 /sbin/agetty -o -p -- \u --noclear tty5 linux
7453 pts/1 S+ 0:00 grep getty