왜 가상 콘솔이 그렇게 많은가?


26

가상 콘솔이 너무 많은 이유는 무엇입니까?

GUI가 충돌하는 경우 하나가 있지만 기본값 외에 6 개가 있는지 이해하고 있습니까? 그들은 무엇입니까? GUI가 멈출 때를 제외하고는 아무 것도 사용하지 않습니다.


아래의 Mateo 답변에 동의합니다. 왜 더하지? 나는 6 개를 모두 열어 놓고 더 많은 것을 원한다 (GUI는 종종 로그인 화면에서 "종료"된 채로있다).
haziz

답변:


16

짧은 대답 : 왜 안돼? (내포 된 미소, 제발)

더 긴 것 : 그것은 대부분 역사의 일이라고 생각합니다. gettyVC 지원으로 부팅 한 첫 번째 Linux 에는 6 개의 가상 콘솔이 구성되어 있었으며 실제로는 잊어 버렸습니다 (1990 년경이었습니다). 그런 다음 그래픽 환경을 (손 으로startx ) 시작했을 때 첫 번째 무료 VC에서 열렸습니다. 그리고 당시에도 여전히 VC에 대한 대부분의 작업을 수행했습니다. 편집기는 훨씬 빨랐고 때로는 표준 6보다 많은 VC를 사용했으며 랩톱은 그래픽 괴물이 아니 었습니다 ...

예를 들어, 세 개의 편집기 (프로그램, 입력 데이터,이를 설명하는 TeX 파일), 컴파일을위한 VC, 매뉴얼을 읽을 수있는 VC, 텔넷을 통해 내 메일 서버에 연결된 다른 편집기를 실행했습니다.

여전히 6 개의 가상 콘솔을 사용한다는 이론적 근거는 모든 사람을 위해 그래픽 VC를 # 7에 배치하는 것이므로, " Ctrl-Alt-F7"가 아니라 "" Ctrl-Alt-Fx가 아닌 매뉴얼 " " x에 최초의 무료 VC "가 기록 될 수 있습니다.

참고로, VC를 정리할 수 있습니다. 간단히

sudo bash -c "echo 'manual' >> /etc/init/tty6.override"

upstart manual에 따라 VC # 6을 중지 합니다.


활성 tty 수를 줄일 수는 있지만 장치 파일 자체는 아닙니다 (커널을 다시 컴파일하지 않으려는 경우 제외). 아래 내 답변보기
Sergiy Kolodyazhnyy

9

왜 더하지? 2 또는 3의 다른 시스템으로 실행 top하거나 htop하나에서 (CPU / 메모리 사용량을 정적으로 지정) ssh다른 시스템에서 자동화 된 작업을 실행하고 경우에 따라 하나를 무료로 유지하고 몇 명 이상에서 여러 사용자에게 로그인하고 cmatrix하나를 실행 하여 다른 GUI-

startx -- :1

(일부 그래픽에는 이것에 버그가 있습니다)

http://mostlylinux.wordpress.com/troubleshooting/ttysessions/

이 기능을 실제로 사용하기 시작할 때 7 tty (7 번째는 기본값)는 거의 사용하지 않는 방법으로-더 추가 할 수 있습니다.

수를 줄이려면 : TTY 수를 어떻게 줄일 수 있습니까?


8

모든 /dev/tty*항목은 device fileUnix 철학에 따라로 알려져 있습니다. 사용자와 실제 장치 간의 연결 역할을하지만 목적이 약간 다를 수 있습니다.

가상 콘솔

장치 파일은 /dev/tty123일반 쉘을 통해 시스템과 상호 작용하는 데 사용될 수 있습니다. Ubuntu 시스템은 기본적으로 TTY 1-6으로 열리도록 구성되어 있지만 다음과 같이 수동으로 더 열 수 있습니다.

sudo openvt -c 9 -s "bash"

