GDMのログイン画面でhibernate-scriptを使用して休止状態に入る
ディスプレイマネージャ(ログインマネージャ)であるGDMでは、メニューから再起動やシャットダウンが行えるが、このメニューからhibernate-script*1による休止を行えるようにしてみた。
シャットダウンの代わりに「ログアウト後に休止状態を選択」することで、起動/終了時間を短縮できる。*2
GUIによる設定はうまくいかない?
設定をgdmsetupもしくはGDM上から変更しようとしてもうまく変更されず、設定ファイルを手動で変更後、GDM*3を(管理者権限で)起動し直す*4ことになった。また、「サスペンド」という項目は手元の環境でも仮想マシン上でもうまく動作していない気がするので、隠すようにもした(下の設定による)。設定ファイルはディストリによって異なる。Debian/Ubuntuでは/etc/gdm/gdm.conf、Gentooでは/etc/X11/gdm/custom.confが使用される。確実に設定を反映させるには、これを手動で編集する必要がありそう。
再起動/シャットダウンなどのメニュー項目の設定
「daemon」セクションに「HALT;REBOOT;」などの書かれた行があり、この値を「HALT;REBOOT;CUSTOM_CMD」にする。SystemCommandsInMenu=HALT;REBOOT;CUSTOM_CMD AllowLogoutActions=HALT;REBOOT;CUSTOM_CMD
これにより、「サスペンド」は消えて、休止用のカスタムコマンド項目は表示されるようになる。
カスタムコマンドの定義
gdmsetupなどでも編集は可能だが、うまくいかない場合がある。CustomCommandLabel0=休止状態(_H) CustomCommandLRLabel0=休止状態(_H) CustomCommand0=/usr/sbin/hibernate CustomCommandIsPersistent0=true CustomCommandNoRestart0=true CustomCommandTooltip0=システムを休止します CustomCommandText0=本当にシステムを休止しますか?
上のような記述を設定ファイルの一番最後に追加しておけばOK。
スクリーンショット
Ubuntu Gutsy上で設定したところ。/etc/acpi/hibernate.shを使用するよりも機能/カスタマイズ性ともに優れているので、hibernate-scriptへの乗り換えを推奨。メニューの表示
確認ダイアログ
使用したバージョン: