「Openbox」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Pkg/AUR テンプレートの更新)
(項目を整理)
 
(4人の利用者による、間の20版が非表示)
1行目: 1行目:
 
[[Category:スタック型ウィンドウマネージャ]]
 
[[Category:スタック型ウィンドウマネージャ]]
[[cs:Openbox]]
 
 
[[de:Openbox]]
 
[[de:Openbox]]
[[el:Openbox]]
 
 
[[en:Openbox]]
 
[[en:Openbox]]
[[es:Openbox]]
 
 
[[fr:Openbox]]
 
[[fr:Openbox]]
[[it:Openbox]]
 
[[ko:Openbox]]
 
[[lt:Openbox]]
 
[[nl:Openbox]]
 
[[pl:Openbox]]
 
 
[[ru:Openbox]]
 
[[ru:Openbox]]
[[sk:Openbox]]
 
[[sr:Openbox]]
 
 
[[zh-hans:Openbox]]
 
[[zh-hans:Openbox]]
[[zh-hant:Openbox]]
 
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|デスクトップ環境}}
 
{{Related|デスクトップ環境}}
35行目: 24行目:
 
=== スタンドアロン ===
 
=== スタンドアロン ===
   
  +
[[xinit]] を使用して {{ic|openbox}} または {{ic|openbox-session}} を実行します。{{ic|openbox-session}} のみが [[#autostart|自動起動]] を提供することに注意してください。
Openbox は単独のウィンドウマネージャ (WM) として使うことができます。デスクトップ環境と一緒に Openbox を使うよりもインストールや設定はシンプルになります。openbox だけを使うことは CPU やメモリの使用量を減らすこともできます。
 
   
  +
{{Note|openbox-session を実行すると、空白のグレーの画面だけが表示されます。マウスを移動して '''右クリック''' して openbox メニューを表示し、実際に動作していることを確認してください。}}
Openbox をスタンドアロンのウィンドウマネージャとして実行するには、以下を {{ic|~/.xinitrc}} に追加してください:
 
exec openbox-session
 
   
  +
=== その他のデスクトップ環境 ===
logind (や consolekit) セッションの維持などについては [[xinitrc]] を見て下さい。
 
   
  +
{{Note|
以前に他のウィンドウマネージャ (Xfwm 等) を使っていて、Openbox が起動しないときは、autostart フォルダを削除してみてください:
 
  +
* [[デスクトップ環境]] のネイティブウィンドウマネージャーを Openbox に置き換える場合、Openbox は合成効果 (透明度など) を提供しないことに注意してください。[[#コンポジタの効果]] を参照してください。
mv ~/.config/autostart ~/.config/autostart.bak
 
  +
* Openbox は GNOME アプリケーションで動作します (ただし、[[GTK#クライアントサイドデコレーション]] を参照してください) [https://icculus.org/pipermail/openbox/2014-April/008497.html]}}
   
  +
[[デスクトップ環境#別のウィンドウマネージャーを使用する]]を参照してください。
=== 他のデスクトップ環境 ===
 
 
[[デスクトップ環境]]のネイティブのウィンドウマネージャを Openbox で置き換えるときは、Openbox に (透過などの) コンポジット効果が存在しないことに注意してください。[[#コンポジット効果]]を参照。
 
 
==== GNOME ====
 
 
{{ic|GNOME Shell}} は {{Pkg|mutter}} のプラグインであり、Openbox で使うことはできません。Openbox は GNOME アプリケーションで動作しません ([[GTK+#クライアントサイドデコレーション]]を参照) [http://comments.gmane.org/gmane.comp.window-managers.openbox/6595]。
 
 
==== KDE ====
 
 
[[KDE#KDE/Openbox Session]] を見てください。
 
 
==== Xfce ====
 
 
[[Xfce#デフォルトウィンドウマネージャ]]を見てください。
 
 
==== MATE ====
 
 
[[MATE#MATE で他のウィンドウマネージャを使う]]を見てください。
 
   
 
== 設定 ==
 
== 設定 ==
   
  +
{{Note|ローカル設定ファイルは常にグローバル設定ファイルをオーバーライドします。}}
=== XDG ===
 
 
アプリケーションを自動実行するのに、Openbox はローカルの {{ic|~/.config/openbox/autostart}} ファイルだけでなく、パッケージによってグローバルな {{ic|/etc/xdg/autostart}} ディレクトリに自動的にインストールされた {{ic|.desktop}} ファイルも読み込みます。{{pkg|python2-xdg}} は Openbox の xdg-autostart に必要です。
 
 
例えば、[[NetworkManager]] のアプレット (nm-applet) などをローカルで自動実行を行っていて、後で {{Pkg|python2-xdg}} をインストールしていた場合、グローバルな XDG {{ic|.desktop}} ファイルが読み込まれることになり、結果としてシステムトレイに2つアイコンが表示されてしまいます。したがって、{{Pkg|python2-xdg}} を明示的にインストールしておいて、インストールしたときに自動的にアプリケーションが自動実行されるようにしておくのを推奨します。
 
 
{{ic|Downloads}}, {{ic|Documents}} などの {{ic|Home}} フォルダが存在しない場合は [[XDG ユーザーディレクトリ]]を見て下さい。
 
 
=== Openbox ===
 
 
{{Note|ファイルの編集は Openbox を使用する一般ユーザーで実行してください。}}
 
 
{{Tip|ローカルの設定ファイルはグローバルの設定を上書きします。}}
 
   
Openbox の基本的な設定は主に4つのファイルを使って行い、それぞれに固有の役割があります: {{ic|rc.xml}}, {{ic|menu.xml}}, {{ic|autostart}}, {{ic|environment}}。これらのファイルの詳細は以下で記述ていますが、Openbox の設定を始るには、まず (特定のユーザーアカウント) ローカルの Openbox プロファイルを作成する必要があります。グローバル {{ic|/etc/xdg/openbox}} プロファイル (てのユーザーに適用されます) テンプレートとしてコピーすることで作成できます:
+
4 つの主要なファイルが [http://openbox.org/wiki/Configuration openbox 設定] の基礎形成し、それぞれが独自の役割を果たします。それらは、{{ic|rc.xml}}{{ic|menu.xml}}{{ic|autostart}}、および {{ic|environment}} です。これらのファイルについては以下で詳しく説明しますが、Openbox の構成るには、まずそれらに基づいて '''ローカル''' Openbox プロファイル (つまり、特定のユーザーアカウント) を作成する必要があります。 これは、'''グローバル''' {{ic|/etc/xdg/openbox}} プロファイル (すべてのユーザーに適用可能) からテンプレートとしてコピーすることで実行できます
   
$ cp -R /etc/xdg/openbox ~/.config/
+
$ mkdir -p ~/.config/openbox
  +
$ cp -a /etc/xdg/openbox ~/.config/
   
 
=== rc.xml ===
 
=== rc.xml ===
127行目: 87行目:
 
* 言語設定の変更
 
* 言語設定の変更
 
* 他の使用される変数 (例: GTK テーマの修正)
 
* 他の使用される変数 (例: GTK テーマの修正)
  +
  +
=== Themes ===
  +
  +
GUI 用に {{Pkg|obconf}} および/または {{Pkg|lxAppearance-obconf}} をインストールして、ビジュアル設定とテーマを構成します。
  +
  +
厳選されたテーマが {{AUR|openbox-themes}} パッケージまたは [[AUR]] で入手できます。一部の [[GTK#テーマ|GTK テーマ]] には Openbox テーマも付属しています。Openbox 固有のテーマと Openbox 互換のテーマは両方とも {{ic|/usr/share/themes}} ディレクトリにインストールされ、すぐに選択できるようになります。
  +
  +
[https://www.box-look.org/browse/ord/latest/box-look.org] は、優れた確立されたテーマのソースです。[https://www.deviantart.com/deviantART.com] も優れたリソースです。さらに多くのものをオンラインで見つけることができます。
  +
  +
==== 編集または作成 ====
  +
  +
{{Tip|{{ic|/usr/share/themes/}} にあるテーマを編集するよりも、ホームディレクトリにテーマをコピーする方が良いでしょう。これにより、何か問題が発生した場合でもオリジナルが保持され、更新時に変更が上書きされなくなります。}}
  +
  +
新しいテーマを作成したり、既存のテーマを変更したりするプロセスについては、公式 Web サイト [http://openbox.org/wiki/Help:Themes openbox.org] で詳しく説明されています。{{AUR|obtheme}} は、これを行うための使いやすい GUI です。
   
 
=== GUI 設定パッケージ ===
 
=== GUI 設定パッケージ ===
156行目: 130行目:
 
</keybind>
 
</keybind>
   
== キーバインド ==
+
== キーボーショートカット ==
   
てのキーバインドは {{ic|~/.config/openbox/rc.xml}} ファイルの {{ic|<nowiki><!-- Keybindings for running aplications --></nowiki>}} の下に追加ます。ここでは簡単な説明るにとどめるので、キーバインドの詳しい説明は [http://openbox.org/wiki/Help:Bindings openbox.org] を読んで下さい
+
すべてのキーバインドは{{ic|~/.config/openbox/rc.xml}} ファイルの {{ic|<nowiki><!-- Keybindings for running applications --></nowiki> の下に追加する必要があります。}} ここでは簡単な概要を説明します。
  +
キーバインドのより詳細な説明は [http://openbox.org/wiki/Help:Bindings openbox.org] を参照して下さい。
   
  +
次の構文を使用して、キーバインドを設定ファイルに追加できます:
=== 特殊なキー ===
 
   
  +
<keybind key="'''my-key-combination'''">
基本的な英数字キーをキーバインドに使うのはわかりやすいですが {{ic|modifiers}}, {{ic|multimedia}}, {{ic|navigation}} キーなど他のタイプのキーには特殊な名前が割り当てられています。
 
  +
<action name="'''my-action'''">
  +
'''...'''
  +
</action>
  +
</keybind>
  +
  +
外部コマンドを実行するためのアクション名は ''Execute'' です。次の構文を使用して、実行する外部コマンドを定義します。
  +
  +
<action name="Execute">
  +
<command>'''my-command'''</command>
  +
</action>
  +
  +
使用可能なすべてのアクションのリストについては、[http://openbox.org/wiki/Help:Actions the Openbox wiki] を参照してください。
  +
  +
{{Tip|{{AUR|obkey}} ユーティリティは、キーバインドを設定するためのグラフィカルインターフェイスを提供します。''obkey'' を使用する前に、''obconf'' を使用して {{ic|~/.config/openbox/rc.xml}} を作成する必要があります。}}
  +
  +
キーバインドに標準の英数字キーを使用することは一目瞭然ですが、他のタイプのキーには、{{ic|modifiers}}、{{ic|multimedia}}、{{ic|navigation}} などの特別な名前が割り当てられます。
   
==== 修飾キー ====
+
=== 修飾キー ===
   
 
{{ic|Modifier}} キーにはキーバインドで重要な役割があります (例: {{ic|shift}} や {{ic|CTRL / control}} キーを押しながら他のキーを押すことでアクションを実行する)。修飾キーを使うことでキーバインドの衝突を減らし、同一のキーに複数のアクションを指定することができます。修飾キーと他のキーを使う場合の構文は:
 
{{ic|Modifier}} キーにはキーバインドで重要な役割があります (例: {{ic|shift}} や {{ic|CTRL / control}} キーを押しながら他のキーを押すことでアクションを実行する)。修飾キーを使うことでキーバインドの衝突を減らし、同一のキーに複数のアクションを指定することができます。修飾キーと他のキーを使う場合の構文は:
179行目: 170行目:
 
* {{ic|H}}: Hyper (何かにバインドしている場合)
 
* {{ic|H}}: Hyper (何かにバインドしている場合)
   
  +
=== マルチメディアキー ===
例えば、以下のコードは {{ic|super}} と {{ic|t}} で {{Pkg|lxterminal}} を起動します:
 
 
<keybind key="W-t">
 
<action name="Execute">
 
<command>lxterminal</command>
 
</action>
 
</keybind>
 
 
==== マルチメディアキー ====
 
   
 
ボリュームや画面の明るさの調整など、適切な {{ic|multimedia}} キーで予期した操作が実行されるように設定することが可能です。通常はマルチメディアキーは {{ic|function}} キーに統合されますが、適当なシンボルで識別できます。詳しくは[[特別なキーボードキー]]を見て下さい。
 
ボリュームや画面の明るさの調整など、適切な {{ic|multimedia}} キーで予期した操作が実行されるように設定することが可能です。通常はマルチメディアキーは {{ic|function}} キーに統合されますが、適当なシンボルで識別できます。詳しくは[[特別なキーボードキー]]を見て下さい。
201行目: 184行目:
 
上記のキーを {{ic|~/.config/openbox/rc.xml}} で使用する例は下にあります。
 
上記のキーを {{ic|~/.config/openbox/rc.xml}} で使用する例は下にあります。
   
==== ナビゲショー ====
+
==== ボリュムコトロ ====
 
矢印キーは通常、カーソルを上下左右に動かすのに使われます。navigation のコードは以下の通りです:
 
 
* {{ic|Up}}: 上
 
* {{ic|Down}}: 下
 
* {{ic|Left}}: 左
 
* {{ic|Right}}: 右
 
 
=== ボリュームコントロール ===
 
   
 
音量のコントロールにどのコマンドを使うかは、サウンドシステムとして [[ALSA]], [[PulseAudio]], [[OSS]] のどれを使っているかによって変わってきます。
 
音量のコントロールにどのコマンドを使うかは、サウンドシステムとして [[ALSA]], [[PulseAudio]], [[OSS]] のどれを使っているかによって変わってきます。
218行目: 192行目:
 
*OSS: [[OSS#OSS でマルチメディアキーを使う]]を見てください。
 
*OSS: [[OSS#OSS でマルチメディアキーを使う]]を見てください。
   
=== デスクトップメニュー ===
+
=== ナビゲーションキー ===
   
  +
これらは方向/矢印キーで、通常はカーソルを上下左右に移動するために使用されます。ナビゲーションコードは次のとおりです。
デスクトップメニューにアクセスするキーバインドを作成することもできます。例えば、以下のコードは {{ic|CTRL}} + {{ic|m}} を押すことでメニューが表示されるようにします:
 
   
  +
* {{ic|Up}}: Up
<keybind key="C-m">
 
  +
* {{ic|Down}}: Down
<action name="ShowMenu">
 
  +
* {{ic|Left}}: Left
<menu>root-menu</menu>
 
  +
* {{ic|Right}}: Right
</action>
 
</keybind>
 
   
 
== メニュー ==
 
== メニュー ==
252行目: 225行目:
 
$ mmaker -vf OpenBox3
 
$ mmaker -vf OpenBox3
   
新しい {{ic|~/.config/openbox/menu.xml}} ファイルが作成されたら、手動で編集しても良いですし、{{Pkg|obmenu}} などの GUI のメニューエディタを使って設定を行ってもかまいません。
+
新しい {{ic|~/.config/openbox/menu.xml}} ファイルが作成されたら、手動で編集しても良いですし、{{AUR|obmenu}} などの GUI のメニューエディタを使って設定を行ってもかまいません。
   
 
==== obmenu ====
 
==== obmenu ====
258行目: 231行目:
 
{{Warning|{{ic|obm-xdg}} - [[GTK+]] と [[GNOME]] アプリケーションのリストを生成するパイプメニュー - も存在しますが、長い間解決してないバグが存在し、出力に誤りが混ざったりあるいは全く使えないことがあります。従って、語るに値しないものとします。}}
 
{{Warning|{{ic|obm-xdg}} - [[GTK+]] と [[GNOME]] アプリケーションのリストを生成するパイプメニュー - も存在しますが、長い間解決してないバグが存在し、出力に誤りが混ざったりあるいは全く使えないことがあります。従って、語るに値しないものとします。}}
   
{{Pkg|obmenu}} は {{ic|~/.config/openbox/menu.xml}} を編集するためのユーザーフレンドリな GUI アプリケーションで、{{ic|xml}} のコードを編集したくない人にうってつけでしょう。
+
{{AUR|obmenu}} は {{ic|~/.config/openbox/menu.xml}} を編集するためのユーザーフレンドリな GUI アプリケーションで、{{ic|xml}} のコードを編集したくない人にうってつけでしょう。
   
 
==== xdg-menu ====
 
==== xdg-menu ====
346行目: 319行目:
   
 
{{AUR|openbox-menu}} は [[LXDE]] プロジェクトによる [https://sourceforge.net/projects/lxde/files/menu-cache/ menu-cache] を使って Openbox のダイナミックメニューを作成します。詳細については [http://mimasgpc.free.fr/openbox-menu_en.html 公式ホームページ] を見て下さい。
 
{{AUR|openbox-menu}} は [[LXDE]] プロジェクトによる [https://sourceforge.net/projects/lxde/files/menu-cache/ menu-cache] を使って Openbox のダイナミックメニューを作成します。詳細については [http://mimasgpc.free.fr/openbox-menu_en.html 公式ホームページ] を見て下さい。
 
==== obmenugen ====
 
 
{{AUR|Obmenugen}}{{Broken package link|{{aur-mirror|obmenugen}}}} を使うことで {{ic|.desktop}} ファイルから静的なまたは動的なアプリケーションメニューを生成することができます。詳しくは [http://obmenugen.sourceforge.net/ 公式ホームページ] を見て下さい。
 
   
 
=== メニューアイコン ===
 
=== メニューアイコン ===
395行目: 364行目:
 
$ chmod +x ~/.config/obpanelmenu.sh
 
$ chmod +x ~/.config/obpanelmenu.sh
   
== デスクトップテ ==
+
=== XDG 準拠メニュ===
   
  +
xdg 準拠のメニューは、freedesktop.org 標準に基づいています。メニューは、{{ic|/etc/xdg/menus}} にあるメニューファイルで定義されます。新しいアプリケーションはメニューに自動的に表示されます。
{{Tip|外観の設定やテーマを設定するときは GUI アプリケーションの {{Pkg|obconf}} と {{Pkg|lxappearance-obconf}} をインストールすることを強く推奨します。特に後者は {{ic|~/.gtkrc-2.0}} ファイルを生成するのに必要なので特に重要です ([[GTK+#テーマ]]を参照)。}}
 
   
  +
==== サンプル ====
大量の ''Openbox 専用''の [[GTK+]] テーマと、汎用の ''Openbox 対応''の [[GTK+]] テーマが存在し、ウィンドウ装飾やデスクトップメニューの外観を変更することができます。''汎用の''テーマは様々なデスクトップ環境やウィンドウマネージャでも利用できるように作られており、その中に Openbox も含まれています。例は [https://aur.archlinux.org/packages/?O=0&C=0&SeB=n&K=gtk-theme-&outdated=&SB=n&SO=a&PP=50&do_Search=Go パッケージの説明] を見て下さい。
 
   
  +
{{AUR|archlinux-menus}} パッケージは、Arch Linux 固有の XDG 準拠メニューを提供します。
=== 設定 ===
 
   
  +
== ヒントとテクニック ==
GTK テーマを選択したり設定するには {{Pkg|obconf}} や {{Pkg|lxappearance-obconf}} を使います。[[VirtualBox]] など Qt ベースのアプリケーションのテーマについての情報は [[Qt と GTK アプリケーションの外観の統合]]を見て下さい。
 
   
=== インスト ===
+
=== カーソルとアのテ ===
   
  +
詳細については、[[カーソルテーマ]] および [[アイコン]] を参照してください。
{{Pkg|openbox-themes}} パッケージに様々なテーマが入っています。
 
   
  +
=== デスクトップのアイコンと壁紙 ===
インストールした Openbox のテーマは {{ic|/usr/share/themes}} ディレクトリに自動的にインストールされます。すぐに選択することが可能です。
 
   
  +
Openbox は、デスクトップアイコンや壁紙の使用をネイティブにサポートしていません。
[https://www.box-look.org/browse/ord/latest/ box-look.org] や [http://www.deviantart.com/ deviantART.com] にも様々なテーマが存在します。
 
   
  +
[[PCManFM#デスクトップ管理|PCManFM]]、[[SpaceFM#デスクトップ管理|SpaceFM]]、[[Idesk]]を参照してください。
=== トラブルシューティング ===
 
   
  +
{{note|{{ic|~/.conkyrc}} を編集して、{{ic|own_window_type}} を {{ic|normal}} に設定する必要がある場合があります。}}
稀に、以下の問題が発生することがあります。特にサポートされないウェブサイトからテーマをダウンロードしたときに発生します。
 
   
  +
[[アプリケーション一覧#壁紙設定]] を参照してください。
==== テーマが使えない ====
 
   
  +
=== コンポジタの効果 ===
何らかの理由で展開したテーマが選択できない場合、テーマディレクトリを開いて {{ic|openbox-3}} ディレクトリが存在するか、また、ディレクトリ内に {{ic|themerc}} ファイルが存在することを確認してください。テーマによっては {{ic|.obt}} ('''O'''pen'''B'''ox '''T'''heme) ファイルが存在することもあり、{{Pkg|obconf}} から手動でロードすることができます。
 
   
  +
Openbox は [[Wikipedia:Compositing window manager|compositing]] のネイティブサポートを提供していないため、この目的には外部コンポジタが必要です。
ファイルやディレクトリが存在する場合、ファイルのパーミッションが正しく設定されていない可能性があります。フォルダとファイルのパーミッションの所有者が '''root''' になっていることを確認してください:
 
   
  +
コンポジタは必須のコンポーネントではありませんが、特に [[#oblogout|oblogout]] による画面の歪みや、ターミナルウィンドウの透明度による視覚的な不具合などの問題を回避できる可能性があります。一般的な選択肢については、[[Xorg#コンポジットマネージャ一覧]] を参照してください。
# chown -R root /user/share/themes
 
   
  +
=== oblogout ===
=== テーマの編集または新しいテーマの作成 ===
 
   
  +
この便利なグラフィカルなログアウトスクリプトの使用方法の概要については、[[Oblogout]] の記事を参照してください。
{{Tip|既存のテーマに修正を加える場合 (例: カラースキーム)、コピーを取ってから作業することを推奨します。元のファイルが消えたり、アップデートによって変更が上書きされないようにするためです。}}
 
   
  +
=== ホットキーを使用して複雑なコマンドを起動する ===
新しいテーマを作成したり既存のテーマを修正する方法は公式ウェブサイトの [http://openbox.org/wiki/Help:Themes openbox.org] で詳しく解説されています。また、{{AUR|obtheme}} を使うことで GUI で行うことができます。
 
   
  +
複雑なコマンドを実行する必要がある場合は、シェル機能を使用してください。
== コンポジット効果 ==
 
   
  +
独自のスクリプトを作成するときは、"{{ic|&}}" ("&amp;amp;"), "{{ic|<}}" ("&amp;lt;"), "{{ic|>}}" ("&amp;gt;") など) の XML 特殊文字を必ずエスケープしてください。)、(詳細は [[Wikipedia:List_of_XML_and_HTML_character_entity_references#XML の事前定義されたエンティティ|XML の事前定義されたエンティティ]] を参照してください)。
Openbox はネイティブではコンポジットをサポートしておらず、したがって、コンポジットを使うにはコンポジタをインストールする必要があります。コンポジットを使用することで透過や影などの様々なデスクトップ効果を使うことができるようになります。コンポジットは必須のコンポーネントではありませんが、見た目の良い環境を作るのに役立ち、[[oblogout]] を使うときの画面の乱れや、ターミナルウィンドウの透過を有効にしたときに起こるグリッチを防ぐことができます。一般的には以下からコンポジタを選択します:
 
   
  +
この例では、表示をすぐにオフにし、{{Pkg|slock}} で画面をロックします。これは [https://bbs.archlinux.org/viewtopic.php?pid=903057 このスレッド] から取得したものです。
* [[Compton]]: パワフルで信頼性があり、拡張性のあるコンポジタ。
 
  +
<keybind key="W-l">
* [[Xcompmgr]]: 旧式ながらシンプルなコンポジタ。
 
  +
<action name="Execute">
* [[Cairo Compmgr]]: 高度なコンポジット効果があり、プラグインをサポートし、ユーザーフレンドリな GUI を提供。ただしバグが多くてシステムリソースの消費も著しい。
 
  +
<command>sh -c 'slock &amp;amp; (sleep .5 &amp;amp;&amp;amp; xset dpms force off)'</command>
  +
</action>
  +
</keybind>
   
  +
場合によっては、アプリケーションの環境変数を指定する必要があります:
== デスクトップアイコンと壁紙 ==
 
  +
<keybind key="A-F7">
  +
<action name="Execute">
  +
<command>sh -c "LC_ALL=C obconf"</command>
  +
</action>
  +
</keybind>
   
  +
別の例では、すべての stdout および stderr 出力をファイルに保存してアプリケーションを起動します:
Openbox はネイティブではデスクトップアイコンや壁紙の使用をサポートしていません。したがって、必要であればアプリケーションを追加でインストールする必要があります。
 
  +
<keybind key="A-f">
  +
<action name="Execute">
  +
<command>sh -c sh -c "exec gimp &amp;gt;/tmp/gimp.out 2&amp;gt;&amp;amp;1"</command>
  +
</action>
  +
</keybind>
   
  +
スクリーンショットを有効にする:
=== ファイルマネージャによるデスクトップ管理 ===
 
  +
<keybind key="Print">
  +
<action name="Execute">
  +
<command>gnome-screenshot --clipboard</command>
  +
</action>
  +
</keybind>
  +
<keybind key="A-Print">
  +
<action name="Execute">
  +
<command>gnome-screenshot --clipboard --window</command>
  +
</action>
  +
</keybind>
  +
<keybind key="W-Print">
  +
<action name="Execute">
  +
<command>gnome-screenshot --interactive</command>
  +
</action>
  +
</keybind>
   
  +
=== アプリケーションランチャー ===
ファイルマネージャの中には完全にデスクトップを管理できる機能を持っているものがあり、そうしたファイルマネージャを使うことでデスクトップ上での壁紙やアイコンの使用をすることができます。[[LXDE]] デスクトップ環境ではそのために PCManFM を使っています。
 
   
  +
Openbox を単純にインストールするデスクトップ環境がない場合、Openbox メニューシステムとホットキーの補足として 1 つ以上のアプリケーションランチャーをインストールすると便利です。このようなランチャーのリストは、[[:カテゴリ:アプリケーションランチャー]] および [[アプリケーション一覧/その他#アプリケーションランチャー]] にあります。一般的な例として [[Gmrun]] や [[dmenu]] など。
[[PCManFM#デスクトップの管理]]や [[SpaceFM#デスクトップの管理]]を見て下さい。
 
   
  +
=== マウスを使用してデスクトップを切り替える ===
=== 壁紙 ===
 
   
  +
マウスカーソルを画面端に移動させることでデスクトップを切り替えることができます。まず、{{Pkg|xdotool}} をインストールし、次の 2 行を {{ic|~/.xinitrc}} に追加します:
[[アプリケーション一覧#壁紙設定]]を見て下さい。
 
 
=== アイコンプログラム ===
 
 
デスクトップアイコンを使うためだけのプログラムというものも存在しますが、ファイルマネージャを利用するよりも利便性は大きく劣ります。
 
 
==== idesk ====
 
 
[[idesk]] は壁紙の管理に加えてアイコンを使えるようにもできるシンプルなプログラムです。{{ic|~/.idesktop}} ディレクトリを作成する必要があり、デスクトップアイコンは手動で作成しなくてはなりません。idesk を使ってアイコンを表示するには、{{ic|~/.config/openbox/autostart}} ファイルに以下のコマンドを追加してください:
 
 
idesk &
 
 
==== xfdesktop ====
 
 
{{Pkg|xfdesktop}} は [[Xfce]] のデスクトップマネージャです。[[Thunar]] ファイルマネージャも依存パッケージとしてダウンロードされます。xfdesktop を使用しているときは、壁紙を右クリックして Openbox のデスクトップメニューにアクセスすることはできなくなります。
 
 
そのため、[[#デスクトップメニュー|キーバインドを作成]]するか、パネルをインストールして[[#デスクトップメニューをパネルメニューとして使う|デスクトップメニューをパネルメニューとして使う]]かして、他の方法でアクセスできるようにする必要があります。xfdesktop を使ってアイコンを表示するには、以下のコマンドを {{ic|~/.config/openbox/autostart}} ファイルに追加します:
 
 
xfdesktop &
 
 
=== conky の設定 ===
 
 
ファイルマネージャを使ってデスクトップを管理するときは、[[conky]] を使っている場合、{{ic|~/.conkyrc}} を編集して {{ic|own_window_type}} コマンドを変更する必要があります。コマンドは以下のように修正してください:
 
 
own_window_type normal
 
 
== ヒントとテクニック ==
 
 
=== マウスを使ってデスクトップを切り替える ===
 
 
画面の端にマウスを移動することでデスクトップを切り替えることが可能です。まず {{Pkg|xdotool}} をインストールして以下の2行を {{ic|~/.xinitrc}} に追加してください:
 
   
 
xdotool behave_screen_edge --delay 500 left set_desktop --relative -- -1 &
 
xdotool behave_screen_edge --delay 500 left set_desktop --relative -- -1 &
489行目: 456行目:
   
 
[[デフォルトアプリケーション]]を見て下さい。
 
[[デフォルトアプリケーション]]を見て下さい。
 
=== マウスホイールによるデスクトップ切り替えを循環しないようにする ===
 
 
デフォルトではマウスホイールを回すことで Openbox は最後のデスクトップから最初のデスクトップに切り替えます。{{ic|mousebind}} セクションで {{ic|<wrap>no</wrap>}} を使うことでこの挙動を無効化することが可能です。
 
 
<context name="Desktop">
 
<mousebind button="Up" action="Click">
 
<action name="GoToDesktop">
 
<to>previous</to>
 
<wrap>no</wrap>
 
</action>
 
</mousebind>
 
<mousebind button="Down" action="Click">
 
<action name="GoToDesktop">
 
<to>next</to>
 
<wrap>no</wrap>
 
</action>
 
</mousebind>
 
</context>
 
   
 
=== ウィンドウ透過 ===
 
=== ウィンドウ透過 ===
   
 
{{Warning|アクショングループに他のアクションが定義されている場合、上手く行かないことがあります。}}
 
{{Warning|アクショングループに他のアクションが定義されている場合、上手く行かないことがあります。}}
{{Pkg|transset-df}} パッケージに含まれている ''transset-df'' を使えばすぐにウィンドウ透過を有効にできます。
+
{{AUR|transset-df}} パッケージに含まれている ''transset-df'' を使えばすぐにウィンドウ透過を有効にできます。
   
 
例えば以下を {{ic|~/.config/openbox/rc.xml}} ファイルの ''<mouse>'' セクションに追加すれば、タイトルバー上でマウスのホイールを回すことでウィンドウの透明度を調整できるようになります:
 
例えば以下を {{ic|~/.config/openbox/rc.xml}} ファイルの ''<mouse>'' セクションに追加すれば、タイトルバー上でマウスのホイールを回すことでウィンドウの透明度を調整できるようになります:
547行目: 495行目:
 
WM_CLASS(STRING) = "NAME", "CLASS"
 
WM_CLASS(STRING) = "NAME", "CLASS"
   
  +
=== キーボードレイアウトの切り替え ===
==== Firefox ====
 
   
何らかの理由で、Firefox やその亜種は {{ic|class&#61;"Firefox*"}} を使用しないかぎりアプリケーションルール (例: ''<desktop>'') を無視します。'''xprop''' によって報告されるプログラムの {{ic|WM_CLASS}} の値とは無関係に適用されます。
 
 
=== キーボードレイアウトの切り替え ===
 
 
キーボードレイアウトの管理に他のプログラムを使いたくない場合、特定のキーボードショートカットでレイアウトを切り替えるように X を手動で設定することができます。詳しい方法は [[Xorg#キーボードレイアウトの切り替え]]を見てください。
 
キーボードレイアウトの管理に他のプログラムを使いたくない場合、特定のキーボードショートカットでレイアウトを切り替えるように X を手動で設定することができます。詳しい方法は [[Xorg#キーボードレイアウトの切り替え]]を見てください。
   
620行目: 565行目:
 
ディスプレイマネージャを使用している場合、ディスプレイマネージャから Openbox のデスクトップに遷移するときにちらつきが発生することがあります。ちらつきの原因は Openbox が起動時にルートウィンドウの色を設定しているためです。ディスプレイマネージャの背景とデスクトップの背景の間に、一瞬だけグレーの色が表示されてしまいます。
 
ディスプレイマネージャを使用している場合、ディスプレイマネージャから Openbox のデスクトップに遷移するときにちらつきが発生することがあります。ちらつきの原因は Openbox が起動時にルートウィンドウの色を設定しているためです。ディスプレイマネージャの背景とデスクトップの背景の間に、一瞬だけグレーの色が表示されてしまいます。
   
{{ic|/usr/lib/openbox/openbox-autostart}} にある Openbox のスタートアップスクリプトを編集することでルートウィンドウの背景色の設定を無効にできます。{{ic|# Set a background color}} から始まるブロックをコメントアウトあるいは削除してください。
+
{{ic|/usr/lib/openbox/openbox-autostart}} にある Openbox のスタートアップスクリプトを編集することでルートウィンドウの背景色の設定を無効にできます。{{ic|# Set a background color}} から始まるブロックをコメントアウト(あるいは削除)してください。
   
 
{{Note|ルートウィンドウの色設定を無効化して、Openbox の背景色を特に設定していなかった場合、ディスプレイマネージャの背景が継承されます。}}
 
{{Note|ルートウィンドウの色設定を無効化して、Openbox の背景色を特に設定していなかった場合、ディスプレイマネージャの背景が継承されます。}}
  +
  +
=== ウィンドウのデコレーション ===
  +
  +
すべてまたは特定のアプリケーションのウィンドウのデコレーションを削除するには、''rc.xml'' の <applications> セクションの ''<decor>'' オプションを使用します (ユーザー: ''~/.config/openbox/'' またはシステム: ''/etc/xdg/openbox/'')
  +
  +
Firefox の例 (Firefox-Beta や Firefox-Nightly などの亜種を含む):
  +
<application class="Firefox*">
  +
<decor>no</decor>
  +
</application>
  +
また、すべてのアプリケーションのデコレーションを無効にし (クラス '''*''' を使用)、個別のアプリケーションに対して装飾を有効にする ('''yes''' を使用) こともできます。変更を適用するには、デスクトップセッションを再起動し、Openbox を再起動します。参照: [http://openbox.org/wiki/Help:FAQ#How_do_I_remove_the_decorations_from_all_my_windows.3F Openbox FAQ]
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
  +
  +
=== Firefox ===
  +
  +
Mozilla ベースのブラウザは、{{ic|1=class="Firefox"}} が使用されない限り、アプリケーションルール (例: {{ic|<desktop>}}) を無視する可能性があります。[[Openbox#アプリケーションの Xprop の値|Xprop 値]] を参照してください。
  +
  +
=== テーマが見つからない ===
  +
  +
何らかの理由で新しく抽出したテーマを選択できない場合は、まずテーマディレクトリを開いて Openbox と互換性があることを確認します。{{ic|openbox-3}} ディレクトリと {{ic|themerc}} ファイルがあるはずですその中で。場合によっては、{{ic|.obt}} ('''O'''pen'''B'''ox ''''T'''heme) ファイルも存在する場合があり、{{Pkg|obconf}} に手動でロードできます。
  +
  +
間違った権限が原因でテーマにアクセスできない場合もあります。詳細については、[[ファイルのパーミッションと属性]] を参照してください。
  +
  +
=== デスクトップの連続切り替えを停止する ===
  +
  +
デフォルトでは、Openbox はマウスのホイールスクロール時に最後のデスクトップから最初のデスクトップに戻ります。この動作を無効にするには、{{ic|mousebind}} セクションで {{ic|<wrap>no</wrap>}} を使用します。
  +
  +
<context name="Desktop">
  +
<mousebind button="Up" action="Click">
  +
<action name="GoToDesktop">
  +
<to>previous</to>
  +
<wrap>no</wrap>
  +
</action>
  +
</mousebind>
  +
<mousebind button="Down" action="Click">
  +
<action name="GoToDesktop">
  +
<to>next</to>
  +
<wrap>no</wrap>
  +
</action>
  +
</mousebind>
  +
</context>
   
 
=== ウィンドウがアクティブウィンドウの後ろにロードされる ===
 
=== ウィンドウがアクティブウィンドウの後ろにロードされる ===

2024年1月27日 (土) 21:06時点における最新版

関連記事

Openbox は軽量で設定が自由なスタック型ウィンドウマネージャです。デスクトップ環境とは独立して動作させることも、KDEXfce など他のデスクトップ環境に入っているウィンドウマネージャの代替として使うことも可能です。LXDE デスクトップ環境は Openbox を初めから組み込んでいます。

目次

インストール

openbox パッケージをインストールしてください。

Openbox の起動

スタンドアロン

xinit を使用して openbox または openbox-session を実行します。openbox-session のみが 自動起動 を提供することに注意してください。

ノート: openbox-session を実行すると、空白のグレーの画面だけが表示されます。マウスを移動して 右クリック して openbox メニューを表示し、実際に動作していることを確認してください。

その他のデスクトップ環境

ノート:

デスクトップ環境#別のウィンドウマネージャーを使用するを参照してください。

設定

ノート: ローカル設定ファイルは常にグローバル設定ファイルをオーバーライドします。

4 つの主要なファイルが openbox 設定 の基礎を形成し、それぞれが独自の役割を果たします。それらは、rc.xmlmenu.xmlautostart、および environment です。これらのファイルについては以下で詳しく説明しますが、Openbox の構成を開始するには、まずそれらに基づいて ローカル Openbox プロファイル (つまり、特定のユーザーアカウント用) を作成する必要があります。 これは、グローバル /etc/xdg/openbox プロファイル (すべてのユーザーに適用可能) からテンプレートとしてコピーすることで実行できます。

$ mkdir -p ~/.config/openbox
$ cp -a /etc/xdg/openbox ~/.config/

rc.xml

ヒント: カスタムキーボードショートカット (キーバインド) はこのファイルの <keyboard> セクションの、<!-- Keybindings for running aplications --> の下に追加します。

~/.config/openbox/rc.xml はメインの設定ファイルです。以下の設定を定義します:

  • キーボードショートカット (例: アプリケーションの起動やボリュームのコントロール)
  • テーマ
  • デスクトップと仮想デスクトップの設定
  • アプリケーションウィンドウの設定

このファイルにはあらかじめ設定がされており、個人的な好みで修正するほかは既存の内容に変更を加える必要はありません。

menu.xml

~/.config/openbox/menu.xml はデスクトップを右クリックしたときに表示されるメニューの中身を定義するファイルです。デフォルトのメニューは静的なメニュー (新しいアプリケーションをインストールしてもメニューが更新されない) ですが、自動的に更新されるダイナミックメニューを使うこともできます。

メニューについては下のメニューセクションで詳しい説明をしています。

autostart

~/.config/openbox/autostart には Openbox セッションが開始したときにどのアプリケーションを起動するか記述します。

コマンドはアンパサンド (&) を付けて終了する必要があります。コマンドにアンパサンドが付いていないと、それから先に記述されたコマンドが実行されなくなります。

また、autostart ファイルではコマンドの実行を遅延させることを推奨します。そうしないと全てのコマンドが同時に実行されることになり、結果的にアイテムが起動しなくなることがあります。コマンドの実行を遅延させるには以下のような形式で記述します:

(sleep <number of seconds>s && <command>) &

例えば、Conky の実行を3秒だけ遅らせたい場合、コマンドは以下の通りです:

(sleep 3s && conky) &

python2 スクリプトの /usr/lib/openbox/openbox-xdg-autostart は XDG の autostart 規格に沿ってアプリケーションを実行します。

environment

~/.config/openbox/environment は以下のような環境変数を設定するのに使います:

  • 新しいパスの定義 (例: パスを必要とする実行コマンド)
  • 言語設定の変更
  • 他の使用される変数 (例: GTK テーマの修正)

Themes

GUI 用に obconf および/または lxAppearance-obconf をインストールして、ビジュアル設定とテーマを構成します。

厳選されたテーマが openbox-themesAUR パッケージまたは AUR で入手できます。一部の GTK テーマ には Openbox テーマも付属しています。Openbox 固有のテーマと Openbox 互換のテーマは両方とも /usr/share/themes ディレクトリにインストールされ、すぐに選択できるようになります。

[2] は、優れた確立されたテーマのソースです。[3] も優れたリソースです。さらに多くのものをオンラインで見つけることができます。

編集または作成

ヒント: /usr/share/themes/ にあるテーマを編集するよりも、ホームディレクトリにテーマをコピーする方が良いでしょう。これにより、何か問題が発生した場合でもオリジナルが保持され、更新時に変更が上書きされなくなります。

新しいテーマを作成したり、既存のテーマを変更したりするプロセスについては、公式 Web サイト openbox.org で詳しく説明されています。obthemeAUR は、これを行うための使いやすい GUI です。

GUI 設定パッケージ

Openbox デスクトップを簡単に設定するための GUI が複数存在します:

  • ObConf — Openbox ウィンドウマネージャのための GTK2 ベースの設定ツール。
http://openbox.org/wiki/ObConf:About || obconf
  • LXAppearance ObConf — Openbox を設定するための LXAppearance のプラグイン。
http://lxde.org || lxappearance-obconf
  • LXInput — LXDE のキーボード・マウス設定。
http://lxde.org || lxinput
  • LXRandR — LXDE のモニター設定。
http://wiki.lxde.org/en/LXRandR || lxrandr
  • obkey — Openbox のキーボードショートカットを設定。
https://code.google.com/p/obkey/ || obkeyAUR
  • ob-autostart — Openbox のためのシンプルな自動起動アプリケーション。
https://pastebin.com/012YgXTk || ob-autostartAUR
  • obapps — Openbox のアプリケーション設定を変えるためのグラフィカルツール。
https://sourceforge.net/projects/obapps/ || obappsAUR

Openbox のデスクトップメニューを設定するアプリケーションについてはメニューセクションを見て下さい。

Openbox の再設定

ヒント: メニューやキーバインドに以下のコマンドを追加すると便利です。

Openbox は常に設定ファイルの変更をセッションに反映させるわけではありません。そのため、設定ファイルを編集したら手動でリロードする必要があります。再設定を行うには、次のコマンドを実行してください:

$ openbox --reconfigure

上のコマンドを実行するキーバインドを ~/.config/openbox/rc.xml に追加すれば、いちいちターミナルを開く必要がなくなります。例えば Super+F11 キーバインドを使用する場合:

<keybind key="W-F11">
  <action name="Reconfigure"/>
</keybind>

キーボードショートカット

すべてのキーバインドは、~/.config/openbox/rc.xml ファイルの <!-- Keybindings for running applications --> の下に追加する必要があります。 ここでは簡単な概要を説明します。 キーバインドのより詳細な説明は openbox.org を参照して下さい。

次の構文を使用して、キーバインドを設定ファイルに追加できます:

<keybind key="my-key-combination">
  <action name="my-action">
    ...
  </action>
</keybind>

外部コマンドを実行するためのアクション名は Execute です。次の構文を使用して、実行する外部コマンドを定義します。

<action name="Execute">
  <command>my-command</command>
</action>

使用可能なすべてのアクションのリストについては、the Openbox wiki を参照してください。

ヒント: obkeyAUR ユーティリティは、キーバインドを設定するためのグラフィカルインターフェイスを提供します。obkey を使用する前に、obconf を使用して ~/.config/openbox/rc.xml を作成する必要があります。

キーバインドに標準の英数字キーを使用することは一目瞭然ですが、他のタイプのキーには、modifiersmultimedianavigation などの特別な名前が割り当てられます。

修飾キー

Modifier キーにはキーバインドで重要な役割があります (例: shiftCTRL / control キーを押しながら他のキーを押すことでアクションを実行する)。修飾キーを使うことでキーバインドの衝突を減らし、同一のキーに複数のアクションを指定することができます。修飾キーと他のキーを使う場合の構文は:

"<modifier>-<key>"

modifier のコードは以下の通りです:

  • S: Shift
  • C: Control / CTRL
  • A: Alt
  • W: Super / Windows
  • M: Meta
  • H: Hyper (何かにバインドしている場合)

マルチメディアキー

ボリュームや画面の明るさの調整など、適切な multimedia キーで予期した操作が実行されるように設定することが可能です。通常はマルチメディアキーは function キーに統合されますが、適当なシンボルで識別できます。詳しくは特別なキーボードキーを見て下さい。

ボリュームと輝度のマルチメディアキーは以下の通りです (マルチメディアキーを機能させるにはコマンドを割り当てる必要があります):

  • XF86AudioRaiseVolume: ボリュームを上げる
  • XF86AudioLowerVolume: ボリュームを下げる
  • XF86AudioMute: ボリュームをミュート / ミュート解除
  • XF86MonBrightnessUp: 画面の明るさを上げる
  • XF86MonBrightnessDown: 画面の明るさを下げる

上記のキーを ~/.config/openbox/rc.xml で使用する例は下にあります。

ボリュームコントロール

音量のコントロールにどのコマンドを使うかは、サウンドシステムとして ALSA, PulseAudio, OSS のどれを使っているかによって変わってきます。

ナビゲーションキー

これらは方向/矢印キーで、通常はカーソルを上下左右に移動するために使用されます。ナビゲーションコードは次のとおりです。

  • Up: Up
  • Down: Down
  • Left: Left
  • Right: Right

メニュー

Openbox では3つのタイプのメニューを使うことができます: static, pipes (dynamic), generators (static または dynamic)。どれか一つだけを使うこともできますし組み合わせることも可能です。

Static

名前の通り、デフォルトのメニュータイプであり決して変更されることがありません。手動で編集したり、適切なソフトウェアパッケージを使って自動で生成することが可能です。

このタイプのメニューはアプリケーションを選択するだけでなく、アプリケーションから他のプロセス (例: synapse または xfce4-appfinder アプリケーション) にアクセスして、特定の関数にアクセスしたりタスク (デスクトップの設定など) を実行することもできます。

~/.config/openbox/menu.xml ファイルが static デスクトップメニューの唯一の設定ファイルです。

menumaker

menumaker は Openbox, Fluxbox, IceWM, Xfce など複数のウィンドウマネージャに対応した xml メニューを自動で作成します。MenuMaker はあなたのコンピュータにある実行可能ファイルを検索して、その結果からメニューファイルを作成します。特定のアプリケーション (GNOME, KDE など) を省くように設定することも可能です。

インストールして実行すると、新しい ~/.config/openbox/menu.xml ファイルが生成されます。既存のファイルが上書きされないようにするには、次を実行:

$ mmaker -v OpenBox3

もしくは、既存のファイルを上書きしたい場合は、force 引数を追加 (f):

$ mmaker -vf OpenBox3

新しい ~/.config/openbox/menu.xml ファイルが作成されたら、手動で編集しても良いですし、obmenuAUR などの GUI のメニューエディタを使って設定を行ってもかまいません。

obmenu

警告: obm-xdg - GTK+GNOME アプリケーションのリストを生成するパイプメニュー - も存在しますが、長い間解決してないバグが存在し、出力に誤りが混ざったりあるいは全く使えないことがあります。従って、語るに値しないものとします。

obmenuAUR~/.config/openbox/menu.xml を編集するためのユーザーフレンドリな GUI アプリケーションで、xml のコードを編集したくない人にうってつけでしょう。

xdg-menu

archlinux-xdg-menu は Openbox を含む、様々なウィンドウマネージャのメニューを /etc/xdg/ ディレクトリに含まれている xdg ファイルから自動で作成することができます。詳しくは Xdg-menu#OpenBox を見て下さい。

ログアウトメニューのオプション

ヒント: キーバインドにコマンドを割り当てることもできます。

~/.config/openbox/menu.xml ファイルを編集することで oblogout のオプションと同じサブメニューを作成することができます。以下のサンプルスクリプトは画面のロック以外の全てのオプションを備えます:

<menu id="exit-menu" label="Exit">
	<item label="Log Out">
		<action name="Execute">
			<command>openbox --exit</command>
		</action>
	</item>
	<item label="Shutdown">
		<action name="Execute">
			<command>systemctl poweroff</command>
		</action>
	</item>
	<item label="Restart">
		<action name="Execute">
		        <command>systemctl reboot</command>
		</action>
	</item>
	<item label="Suspend">
		<action name="Execute">
		        <command>systemctl suspend</command>
		</action>
	</item>
	<item label="Hibernate">
		<action name="Execute">
		        <command>systemctl hibernate</command>
		</action>
	</item>
</menu>

エントリを作成したら、以下の行をメインデスクトップメニューの中でサブメニューを表示したいところに追加してください (普通は最後のエントリにします):

<menu id="exit-menu"/>

Pipes

ヒント: 固定メニューには複数のパイプサブメニューを持たせることができます。一部のパイプメニューの機能を使うにはソフトウェアパッケージをインストールする必要があります。

このタイプのメニューは基本的にスクリプトで、実行時に即座に更新される動的なリストを提供します。リストが使用される目的は複数あり、アプリケーションを一覧したり、情報を表示したり、機能を制御したりします。定義済みのパイプメニューをインストールすることができ、上級者であればカスタムスクリプトを作成・修正することができます。また、~/.config/openbox/menu.xml には複数のパイプメニューを定義することができます。

サンプル

Openbox.org にも様々なパイプメニューのリストが載っています。

Generators

このタイプのメニューは XfceLXDE などのデスクトップ環境で使われているタスクバーに似ています。このタイプのメニューは自動的に更新され、強力でとても便利です。カスタムカテゴリやメニューエントリを追加することもできます。使用するダイナミックメニューのドキュメントを読んで下さい。

メニュージェネレータは ~/.config/openbox/menu.xml ファイルから実行する必要があります。

obmenu-generator

ヒント: ~/.config/openbox/rc.xml でアイコンを有効にしていても、obmenu-generatorAUR でアイコンを無効化することができます。

obmenu-generatorAUR は非公式パッケージながら強く推奨されています。静的または動的なメニューとして使うことができ、細かくカスタマイズすることが可能です。メニューのカテゴリや個々のエントリは簡単に非表示にすることができ、カスタマイズしたり追加するのもお茶の子さいさい。詳しい説明やスクリーンショットが 公式ホームページ にあります。

以下は ~/.config/openbox/menu.xml でアイコンを使わずに obmenu-generator を動的に実行する例です:

<?xml version="1.0" encoding="utf-8"?>
<openbox_menu>
    <menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator">
    </menu>
</openbox_menu>

自動的にエントリをアイコン化するには、-i オプションを追加します:

<menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator -i">

openbox-menu

ヒント: このメニューでエラーが発生する場合、~/.config/openbox/rc.xml でアイコンを有効にすることで解決します。

openbox-menuAURLXDE プロジェクトによる menu-cache を使って Openbox のダイナミックメニューを作成します。詳細については 公式ホームページ を見て下さい。

メニューアイコン

メニューエントリの横にアイコンを表示するには、~/.config/openbox/rc.xml ファイルの <menu> セクションでアイコンを有効にする必要があります:

<applicationIcons>yes</applicationIcons>

固定メニューを使用する際は ~/.config/openbox/menu.xml ファイルを編集して icon = コマンドとエントリのフルパス・アイコン名が必要です。カテゴリのアイコンを指定する例:

<menu id="apps-menu" label="[label name]" icon="[pathway to icon]/[icon name]">

デスクトップメニューをパネルメニューとして使う

ヒント: XDoTool はあらゆるアクションのキーバインドをシミュレートできるため、他の目的で使うこともできます。

xdotool はキーの押下やキーバインドを擬態するコマンドが実行できるパッケージです。XDoTool を使うことで実際に特定のキーを押さなくても、キーバインドが設定されたアクションを実行することができます。Openbox のデスクトップメニューのキーバインドも実行できるため、XDoTool を利用して Openbox のデスクトップメニューをパネルメニューにすることが可能になります。特に、デスクトップメニューをとことんカスタマイズして様々なことができるようにしている場合、非常に便利です:

  • 既存のパネルメニューを置き換える。
  • パネルメニューが存在しない場合にパネルメニューを追加する (例: Tint2)。
  • xfdesktop などのアプリケーションを使っている場合にデスクトップメニューを開けなくなったときにデスクトップを管理する。

XDoTool をインストールしたら、ルートメニューにアクセスするキーバインドを ~/.config/openbox/rc.xml<!-- Keybindings for running aplications --> の下に作成してください。例えば、以下のコードは CTRL + m でメニューを表示します:

<keybind key="C-m">
    <action name="ShowMenu">
       <menu>root-menu</menu>
    </action>
</keybind>

Openbox の再設定が必要です。ここでは XDoTool を使って以下のコマンドで CTRL + m をシミュレートしてデスクトップメニューにアクセスします (+- の代わりとして使っています):

xdotool key control+m

パネルランチャーやアイコンとして上記のコマンドを使用するやりかたは使用するパネルによります。パネルによっては新しいランチャーを作成するのに直接上記のコマンドを実行できますが、実行スクリプトを使う必要がある場合もあります。例えば ~/.config フォルダに obpanelmenu.sh という名前のカスタム実行スクリプトを作成:

$ text editor ~/.config/obpanelmenu.sh

空のファイルを開いたら、適切な XDoTool コマンドを空のファイルに追加してください (以下の例では CTRL + m をシミュレート):

xdotool key control+m

ファイルを保存したら、以下のコマンドで実行可能属性を付与してください:

$ chmod +x ~/.config/obpanelmenu.sh

XDG 準拠メニュー

xdg 準拠のメニューは、freedesktop.org 標準に基づいています。メニューは、/etc/xdg/menus にあるメニューファイルで定義されます。新しいアプリケーションはメニューに自動的に表示されます。

サンプル

archlinux-menusAUR パッケージは、Arch Linux 固有の XDG 準拠メニューを提供します。

ヒントとテクニック

カーソルとアイコンのテーマ

詳細については、カーソルテーマ および アイコン を参照してください。

デスクトップのアイコンと壁紙

Openbox は、デスクトップアイコンや壁紙の使用をネイティブにサポートしていません。

PCManFMSpaceFMIdeskを参照してください。

ノート: ~/.conkyrc を編集して、own_window_typenormal に設定する必要がある場合があります。

アプリケーション一覧#壁紙設定 を参照してください。

コンポジタの効果

Openbox は compositing のネイティブサポートを提供していないため、この目的には外部コンポジタが必要です。

コンポジタは必須のコンポーネントではありませんが、特に oblogout による画面の歪みや、ターミナルウィンドウの透明度による視覚的な不具合などの問題を回避できる可能性があります。一般的な選択肢については、Xorg#コンポジットマネージャ一覧 を参照してください。

oblogout

この便利なグラフィカルなログアウトスクリプトの使用方法の概要については、Oblogout の記事を参照してください。

ホットキーを使用して複雑なコマンドを起動する

複雑なコマンドを実行する必要がある場合は、シェル機能を使用してください。

独自のスクリプトを作成するときは、"&" ("&amp;"), "<" ("&lt;"), ">" ("&gt;") など) の XML 特殊文字を必ずエスケープしてください。)、(詳細は XML の事前定義されたエンティティ を参照してください)。

この例では、表示をすぐにオフにし、slock で画面をロックします。これは このスレッド から取得したものです。

 <keybind key="W-l">
   <action name="Execute">
     <command>sh -c 'slock &amp; (sleep .5 &amp;&amp; xset dpms force off)'</command>
   </action>
 </keybind>

場合によっては、アプリケーションの環境変数を指定する必要があります:

 <keybind key="A-F7">
   <action name="Execute">
     <command>sh -c "LC_ALL=C obconf"</command>
   </action>
 </keybind>

別の例では、すべての stdout および stderr 出力をファイルに保存してアプリケーションを起動します:

 <keybind key="A-f">
   <action name="Execute">
     <command>sh -c sh -c "exec gimp &gt;/tmp/gimp.out 2&gt;&amp;1"</command>
   </action>
 </keybind>

スクリーンショットを有効にする:

 <keybind key="Print">
   <action name="Execute">
     <command>gnome-screenshot --clipboard</command>
   </action>
 </keybind>
 <keybind key="A-Print">
   <action name="Execute">
     <command>gnome-screenshot --clipboard --window</command>
   </action>
 </keybind>
 <keybind key="W-Print">
   <action name="Execute">
     <command>gnome-screenshot --interactive</command>
   </action>
 </keybind>

アプリケーションランチャー

Openbox を単純にインストールするデスクトップ環境がない場合、Openbox メニューシステムとホットキーの補足として 1 つ以上のアプリケーションランチャーをインストールすると便利です。このようなランチャーのリストは、カテゴリ:アプリケーションランチャー および アプリケーション一覧/その他#アプリケーションランチャー にあります。一般的な例として Gmrundmenu など。

マウスを使用してデスクトップを切り替える

マウスカーソルを画面端に移動させることでデスクトップを切り替えることができます。まず、xdotool をインストールし、次の 2 行を ~/.xinitrc に追加します:

xdotool behave_screen_edge --delay 500 left set_desktop --relative -- -1 &
xdotool behave_screen_edge --delay 500 right set_desktop --relative -- +1 &

規定のアプリケーション/ファイルの関連付けの設定

デフォルトアプリケーションを見て下さい。

ウィンドウ透過

警告: アクショングループに他のアクションが定義されている場合、上手く行かないことがあります。

transset-dfAUR パッケージに含まれている transset-df を使えばすぐにウィンドウ透過を有効にできます。

例えば以下を ~/.config/openbox/rc.xml ファイルの <mouse> セクションに追加すれば、タイトルバー上でマウスのホイールを回すことでウィンドウの透明度を調整できるようになります:

<context name="Titlebar">
    ...
    <mousebind button="Up" action="Click">
        <action name= "Execute" >
        <execute>transset-df -p .2 --inc  </execute>
        </action>
    </mousebind>
    <mousebind button="Down" action="Click">
        <action name= "Execute" >
        <execute>transset-df -p .2 --dec </execute>
        </action>
    </mousebind>
    ...
</context>

obxprop を使って素早く設定を行う

openbox パッケージには rc.xml のアプリケーション設定の値を解析することができる obxprop バイナリが付属しています。公式では obxprop | grep "^_OB_APP" を使うことが推奨されています。コマンドを実行してプロセスを開始したら、ウィンドウをクリックすることでターミナルにプロパティが表示されます。

アプリケーションの Xprop の値

xorg-xprop パッケージをインストールして、選択したアプリケーションのプロパティの値を中継することができます。頻繁にアプリケーションごとの設定をする場合、以下の Bash エイリアスが役に立つでしょう:

alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'

Xorg-XProp を使用するときは、xp と定義したエイリアスを使って起動し、アプリケーションごとの設定を定義したいプログラムをクリックしてください。Openbox が必要とする情報だけが表示されます。つまり WM_WINDOW_ROLEWM_CLASS (名前とクラス) の値です:

WM_WINDOW_ROLE(STRING) = "roster"
WM_CLASS(STRING) = "gajim.py", "Gajim.py"
WM_CLASS(STRING) = "NAME", "CLASS"

キーボードレイアウトの切り替え

キーボードレイアウトの管理に他のプログラムを使いたくない場合、特定のキーボードショートカットでレイアウトを切り替えるように X を手動で設定することができます。詳しい方法は Xorg#キーボードレイアウトの切り替えを見てください。

仮想デスクトップのグリッドレイアウトの設定

obsetlayoutAUR をインストールしてください。2x2 のグリッドを設定するには:

obsetlayout 0 2 2 0

引数を付けないで実行することで引数の意味を知ることができます。

ホットコーナーの有効化

lead は openbox などの軽量なウィンドウマネージャのためのホットコーナーです。autostart ファイルで以下のようにアプリケーションを起動してください:

mlde.lead &

~/.config/mlde/lead.conf 設定ファイルでコマンドを編集できます:

[eDP1]
bottom=
bottomLeft=chromium
bottomRight=thunar
left=
right=
top=
topLeft=mlde.californium toggle
topRight=skippy-xd

ウィンドウのスナップ

多数のデスクトップ環境やウィンドウマネージャはウィンドウのスナップ (例: Windows 7 の Aero スナップ) をサポートしています。画面の端に移動された時に自動的にウィンドウの大きさが変更されます。ウィンドウに関するキーバインドを使用することで Openbox でもこの効果を再現することが可能です。

下の例であるように、パーセンテージを使ってウィンドウの大きさを決定します (詳しくは openbox.org を参照)。ここでは、super キーを navigation キーと組み合わせて使っています:

<keybind key="W-Left">
    <action name="UnmaximizeFull"/>
    <action name="MaximizeVert"/>
    <action name="MoveResizeTo">
        <width>50%</width>
    </action>
    <action name="MoveToEdge"><direction>west</direction></action>
</keybind>
<keybind key="W-Right">
    <action name="UnmaximizeFull"/>
    <action name="MaximizeVert"/>
    <action name="MoveResizeTo">
        <width>50%</width>
    </action>
    <action name="MoveToEdge"><direction>east</direction></action>
</keybind>

ウィンドウを端にスナップすると、一度最大化してから戻すまで縦に最大化された状態になります。downup キーを使用するキーバインドを追加することで解決できます。スナップされたウィンドウを画面の端から素早く引き出します:

<keybind key="W-Down">
   <action name="Unmaximize"/>
</keybind>
<keybind key="W-Up">
   <action name="Maximize"/>
</keybind>

Ubuntu フォーラムのスレッド に詳しい情報が載っています。opensnap-gitAUR[リンク切れ: アーカイブ: aur-mirror] などのアプリケーションはキーバインドを使わずにウィンドウのスナップを自動的にシミュレートします。また、bunsen-utilities-gitAURbl-aerosnap --leftbl-aerosnap --right コマンドを使うことで、スナップされていない場合にアクティブなウィンドウを左端または右端にスナップして、スナップしている場合に元のサイズ・位置に戻すことができます。コマンドを適当なキーバインドに設定してください。

ディスプレイマネージャのスムーズな遷移

ノート: 以下の設定は LightDM で機能することを確認済みです。

ディスプレイマネージャを使用している場合、ディスプレイマネージャから Openbox のデスクトップに遷移するときにちらつきが発生することがあります。ちらつきの原因は Openbox が起動時にルートウィンドウの色を設定しているためです。ディスプレイマネージャの背景とデスクトップの背景の間に、一瞬だけグレーの色が表示されてしまいます。

/usr/lib/openbox/openbox-autostart にある Openbox のスタートアップスクリプトを編集することでルートウィンドウの背景色の設定を無効にできます。# Set a background color から始まるブロックをコメントアウト(あるいは削除)してください。

ノート: ルートウィンドウの色設定を無効化して、Openbox の背景色を特に設定していなかった場合、ディスプレイマネージャの背景が継承されます。

ウィンドウのデコレーション

すべてまたは特定のアプリケーションのウィンドウのデコレーションを削除するには、rc.xml の <applications> セクションの <decor> オプションを使用します (ユーザー: ~/.config/openbox/ またはシステム: /etc/xdg/openbox/)

Firefox の例 (Firefox-Beta や Firefox-Nightly などの亜種を含む):

 <application class="Firefox*">
   <decor>no</decor>
 </application>

また、すべてのアプリケーションのデコレーションを無効にし (クラス * を使用)、個別のアプリケーションに対して装飾を有効にする (yes を使用) こともできます。変更を適用するには、デスクトップセッションを再起動し、Openbox を再起動します。参照: Openbox FAQ

トラブルシューティング

Firefox

Mozilla ベースのブラウザは、class="Firefox" が使用されない限り、アプリケーションルール (例: <desktop>) を無視する可能性があります。Xprop 値 を参照してください。

テーマが見つからない

何らかの理由で新しく抽出したテーマを選択できない場合は、まずテーマディレクトリを開いて Openbox と互換性があることを確認します。openbox-3 ディレクトリと themerc ファイルがあるはずですその中で。場合によっては、.obt (OpenBox 'Theme) ファイルも存在する場合があり、obconf に手動でロードできます。

間違った権限が原因でテーマにアクセスできない場合もあります。詳細については、ファイルのパーミッションと属性 を参照してください。

デスクトップの連続切り替えを停止する

デフォルトでは、Openbox はマウスのホイールスクロール時に最後のデスクトップから最初のデスクトップに戻ります。この動作を無効にするには、mousebind セクションで <wrap>no</wrap> を使用します。

   <context name="Desktop">
     <mousebind button="Up" action="Click">
       <action name="GoToDesktop">
         <to>previous</to>
         <wrap>no</wrap>
       </action>
     </mousebind>
     <mousebind button="Down" action="Click">
       <action name="GoToDesktop">
         <to>next</to>
         <wrap>no</wrap>
       </action>
     </mousebind>
   </context>

ウィンドウがアクティブウィンドウの後ろにロードされる

(Firefox のウィンドウなど) アプリケーションウィンドウが現在のアクティブウィンドウの後ろにロードされ、ウィンドウをフォーカスして切り替える必要が生じることがあります。この挙動を修正するには以下を ~/.config/openbox/rc.xml ファイルの <openbox_config></openbox_config> タグの間に追加してください:

<applications>
  <application class="*">
    <focus>yes</focus>
  </application>
</applications>

参照