가급적이면 로그인 관리자를 사용하지 않고 데스크탑 환경에 자동으로 로그인하도록 systemd를 구성하려면 어떻게 해야 합니까? 저는 아치 리눅스를 사용하고 있습니다.
답변1
이에 대한 설명은ArchWiki:
[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(예: tty1)의 getty 서비스에 심볼릭 링크해야 합니다 .
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
in 라인 [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
IMO는아치 위키현재 훨씬 간단한 솔루션을 권장합니다.
도우미( 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 명령을 소개합니다.
이제 ( )를 다시 시작하면 이전에 사용자 이름/비밀번호 입력을 기다리는 것을 차단한 곳에서 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
. 인수는 또는 getty
일 수 있습니다 . 저는 Linux Debian Ubuntu를 실행 중이므로 이 명령을 다른 배포판에서 사용할 수 있는지 모르겠습니다.--autologin
-a
getty -a <user>