Oblogout

提供: ArchWiki
移動先: 案内検索

oblogoutcancel, logout, restart, shutdown, suspend, hibernate, 画面の lock などのユーザーインターフェイス (ボタン) を提供する、オプションの設定可能なログアウトスクリプトです。

概要

ヒント: oblogout を使うときは、起動時に画面の変形が発生しないようにコンポジタを有効にすることを推奨します。デフォルトで透過エフェクトを使うためです。また、/etc/oblogout.conf を編集して opacity = コマンドの設定を変更することで透過を削除することもできます。

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

suspendhibernate コマンドを 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 = コマンドを変更します。以下の例では suspendhibernate ボタンを削除しています:

buttons = cancel, logout, lock, restart, shutdown
#buttons = cancel, logout, restart, shutdown, suspend, hibernate, lock

ボタンを削除・追加するときは、[shortcuts] セクション下のショートカットキーのコマンドも適切に修正する必要があります。ショートカットを修正しないと、ボタンを削除しても、キーボードでその機能を実行できてしまいます。上記の例にあわせて、以下の設定では suspendhibernate のショートカットをコメントアウトしています:

[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>