콘솔 로그인 직후 xserver가 자동으로 시작되면 .bash_logout 또는 .zlogout이 구문 분석되지 않습니다.

콘솔 로그인 직후 xserver가 자동으로 시작되면 .bash_logout 또는 .zlogout이 구문 분석되지 않습니다.

나는 선을 그었다 :

[[ -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아니며 .xinitstartx

그래픽 세션에서 로그아웃한 후 무언가를 실행하려면 셸을 계속 실행하고 이후에 실행할 항목을 지정해야 합니다 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

관련 정보