추가 읽기

추가 읽기
root 717  2.0  3.2 1038344 263604 tty7   Rsl+ /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

X 서버 프로세스가 이라는 프로그램을 실행하고 있는 것이 맞습니까 Xorg? (그래서 X 서버 프로세스를 찾았다고 확신할 수 있습니다.)

서버인데 왜 제어 터미널(tty7)도 있나요? 왜 터미널 제어권을 포기하고 데몬이 될 수 없나요?

감사해요.

답변1

X11 서버에는 오래된 터미널 장비가 필요하지 않습니다. 그것구체적으로하나 필요해커널 가상 터미널장비.

범용 터미널 I/O 터미널을 사용하지 않기 때문이다. 커널에 내장된 터미널 에뮬레이터 프로그램과 공유 I/O 장치를 협상하는 방법으로 터미널을 사용합니다. 해당 유형의 장치만 이해하고 프로세스에 신호를 보내는 것과 관련된 커널 가상 터미널 장치별 프로토콜을 사용하면 ioctl()디스플레이 및 HID(인간 입력 장치)가 책임지는 시기와 커널에 내장된 터미널 에뮬레이터가 책임지는 시기를 협상할 수 있습니다.

(Linux에서는 이것이 KVT의 주요 용도이며 I/O는 완전히 다른 장치를 통해 라우팅되며 제어 터미널이 없는 세션에서 X11 서버와는 거의 다르지만 제어 터미널 역할을 합니다. BSD에서는 다음과 같습니다. KVT 장치 때문에 더 복잡합니다.반품기본 USB HID(USB인 경우)에 액세스하는 것만큼 좋지는 않지만 프레임 버퍼 및 HID 입력에 액세스하는 방법입니다. 그러나 FreeBSD에서는 최소한 Xorg하나의 터미널 장치만 열면 되기 때문에 처음에는 제어 터미널로 KVT를 갖지 않습니다.안 돼요자동으로 제어 터미널로 만듭니다. 이 질문은 Xorg실제로 프로세스가 진행 되기 때문에 논쟁의 여지가 있습니다.확실히작동하는 제어 터미널이 있습니다. )

커널에 내장된 터미널 에뮬레이터가 특정 디스플레이 장치나 HID를 사용하지 않는 경우(이 답변의 범위를 훨씬 넘어서는 방식으로) 약간의 노력을 기울여 정렬할 수 있다면 장치 공유가 필요하지 않으며 X11 서버는 항상 " 소유" 장치입니다. 또한 커널이 이미 빌드된 경우아니요내장형 터미널 에뮬레이터, 협상할 사항이 없습니다. 마찬가지로 X11 서버가 실제로 I/O 장치를 사용하지 않는 경우(프로그램의 경우처럼 Xvnc) I/O 장치의 소유권을 협상하는 메커니즘이 필요하지 않습니다.

추가 읽기

관련 정보