bash/ dev / tty9에서 루트로 열리고 즉시 해당 TTY로 전환합니다 (로컬 터미널에서 수행 된 경우 원격 ssh세션을 통해 수행하는 경우이 경우 chvt 99 를 사용해야 함 /dev/tty9). sudo비 루트 없이 동일한 작업을 수행하려면 열려고하는 tty의 소유권을 변경해야합니다. 예를 들어

$ sudo chown xieerqi:tty /dev/tty8 
$ openvt -c 8 -l 

tty8의 기본 쉘로 로그인합니다. 그러나 내 테스트에서 이것은 TTY를 통해서만 작동하는 것 같습니다. 따라서 터미널 에뮬레이터를 통해 그렇게하면 작동하지 않을 수 있습니다 ( Couldn't get a file descriptor referring to the console 오류 가 발생 sudo openvt -c 8 -l하여 에뮬레이터 에서만 작동했습니다)

역사적인 관점에서 볼 때, 모든 멋진 터미널 멀티플렉서를 만들기 전에 유용한 기능이었습니다.이 콘솔에서 최대 62 개의 명령 (예 : 서버)을 생성하고 63 일을하는 동안 실행할 수 있습니다. 요즘에는 필요하지 않을 수도 있습니다.

기본적으로 여러 장치 파일이 만들어집니다. 활성화 된 것은 1에서 6까지이지만, 특히이/etc/default/console-setup 부분 을 편집 하여 번호변경할 수 있습니다 .

# Setup these consoles.  Most people do not need to change this.
ACTIVE_CONSOLES="/dev/tty[1-6]"

ttyS * 장치

직렬 콘솔에 사용되는 장치 파일, 일명 UART (RS-232라고도 함). 과거에는 많은 컴퓨터 시스템에 직렬 포트가 제공되었습니다. 요즘에는 대부분 서버 유형의 컴퓨터에서 찾을 수 있습니다. 여러 ttyS 장치는 RS-232 허브와 함께 유용 할 수 있으며 USB 또는 이더넷을 통해 여러 장치를 연결할 수 있습니다.

전기 엔지니어 (대학에서 전공하고 있음)의 경우 직렬 포트를 사용하여 마이크로 컨트롤러 및 개발 보드 (예 : Arduino)와 상호 작용합니다. Raspberry Pi와 같은 단일 포트 컴퓨터에서도 사용됩니다. 오늘날 USB to UART 케이블을 사용하여 직렬 연결을 설정하고 다음과 screen같이 터미널에서 콘솔을 엽니 다 .

screen /dev/ttyUSB0 115200 # the number is baud rate or speed

아두 이노와 라즈베리는 직렬 연결에 대한 자신의 장치 파일을 만들 것을 참고, /dev/ttyUSB0또는/dev/ttyACM0

vcs * 장치

이것에 따르면 man vcs콘솔 메모리 장치가 있습니다. 간단히 말해, sudo cat /dev/vcs1화면에 표시된 내용 /dev/tty1을 최소한 해당 터미널의 최대 라인 수까지 볼 수 있습니다.

콘솔 수 감소

tty.h라이브러리 를 변경 하고 커널 ( 참조다른 파일)을 다시 컴파일 하지 않으면 실제 장치 파일 수를 줄일 수 없습니다 . 그러나이 명령을 통해 해당 장치를 수동으로 삭제할 수 있습니다.

sudo bash -c 'for num in $(seq 10 63 ) ; do MAKEDEV -v -d "tty$num" ; done'

그러나 이것은 다소 의미가 없습니다. 장치 파일은 공간을 차지하지 않으며 시스템 성능에 영향을 미치지 않습니다.


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
terdon

6

실용성은 현실입니다. 진정한 다중 사용자 Linux 시스템에서 여러 개의 프로그램을 동시에 실행할 수 있으며, 각각의 가상 터미널에서 실행되는 경우 각 프로그램을 확인하기 위해 드롭 인 할 수 있습니다. 각각에 로그인 할 때 필요한 경우 다른 사용자로 로그인 할 수 있습니다. 이제 많은 사람들이 단일 사용자 관점으로 Linux에 도착했지만 Linux가 다중 사용자로 태어 났기 때문에 그 기능은 결코 버려지지 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.