私はかなり長い間これに頭を打ちつけてきました。これはこの質問に関連しています。LinuxボックスをGUIからシャットダウンすることを選択した場合に何が起こるかを正確に知りたいと思います。これは文書化されているとはいえないようです。
理想的には、DEとOSに依存しない答えを期待しています。それがなければ、私はMandriva 2010.1とDebian 6.x(Squeeze)および7.0(Wheezy)がすべてGnomeを実行している特定のケースに興味があります。(細心の注意を払っている場合、はい、それはGnome 2とGnome 3です)
基本的に、「シャットダウン」または「再起動」を押すと、どのコマンド/スクリプト/スクリプトのシーケンスが開始されるかを知りたいので、それらの動作を変更できます。私が見たいくつかのフォーラムの投稿は、ハッキングを示唆して/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
を呼び出す編集を追加できます。