답변:
이것은 아치 위키에 설명되어 있습니다 :
getty@.service
복사하여 다음 과 유사한 새 서비스 파일을 작성하십시오./etc/systemd/system/
cp /usr/lib/systemd/system/getty@.service /etc/systemd/system/autologin@.service
기본적으로 기존 getty@.service
파일 autologin@.service
을 새 파일로 복사하여 자유롭게 수정할 수 있습니다. /etc/systemd/system
사이트 별 단위 파일이 저장되는 위치로 복사 됩니다. /usr/lib/systemd/system
패키지에서 제공하는 단위 파일을 포함하므로 아무것도 변경하지 마십시오.
그런 다음 autologin@.service
tty1에 대해 자동 로그인하려는 tty의 getty 서비스에 해당 링크를 symlink해야 합니다.
ln -s /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
지금까지는 여전히 일반 getty@.service
파일 과 동일 하지만 가장 중요한 부분은 autologin@.service
실제로 자동으로 로그인 하도록 수정하는 것입니다. 그렇게하려면 ExecStart
줄을 바꾸어 읽기만하면됩니다.
ExecStart=-/sbin/agetty -a USERNAME %I 38400
사이의 차이 ExecStart
라인 getty@.service
과 autologin@.service
전용입니다 -a USERNAME
자동으로 사용자 이름 사용자 이름으로 사용자를 기록 agetty를 알려줍니다.
이제 systemd에게 데몬 파일을 다시로드하고 서비스를 시작하도록 지시하면됩니다.
systemctl daemon-reload
systemctl start getty@tty1.service
(tty1에 이미 로그인 한 경우 서비스가 제대로 시작되는지 확실하지 않은 경우 가장 안전한 방법은 서비스를 시작하는 대신 재부팅하는 것입니다).
X를 자동으로 시작하려면 다음 스 니펫을 ~/.bash_profile
( 위키에서 다시 가져온)에 삽입하십시오 .
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
exec startx
fi
~/.xinitrc
데스크탑 환경을 시작하려면 DE 를 사용하여 변경하는 방법을 수정해야 하며 아마도 아치 위키에도 설명되어 있습니다.
File exists
symlink를 수행 하면 오류가 발생 합니다
ln -sf /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
덮어 쓰는 데 사용 하십시오.
파일 /etc/systemd/system/getty.target.wants/getty@tty1.service
(으로의 심볼릭 링크)을 직접 수정하십시오 /lib/systemd/system/getty@service
.
-a/--autologin USERNAME
라인에 추가 :
ExecStart=-/sbin/agetty --noclear %I $TERM
금후:
ExecStart=-/sbin/agetty -a USERNAME %I $TERM
-o '-p -- \\u'
로그인을 시작 USERNAME
하지만 여전히 암호를 요구 하므로 (현재 아치 설치에있는) 제거 할 수도 있습니다.
재부팅하면 자동으로 로그인됩니다.
시 변경 파일 이름 getty@tty1.service
받는 tty
당신이에 로그인 할 수 있습니다.
IMO의 아치 위키는 현재 매우 간단한 해결책을 권장합니다 :
도우미 ( systemctl edit getty@tty1
)를 실행 하거나 수동으로 수행 한 작업을 수행하십시오.
mkdir -p /etc/systemd/system/getty@tty1.service.d/
touch /etc/systemd/system/getty@tty1.service.d/override.conf
어떤 방법 으로든 입력하려는 텍스트는 다음과 같습니다 ( 사용자 이름을 적절하게 변경하십시오 ).
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
참고 : 빈 줄이 중요합니다! (확실히 나는 왜 그런지 모르겠다 ...)
이제 다시 시작 ( shutdown -r 0
) ... login: username (automatic login)
하면 이전에 사용자 이름 / 암호 입력 대기를 차단 한 부분이 발생합니다.
다시 부팅하고 자동 로그인하면 나처럼이 시스템에 SSH로 접속하려면 다음을 실행해야합니다.
systemctl enable sshd.service
어떤 심볼릭 링크를 생성합니다 (예를 들어 ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'
)
/sbin/agetty
원본 /etc/systemd/system/getty.target.wants/getty@tty1.service
파일을 먼저 확인하는 것이 좋습니다.