가급적 로그인 관리자를 사용하지 않고 데스크탑 환경에 자동으로 로그인하도록 systemd를 어떻게 구성합니까? 저는 아치 리눅스를 사용하고 있습니다.
답변1
이것은건축 위키피디아:
[email protected]
복사하는 것과 유사한 새 서비스 파일을 만듭니다 ./etc/systemd/system/
cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/[email protected]
이는 기본적으로 기존 파일을 [email protected]
자유롭게 수정할 수 있는 새 파일로 복사합니다. 사이트별 단위 파일이 저장되는 위치이기 때문에 [email protected]
복사됩니다 . 패키지에서 제공하는 유닛 파일이 포함되어 있으므로 해당 파일을 변경하면 안 됩니다./etc/systemd/system
/usr/lib/systemd/system
[email protected]
그런 다음 자동으로 로그인하려는 tty의 getty 서비스(예: tty1)에 심볼릭 링크를 연결해야 합니다 .
ln -s /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
여기까지는 여전히 평소와 동일한 파일이지만 [email protected]
, 가장 중요한 부분은 [email protected]
실제로 자동 로그인되도록 수정하는 것입니다. 이렇게 하려면 줄을 ExecStart
다음과 같이 변경하면 됩니다.
ExecStart=-/sbin/agetty -a USERNAME %I 38400
ExecStart
와 행 의 [email protected]
차이점은 agetty에게 사용자 이름 USERNAME을 사용하여 자동으로 로그인하도록 지시하는 것 [email protected]
입니다 .-a USERNAME
이제 systemd에게 데몬 파일을 다시 로드하고 서비스를 시작하라고 지시하면 됩니다.
systemctl daemon-reload
systemctl start [email protected]
(이미 tty1에 로그인한 경우 서비스가 제대로 시작될지 확신할 수 없습니다. 가장 안전한 방법은 서비스를 시작하는 것보다 재부팅하는 것입니다.)
X를 자동으로 시작하려면 다음 코드 조각을 파일에 삽입하세요 ~/.bash_profile
(다음에서 가져옴).위키피디아다시):
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
exec startx
fi
데스크탑 환경을 시작하려면 데스크탑 환경을 수정해야 합니다 ~/.xinitrc
. 이를 수행하는 방법은 DE에 따라 다르며 ArchWiki에도 설명되어 있습니다.
답변2
국제해사기구아치스 위키현재는 더 간단한 솔루션이 권장됩니다.
도우미( systemctl edit getty@tty1
)를 실행하거나 수동으로 수행한 작업을 수행합니다.
mkdir -p /etc/systemd/system/[email protected]/
touch /etc/systemd/system/[email protected]/override.conf
두 방법 중 하나를 통해 입력하려는 텍스트는 (변해야 한다사용자 이름적절하게):
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
노트: 빈 줄이 중요해요! 빈 줄은 먼저 ExecStart 항목을 지우고 다음 줄은 새로운 exec 명령을 소개합니다.
이제 restart() 시 사용자 이름/비밀번호 입력을 기다리는 것을 차단하는 것과 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'
: ).
답변3
파일을 직접 수정합니다(심볼릭 링크임)./etc/systemd/system/getty.target.wants/[email protected]
/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
하지만 여전히 비밀번호가 필요하므로 제거할 수도 있습니다 (현재 Arch 설치에 표시됨).
다시 시작하면 자동으로 로그인됩니다.
추신파일 이름을 로그인하려는 이름 [email protected]
으로 변경하세요.tty
답변4
(get tty) 명령을 사용하여 지정된 사용자를 자동으로 로그인할 수도 있습니다 getty
. 이 명령에 대한 인수는 Linux Debian Ubuntu를 실행 중이므로 다른 배포판에서 이 명령을 사용할 수 있는지 모르겠습니다 .getty
--autologin
-a
getty -a <user>