나는 꽤 오랫동안 이것에 대해 내 머리를 두드리고있다. 이 질문 과 관련 이 있습니다. GUI에서 Linux 상자를 종료 할 때 어떤 일이 발생하는지 정확히 알고 싶습니다. 이것은 문서화가 잘되어 있지 않은 것 같습니다.
이상적으로는 DE 및 OS에 구애받지 않는 대답을 원합니다. 그 외에도 Mandriva 2010.1 및 Debian 6.x (Squeeze) 및 7.0 (Wheezy)의 모든 경우에 Gnome을 실행하는 데 관심이 있습니다. (주의를 기울이면 그놈 2와 그놈 3입니다.)
기본적으로 "Shut Down"또는 "Restart"를 누르면 스크립트의 명령 / 스크립트 / 시퀀스가 시작되어 동작을 수정할 수 있습니다. 내가 살펴본 일부 포럼 게시물은 해킹을 제안 /etc/polkit-1/*
하지만이 디렉토리 구조는 예를 들어 Debian (Squeeze) 상자의 골격 일뿐입니다.
누구든지 도울 수 있습니까?
편집하다
내가 지금까지 시도한 것
shutdown
실행 파일을 내 스크립트 로 대체했습니다 . 작동하지 않습니다.shutdown
Gnome을 누르면 스크립트를 실행하지 않고 로그 아웃합니다.- Gnome 2 메뉴 편집을 시도했습니다. 기쁨 없음 : "종료", "로그 아웃"및 "화면 잠금"옵션이 메뉴 편집기에 나타나지 않습니다.
- 를 보았는데
/usr/share/menu
도움이되지 않았습니다.
솔루션의 가능한 방법
strace
GUI 옵션을 사용하면 가능합니까?shutdown
의 소스 코드를 보면gnome-session
의 소스 코드를 보면
최신 정보
아래 답변에 대한 내 의견에 따라 메시지 아래의 polkit
작업 을 살펴보고 /usr/share/polkit-1/actions/
(파일에서 org.freedesktop.consolekit.policy
) org.freedesktop.consolekit.system.stop-multiple-users
메시지를 던지는 작업을 찾았습니다.
System policy prevents stopping the system when other users are logged in
( org.freedesktop.*
네이밍 규칙 으로 인해 ) 이것이 D-BUS를 통해 DM으로 전송되는 일종의 신호 라고 생각 합니다. 또한이 메시지는 다른 사용자가 로그인 한 상태에서 그래픽으로 종료하려고 할 때 표시되므로 GUI에서 "종료"또는 "전원 끄기"를 선택한 경우이를 트리거하는 메커니즘이 트리거되어야합니다.
누구나 확인 / 반환 할 수 있습니까? 어떻게하면이 신호를 가로 채거나 수정할 가능성이 있습니까?
/etc/init.d/rc.local
를 호출하도록 편집 을 추가 할 수 있습니다 .