나는 임베디드 플랫폼으로 작업하고 있으며 /dev/fb0
내 자신의 사용을 위해 명확해야 합니다(장치는 직렬 콘솔을 통해 액세스할 수 있고 화면은 정보를 표시하는 데 사용되며 X는 없습니다.).
그래픽 모드에서 다중 사용자 모드로 변경했는데 default.target
이제 프레임 버퍼 장치에서 로그인 프롬프트와 함께 getty가 열리지만 찾을 수 없습니다.어느서비스는 딱 그래요. 실수로 직렬 콘솔 로그인을 비활성화하고 열려 있는 lsof
항목을 표시하고 싶지 않습니다 /dev/fb0
.
도움이 된다면 배포판은 Yocto Linux입니다.
답변1
lsof
열면 아무것도 표시되지 않습니다/dev/fb0
.
하지 않을 것이다. Linux 커널에는 터미널 에뮬레이터 프로그램이 내장되어 있습니다. 열린 파일 핸들이 있는 실행 중인 프로세스로 표시되지 않습니다. 이는 내부 커널 인터페이스를 사용하여 액세스하는 프레임 버퍼 및 입력 이벤트 하위 시스템 위에 위치합니다. 이는 일련의 애플리케이션 모드 시스템에 제공됩니다.커널 가상 터미널devices /dev/tty1
등. 아래 의사 파일은 /sys
활성 KVT 번호와 일련의 CGA 스타일 비디오 버퍼링 장치 /dev/vcsa1
등을 보여줍니다.
이러한 응용 프로그램 모드 시스템 중 하나는 물론 커널 가상 터미널에서 실행되도록 구성할 수 있는 getty
+ login
시스템이며, (발견한 대로) 기본적으로 그렇게 합니다. getty
문서화된 시스템 메커니즘을 사용하면 이러한 프로세스를 쉽게 제거 할 수 있습니다 .
이전 System 5 init
시스템에서는 모든 getty
레코드가 입니다 /etc/inittab
. BSD init
시스템에서는 모든 getty
레코드가 입니다 /etc/ttys
. systemd 시스템에서는 상황이 약간 간접적입니다.
- "로그인" 데몬은
logind
시스템 속어에서 "좌석"이라고 불리는 것에 대해 알고 있습니다. "좌석" 0은 메인 프레임 버퍼와 모든 커널 가상 터미널이 있는 좌석입니다. - 그 자리에
logind
시작해 보세요질소systemd 서비스[email protected]
에서 .autovt@ttyN.service
질소NAutoVTs
설정에서 설정 됩니다/etc/systemd/logind.conf
. - 이러한 시스템 서비스는 다음에서 파생됩니다.서비스 템플릿 단위,명명 된
[email protected]
. 이것템플릿 매개변수위에서 언급한 것처럼 커널 가상 터미널의 장치 이름입니다.장치 파일, 존재하다/dev/
. [email protected]
기본 구성에서 이는 에 대한 심볼릭 링크입니다[email protected]
.- 커널 가상 터미널 장치 파일을 통해 입출력용으로 설정된 프로그램을
[email protected]
실행하는 방법을 설명합니다 .getty
따라서 이들 중 하나를 중지하려면 로 이동하여 서비스를 자동으로 시작하지 않도록 /etc/systemd/logind.conf
구성하십시오 (철저하게 수행하려면 가상 터미널을 그대로 두지 마십시오).logind
autovt
그러나 그것이 전부는 아닙니다. 터미널 에뮬레이터 프로그램은 커널에서 활성 상태로 유지되며 커널 VT로 전달되는 로그 메시지부터 주기적 커서 깜박임까지 모든 것이 터미널 에뮬레이터가 프레임 버퍼 사용을 방해할 수 있습니다. 그러나 이것은 커널 터미널 에뮬레이터 프로그램과 협상하기 위해 프레임버퍼를 사용하는 프로그램을 코딩하는 문제이며, 여기에 이미 답변되어 있습니다.
그런데 직렬 콘솔 로그인은 완전히 다른 경로를 통해 이루어집니다. ㅏ발전기시작 시 템플릿 단위의 인스턴스를 생성하고 [email protected]
, 찾거나 알려준 각 커널 콘솔 장치에 대해 한 번씩 인스턴스화합니다.
추가 읽기
- 비디오를 프레임 버퍼로 렌더링할 때 가상 콘솔을 숨기는 모범 사례
- https://superuser.com/a/723442/38062
logind.conf
. 시스템 매뉴얼 페이지. freedesktop.org.- “여러 좌석”시스템 d. freedesktop.org.
systemd-getty-generator
. 시스템 매뉴얼 페이지. freedesktop.org.