방금 저렴한 서버로 오래된 노트북에 데비안 9.2.1을 설치했습니다. 나 외에는 누구도 머신에 물리적으로 접근할 수 없기 때문에 SSH 대신 랩톱 자체를 사용해야 하는 경우 로그인할 필요가 없도록 부팅 시 자동으로 로그인하고 싶습니다. 그래픽 환경이 설치되어 있지 않아 이러한 방법 중 어느 것도 작동하지 않았습니다. 다음과 같은 여러 솔루션을 시도했습니다.https://superuser.com/questions/969923/automatic-root-login-in-debian-8-0-console-only 하지만 로그인 프롬프트가 전혀 표시되지 않아서 데비안을 다시 설치했습니다. 그래픽 환경 없이 자동 로그인하는 방법은 무엇입니까? 감사해요!
답변1
귀하의 것을 편집 /etc/systemd/logind.conf
하고 #NAutoVTs=6
다음으로 변경하십시오.NAutoVTs=1
통해 생성;/etc/systemd/system/[email protected]/override.conf
systemctl edit getty@tty1
다음 줄을 붙여넣으세요.
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux
활성화 [email protected]
한 다음 다시 시작하세요.
systemctl enable [email protected]
reboot
답변2
나는 이 토론에 허용된 답변이 가상 터미널과 관련이 있다는 점을 추가하고 싶습니다. 제 경우에는 시리얼 터미널용 서비스 파일을 별도로 편집해야 했습니다. 파일은 다음 위치에 있으며 해당 줄에 추가하는 동일한 프로세스가 트릭을 수행합니다./lib/systemd/system/[email protected]
--autologin <user>
[Service]
ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 --autologin root %I $TERM
답변3
특히 시스템 손상에 대한 @Keelan의 의견을 고려하여 좀 더 철저한 답변을 추가하고 싶습니다.
첫째, 프로그램을 실행하는 TTY가 하나만 있고 다른 tty에 로그인할 수 없도록 하려면 TTY를 편집하여 /etc/systemd/logind.conf
변경하면 터미널에 로그인할 수 없습니다.#NAutoVTs=6
NAutoVTs=1
다음으로 디렉터리와 override.conf
파일을 만듭니다.
mkdir -p /etc/systemd/system/[email protected]
echo "[Service]" > /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=" >> /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux" >> /etc/systemd/system/[email protected]/override.conf
다시 시작하지 마십시오.다른 답변에서 언급했듯이 재부팅하지 않고 다른 TTY에 로그인하고 다음 명령을 실행하여 테스트하십시오.
systemctl daemon-reload
systemctl restart [email protected]
모든 것이 잘되면 재부팅하십시오.
하지만 자동으로 로그인하는 대신 프로그램을 실행하고 싶다면 어떻게 해야 할까요? 그런 다음 다음을 사용합니다.
mkdir -p /etc/systemd/system/[email protected]
echo "[Service]" > /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=" >> /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=-/path/program -arg1 -arg2" >> /etc/systemd/system/[email protected]/override.conf
echo "StandardInput=tty" >> /etc/systemd/system/[email protected]/override.conf
echo "StandardOutput=tty" >> /etc/systemd/system/[email protected]/override.conf
이제 이 기능 은 bashrc
. screen
이 문제를 해결하려면 위의 표준 자동 로그인을 사용하고 다음을 추가하세요 .bashrc
.
[ `tty` == /dev/tty1 ] && /path/program -arg1 -arg2
즉, 프로그램은 에서만 실행되지만 tty1
아래에는 전체 셸이 제공됩니다.