나는 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년 기준)은 의사결정 방식이 상당히 복잡합니다.
하지만,결국엔 선택만 하게 될 것이다세 가지 값 linux
과 vt220
Linux 콘솔에 대해 커널/부트로더가 말하는 모든 것에서. 첫 번째 방법은 실제 터미널에서는 작동하지 않으며 직렬 케이블의 터미널 에뮬레이터와 원격으로 일치하지도 않습니다. 두 번째는 특히 색상과 관련하여 정확하지 않을 것입니다. 어느 것도 아니다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-pause
agetty
링크한 페이지에서는 가상 콘솔에서 자동 로그인을 구성하는 방법에 대해 설명합니다. 이는 구성을 통해 수행되며 [email protected]
사용된 명령줄은 agetty
약간 다릅니다(옵션이 누락된 것 같습니다 --keep-baud
). 이 경우 대신 for를 사용합니다./etc/systemd/system/[email protected]/override.conf
tty1
가지다Ask Ubuntu의 답변systemd 구성 재정의에 대한 자세한 내용.
systemd 대신 sysvinit를 사용하는 시스템에서는 직렬 포트에 해당하는 라인을 추가/수정해야 합니다 /etc/inittab
.
T0:23:respawn:/sbin/getty -L ttyAMA0 --autologin root 38400 vt100