Oblogout
関連記事
oblogout は cancel
, logout
, restart
, shutdown
, suspend
, hibernate
, 画面の lock
などのユーザーインターフェイス (ボタン) を提供する、オプションの設定可能なログアウトスクリプトです。
概要
oblogout は様々なウィンドウマネージャで使うことができますが、この記事では Openbox ウィンドウマネージャでの使用を念頭に置いています。oblogout はキーバインドやデスクトップメニューエントリで起動できます。
キーバインド
Super
+x
を押したときにスクリプトを実行させるには、~/.config/openbox/rc.xml
を編集して以下を <keyboard>
セクションの適当な場所に追加してください:
<keybind key="W-x"> <action name="Execute"> <startupnotify> <enabled>true</enabled> <name>oblogut</name> </startupnotify> <command>oblogout</command> </action> </keybind>
サスペンドとハイバネート機能
oblogout はデフォルトで既に非推奨となっている upower パッケージのサスペンドとハイバネート機能を使うため、動作しなくなります。しかしながら、Systemd を使って機能を置き換えることで簡単に問題を解決できます。そのためには、/etc/oblogout.conf
ファイルを開いて、以下のセクションを探して下さい:
[commands] shutdown = systemctl poweroff restart = systemctl reboot suspend = dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend hibernate = dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
suspend
と hibernate
コマンドを Systemd に合わせて変更します:
suspend = systemctl suspend hibernate = systemctl hibernate
画面のロック
画面のロックをするためにインストールしたパッケージを実行するには、/etc/oblogout.conf
を編集して [commands]
セクション下の lock =
コマンドを変更する必要があります。
例えば、XScreenSaver をインストールしている場合、(~/.config/openbox/autostart
ファイルでデーモンプロセスとして自動で実行されるようにしてから) /etc/oblogout.conf
を以下のように編集します:
lock = screensaver-command --lock
もしくは、xlockmore などのパッケージをインストールしている場合 (自動起動させる必要はありません)、設定するコマンド (空の画面でロック) は以下のようになります:
lock = xlock -mode blank
ボタンのテーマ
デフォルトのボタンテーマは oxygen
です。プリインストールされている foom
など、他のテーマを使うこともできます。ボタンテーマを変更するには、/etc/oblogout.conf
を編集して [looks]
セクション下の buttontheme =
コマンドを変更してください。例えば foom
を使う場合:
buttontheme = foom
ボタンの表示
デフォルトのボタンは cancel
, logout
, restart
, shutdown
, suspend
, hibernate
, 画面の lock
です。各ボタンにはショートカットが割り当てられています (例: oblogout を実行してから、s
キーを押すとシステムがシャットダウンします)。
ボタンの表示・非表示や、ボタンの順番は自由に設定することが可能です。設定するには、/etc/oblogout.conf
を編集して [looks]
セクション下の buttons =
コマンドを変更します。以下の例では suspend
と hibernate
ボタンを削除しています:
buttons = cancel, logout, lock, restart, shutdown #buttons = cancel, logout, restart, shutdown, suspend, hibernate, lock
ボタンを削除・追加するときは、[shortcuts]
セクション下のショートカットキーのコマンドも適切に修正する必要があります。ショートカットを修正しないと、ボタンを削除しても、キーボードでその機能を実行できてしまいます。上記の例にあわせて、以下の設定では suspend
と hibernate
のショートカットをコメントアウトしています:
[shortcuts] cancel = Escape shutdown = S restart = R #suspend = U logout = L lock = K #hibernate = H
デュアルディスプレイ
デュアルモニターを使っている場合、oblogout は全てのモニターを扱うことができます。特定のモニターにしか oblogout を表示させたくない場合、Openbox の rc.xml
ファイルに適当なルールを作成して oblogout の位置とサイズを設定できます。
例えば、モニターが2つある場合、左のモニター (1920x1080) に oblogout を表示したいときは、以下を rc.xml
の applications セクションに追加します:
~/.config/openbox/rc.xml
<applications> <application name="oblogout"> <position force="yes"> <x>left</x> <y>0</y> </position> <size> <width>1920</width> <height>1080</height> </size> </application> ... </applications>