![시스템 시스템에서 VT 1을 포함한 모든 로그인 프롬프트를 비활성화하는 방법](https://linux55.com/image/177098/%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90%EC%84%9C%20VT%201%EC%9D%84%20%ED%8F%AC%ED%95%A8%ED%95%9C%20%EB%AA%A8%EB%93%A0%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%20%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%EB%A5%BC%20%EB%B9%84%ED%99%9C%EC%84%B1%ED%99%94%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
저는 본질적으로 임베디드 Linux에서 X 기반 키오스크 프로그램을 실행하고 있으며 특정 구성에서 로그인 기능을 비활성화하고 싶습니다. 부팅 초기에 systemd 서비스의 Exec에서 일부 distro 비특정 콘솔 명령을 실행하여 첫 번째 가상 터미널의 로그인 프롬프트를 포함한 모든 로그인 프롬프트를 비활성화하여 systemd 서비스의 출력만 강제 VT에 표시되도록 하고 싶습니다. 또한 X 및 전체 화면 응용 프로그램을 시작하려면 다른 서비스가 필요합니다.
내 서비스 파일이 현재 주문되었습니다
Before=systemd-logind.service systemd-networkd.service NetworkManager.service dhclient.service
Before=MyKioskApp.service
WantedBy=basic.target
실행 파일이 실행됩니다.
for UNIT in systemd-logind.service systemd-networkd.service systemd-networkd.socket NetworkManager.service dhclient.service
do
systemctl stop $UNIT
systemctl mask --runtime $UNIT
done
다른 트릭과 결합하면 내가 원하는 대부분의 작업을 수행할 수 있지만 키오스크 앱에 오류가 발생하여 종료되면 여전히 로그인 프롬프트가 표시됩니다. 목록에 getty 서비스를 추가하면 뭔가 문제가 있는 것 같아서 X가 시작을 거부합니다. 일종의 PAM 모듈을 비활성화해야 한다고 생각하지만 해당 구성을 업데이트하기 위한 제안된 명령이 표시되지 않습니다. 이 작업에 새 패키지를 추가할 수는 없지만 파일 시스템을 수정할 수는 있습니다.
답변1
getty 서비스를 마스킹하는 것이 올바른 선택임이 밝혀졌습니다. console-getty.service를 추가하고[이메일 보호됨]차단된 서비스 목록은 TTY1의 로그인 프롬프트를 비활성화합니다. 실제로 systemd-logind는 추가 가상 터미널 세션을 시작하는 역할을 담당하고 getty는 이름과 직접적으로 모순되는 로그인 프롬프트를 제공하는 역할을 합니다.