Debian Jessie에서 자동 로그인을 구성하는 방법은 무엇입니까?

Debian Jessie에서 자동 로그인을 구성하는 방법은 무엇입니까?

나는 Putty 명령줄을 통해 액세스할 수 있는 Debian Jessie가 설치된 헤드리스 컴퓨터(TS-7680)를 가지고 있습니다. 컴퓨터에는 GUI가 없으며 명령줄을 통해서만 액세스할 수 있습니다. 일시적인 정전이 발생하면 자동으로 재시동하도록 하는 프로그램을 탑재해 현장에 투입될 예정이다.

나는 프로그램을 자동으로 실행시키는 방법을 알고 있습니다. 그런데 로그인할 수 없습니다. 컴퓨터를 시작할 때마다 루트 로그인을 요구하는 메시지가 나타납니다. 이 컴퓨터에는 비밀번호가 없습니다. 코드를 시작하면 다음과 같습니다.

Debian GNU/Linux 8 ts7680 ttyAMA0

ts7680 login:

root이 시점에서 명령 프롬프트에 들어가려면 다음을 입력해야 합니다.root@ts7680:~#

자동로그인 방법 아시는 분 계신가요? 나는 모든 것을 봤지만 답을 찾을 수 없었다. 나는 노력했다이 솔루션불운.

답변1

systemd가 ttyAMA0직렬 포트를 PC에서와 동일한 방식으로 처리한다고 가정하면 ttyS0편집이 필요합니다 [email protected].

systemctl status serial-getty@ttyAMA0( 활성으로 표시되는지 확인할 수 있습니다 .)

기본 버전은 getty를 시작하는 명령을 찾는 곳입니다./lib/systemd/system/[email protected]

ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM

서비스를 시작할 오버레이 파일 만들기 agetty: --autologin root디렉터리를 만들고 다음 콘텐츠로 그 안에 파일을 호출합니다./etc/systemd/system/[email protected]override.conf

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM

systemctl edit [email protected]이를 수행하는 데 도움이 될 것입니다.

인수로 전달된 터미널 유형은 agetty직렬 터미널의 실제 유형과 일치해야 합니다. 이것은 수년에 걸쳐 systemd에서 다양한 접근 방식의 주제였습니다. 이는 vt102다양한 방식으로 커널/부트로더에 내장되어 있고 (간접적으로) 상속됩니다. 현재 접근 방식(2020년 기준)은 의사결정 방식이 상당히 복잡합니다.

하지만,결국엔 선택만 하게 될 것이다세 가지 값 linuxvt220Linux 콘솔에 대해 커널/부트로더가 말하는 모든 것에서. 첫 번째 방법은 실제 터미널에서는 작동하지 않으며 직렬 케이블의 터미널 에뮬레이터와 원격으로 일치하지도 않습니다. 두 번째는 특히 색상과 관련하여 정확하지 않을 것입니다. 어느 것도 아니다PuTTY와 일치하며 올바른 터미널 유형은 putty(또는 putty-256color)입니다. 세 번째는 아마도 Linux를 직렬 터미널과 PuTTY로 putty리디렉션하지 않는 한 그렇지 않을 것입니다 ./dev/console그리고일관된 콘솔 터미널 유형을 사용하여 부트로더를 올바르게 재구성하십시오.

TERM따라서 최상의 결과를 얻으려면 해당 오버레이 파일에도 환경 변수를 설정해야 합니다.

Environment=TERM=putty-256color

그런 다음 systemd를 다시 로드하면 새 구성이 적용되었는지 확인할 수 있습니다.

# systemctl daemon-reload
# systemctl cat serial-getty\@ttyAMA0 | grep Exec

(마지막 줄에 새 명령이 표시되어야 합니다 ExecStart.)

키를 누른 후 자동으로 로그인하려면 명령줄 에 -p또는 를 추가하세요.--login-pauseagetty


링크한 페이지에서는 가상 콘솔에서 자동 로그인을 구성하는 방법에 대해 설명합니다. 이는 구성을 통해 수행되며 [email protected]사용된 명령줄은 agetty약간 다릅니다(옵션이 누락된 것 같습니다 --keep-baud). 이 경우 대신 for를 사용합니다./etc/systemd/system/[email protected]/override.conftty1

가지다Ask Ubuntu의 답변systemd 구성 재정의에 대한 자세한 내용.


systemd 대신 sysvinit를 사용하는 시스템에서는 직렬 포트에 해당하는 라인을 추가/수정해야 합니다 /etc/inittab.

T0:23:respawn:/sbin/getty -L ttyAMA0 --autologin root 38400 vt100

관련 정보