나는 선을 그었다 :
[[ -z $DISPLAY && $XDG_VTNR -le 4 ]] && exec startx
(Arch Wiki에서) .xinitrc
콘솔에 로그인한 후 즉시 Xserver를 시작하십시오.
세션을 종료할 때마다 .xinitrc
로그아웃 시 시작된 데몬은 bash
또는 사용에 관계없이 종료되지 않습니다 zsh
.
구문 분석되지 않은 것 같습니다 .bash_logout/.zlogout
. 기본적으로 저장되었습니다.
kill -15 -1 &&
다른 사람 중에 이 문제가 발생했거나 해결책이 있었나요?
답변1
이것exec
내장 쉘을 지정된 프로그램으로 대체합니다. 그 후에는 쉘을 더 이상 로드할 수 없습니다 .*logout
.
어떤 경우든 실행 중인 셸은 .xinitrc
로그인 셸이 아니므로 어떤 .*logout
파일도 실행하지 않습니다. 그러나 어떤 경우에도 해당 셸은 실행하려는 위치 가 startx
아니며 .xinit
startx
그래픽 세션에서 로그아웃한 후 무언가를 실행하려면 셸을 계속 실행하고 이후에 실행할 항목을 지정해야 합니다 startx
. 해당 exec startx
행이 .profile
로그인 셸이나 로그인 셸에서 실행되는 유사한 파일에 있다고 가정하면 X 세션이 활성화된 동안 셸을 계속 실행해야 합니다 exit
(GUI 세션 이후에 대화형 셸이 발생하지 않도록).
if [[ -z $DISPLAY && $XDG_VTNR -le 4 ]]; then
if startx; then
# We just exited an X session.
exit
# If your login shell is bash, it runs ~/.logout at this point.
else
echo >&2 "The X session aborted with an error, dropping to a text shell"
fi
fi