![sh -c 및 exec는 프롬프트에서 작동하지만 Shebang 스크립트에서는 작동하지 않습니다.](https://linux55.com/image/165610/sh%20-c%20%EB%B0%8F%20exec%EB%8A%94%20%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%EB%A7%8C%20Shebang%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%EB%8A%94%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
쉘 스크립트를 통해 Xsession 로그아웃을 수행하려고 합니다.
xfce4-session-logout --logout
위 옵션(또는 -l)을 사용하면 확인 없이 로그아웃할 수 있습니다.
bash 프롬프트에서는 잘 작동하지만 sh 대신 sh -c를 사용해야 합니다.
$> sh -c "xfce4-session-logout --logout"
exec도 잘 작동합니다.
$> exec xfce4-session-logout --logout
하지만 스크립트 내에서 실행할 수는 없습니다. 이론적으로는 exec가 스크립트에서 작동해야 하는데, 스크립트에 코드를 넣으면 로그아웃이 되지 않습니다. >> error.log 2>&1을 사용하여 오류를 캡처하려고 할 때 로그에서 다른 오류를 캡처하도록 테스트하는 동안 오류 메시지가 표시되지 않습니다.
xsession-logout 문제를 해결하는 다른 방법이 있습니까? xfce4-session-logout의 버그인 경우 이 버그를 어디에 보고할 수 있나요?
경고: 저는 systemd 무료 배포판인 devuan을 사용했습니다. 그것이 관련성이 있는지 잘 모르겠습니다. 예를 들어 xfce4 도구는 일부 systemd 종속성을 사용하여 구축되었으며 Devuan 팀은 배포 패키지에서 systemd의 영향을 완전히 제거하지 않았을 수 있습니다.