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>