답변:
systemd
요청시 gettys가 생성 되므로 "추가"TTY를 비활성화 할 필요가 없습니다 man systemd-getty-generator
. 자세한 내용 은 참조 하십시오. 기본적으로이 자동 스폰은 VT6까지만 VT6에 대해서만 수행됩니다 (전통적인 Linux 시스템을 모방 함).
Lennart가 블로그 게시물 1 에서 말한 것처럼 :
보다 효율적인 로그인 프롬프트를 만들기 위해 요청시에만 프롬프트가 시작됩니다. VT로 전환하면 getty 서비스는 getty@tty2.service, getty@tty5.service 등으로 인스턴스화됩니다. 더 이상 getty 프로세스를 무조건 시작할 필요가 없기 때문에 약간의 리소스를 절약 할 수 있으며 스타트 업이 약간 빨라집니다.
특정 수의 게티를 구성하려면 logind.conf
이 예제에서 적절한 항목으로 수정 하면됩니다.
NAutoVTs=3
1. 사실 관리자를 위해 시스템화 된 전체 게시물 (현재 번호 18 )은 읽을만한 가치가 있습니다.
데비안 기반 시스템에는 서버를 방금 구축 한 경우 (dbus 서비스없이) 시작할 때 5 개의 추가 게티가 시작되도록하는 파일이 있습니다.
/lib/systemd/system/getty.target.wants/getty-static.service
그 안에는 다음과 같이 말합니다.
[Service]
Type=oneshot
ExecStart=/bin/systemctl --no-block start getty@tty2.service getty@tty3.service getty@tty4.service getty@tty5.service getty@tty6.service
RemainAfterExit=true
이 파일을 삭제하면 여분의 게티가 생성되지 않습니다. 하나의 여분의 게티를 생성하려면 (리스트 2 콘솔) 자유롭게 목록을 줄이십시오. tty1에서 자동으로 하나를 얻으므로 항상 하나 이상의 가상 콘솔이 있어야합니다.
dpkg-divert
먼저 사용하십시오 . 그러나, 체계적인 방법으로 그것을 빠져 나갈 수있는 방법이 있습니다. – 직접 실행 sudo systemctl mask getty-static.service
하고 설정하십시오/etc
mask
활성화 된 서비스를 사용하는 것이 시끄럽다면 , 같은 이름을 가진 장치를 만들어 /etc
내용을 덮어 쓰는 것이 더 깨끗합니다 . 정적 게티를 0으로 시작하려면 ExecStart = / bin / true를 사용하십시오.
sudo systemctl edit getty-static.service
보다 우선 재정의 파일을 만들 것이다, /lib
한
1-3과 7-9를 그대로두고 특정 TTY 4-6에서 getty를 비활성화하려면 다음을 실행하십시오.
for i in {4..6}; do
systemctl mask getty@tty${i}.service
done
mask
/etc/systemd/system/{name} -> /dev/null
효과적으로 서비스를 비활성화하는 symlink 를 만듭니다 . 를 통해 실행하려고 systemctl start
하면 오류가 표시됩니다Failed to start NAME.service: Unit NAME.service is masked.
당신이 A.service이있는 경우 Wants=masked.service
, 다음 start A
성공뿐만 아니라 저널에 의존 시작 오류가 발생합니다.
당신이 B.service이있는 경우 Requires=masked.service
, 다음 start B
도 실패합니다.
네, 네크로 답입니다. 건배.