アットウィキロゴ

Openbox

Openbox とは何ですか

Openbox は軽量で自由度の高いウインドウマネージャです。デスクトップ環境 LXDE に組み込みのウインドウマネージャとして Openbox が採用されています。
Openbox は単独のウインドウマネージャとして動作させることもできます。その場合、ドックとの連携機能がありますが、ドックそのものは Openbox は提供してません。簡単なメニューがあるだけです。外付けのドックやパネルでカスタマイズするのが普通でしょう。

メニューから Synaptic などを root 権限で起動したい

lxpolkit をインストールするのがお薦めです。LXDE に似てきてしまいますが、さほど大掛かりになりません。lxpolkit は電源オフのメニュー追加にも役に立ちます。deb 系ディストリの場合、つぎのように入力します。

$ sudo apt install lxpolkit

壁紙を設定したい

Openbox に機能がないので、壁紙設定機能のあるソフトが必要です。切り替えメニューが不要であれば、xwallpaper コマンドでも良いでしょう。

$ sudo apt install xwallpaper

トレイアイコンを表示したい

いろいろなドックを試してみたところ、アイコンが表示できなかったり、表示できてもステータスがおかしかったりしました。ネットワークマネージャと fcitx5 の両方のトレイアイコンを問題なく表示できたのは、tint2 と wmdocker でした。

タスクバーを設置したい

軽さと機能と完成度のバランスにより、tint2 がよく使われてます。

$ sudo apt install tint2

tint2 の設定ツールは tint2conf です。初期画面ではサンプルのパネルを選べるようになっていて、どれかのパネルをダブルクリックすると、パネルマネージャの画面が立ち上がります。

tint2 の時計をクリックしてカレンダーを表示したい

gsimplecal をインストールするのがお薦めです。パネルマネージャの「Clock」で、「Left Click Command」に gsimplecal と入力し、「Right Click Command」に lxterminal --geometry=69x9 -e ’ncal -b -3 | less’ などと入力してみるのが一案です。

tint2 にスタートメニューを追加したい

tint2 に今のところメニューがないので、jgmenu をインストールします。

$ sudo apt install jgmenu

jgmenu を画面上側に表示したい

テキストエディタで ~/.config/jgmenu/jgmenurc を開いて menu_valign = top と書き換えてコメントアウトします。

jgmenu に電源ボタンを追加したい

Openbox のメニューの「Exit」はログインマネージャの画面に戻るだけで、電源ボタンがありません。そこで lxpolkit とともに lxsession-logout もインストールします。lxsession-logout は Openbox のセッション終了にも対応してます。
jgmenu からログアウトのメニューを出すには、$HOME/.config/jgmenu/append.csv というファイルを作成して、つぎのように入力します。

^sep()
ログアウト,lxsession-logout,system-log-out

自動起動の設定

テキストファイル $HOME/.config/openbox/autostart を作成します。実行する各コマンドは末尾に & を付ける必要があります。

tint2 &
xwallpaper --maximize $HOME/.config/openbox/壁紙.jpg &
pactl set-sink-volume @DEFAULT_SINK@ 47% &
lxpolkit &
numlockx &
nm-applet --no-agent &

メニューの項目を編集したい

jgmenu をインストールすれば Openbox 備付のメニューはあまり使わないかもしれませんが、メニューの余計な項目を削除して見通し良くしたいなどの場合は、設定ファイルをホームにコピーして、編集して下さい。メニューの「Reconfigure」をクリックすれば反映されます。

$ sudo cp /etc/xdg/openbox/menu.xml ~/.config/openbox
$ sudo chown ユーザー名 $HOME/.config/openbox/menu.xml
$ sudo chgrp ユーザー名 $HOME/.config/openbox/menu.xml

テーマを追加したい

Openbox のテーマが最も多いのは gnome-look.org でしょう。ダウンロードしたファイルを解凍して(拡張子 .obt の中身は zip ファイル)、$HOME/.local/share/themes/ にディレクトリごと置きます。

Gtk+ や Qt のテーマを追加したい

Openbox のテーマはタイトルバーとメニューとウインドウ枠だけで、他の見栄えには介入しないようです。テーマを変えたいそれぞれのツールキットごとの設定が必要です。
GTK のテーマを gnome-look.org から選んで、解凍先は Openbox と同じく $HOME/.local/share/themes/ です。GTK2 の場合は、$HOME/.gtkrc-2.0 を作成または編集します。

gtk-icon-theme-name = "gnome"
gtk-theme-name = "backwater-desert"
gtk-font-name="MMCedar P 8"

GTK3の場合は、$HOME/.config/gtk-3.0/settings.ini を作成または編集します。

[Settings]
gtk-icon-theme-name = gnome
gtk-theme-name = backwater-desert
gtk-font-name = MMCedar P 8.7

qt6 や qt5 のテーマは qt6ct と qt5ct をインストールすると変えることができます。

$ apt install qt6ct qt5ct

GTK2 のフォントがジャギーぽい

$HOME/.gtkrc-2.0 に以下を追加します。

# アンチエイリアスを有効にする
gtk-xft-antialias = 1
# ヒンティングを有効にする
gtk-xft-hinting = 1
# ヒンティングの強度(hintnone, hintslight, hintmedium, hintfull)
gtk-xft-hintstyle = "hintslight"
# 液晶のサブピクセルレンダリング(none, rgb, bgr, vrgb, vbgr)
gtk-xft-rgba = "rgb"

メニューバーが太いので詰めたい

メニューのフォントサイズは設定マネージャで変えられますが、上下の余白を詰めたい場合は、ツールキット側を設定します。GTK3 では $HOME/.config/gtk-3.0/gtk.css に CSS を記述して調整します。

/* メニューバー全体の高さを詰める */
menubar, .menubar {
    min-height: 0px;
    padding: 0px;
    margin: 0px;
}

/* メニューバー内の各項目の上下余白を削る */
menubar > menuitem, .menubar > menuitem {
    padding-top: 2px;
    padding-bottom: 2px;
    min-height: 0px;
}

GTK2 の場合は、$HOME/.gtkrc-2.0 に以下の設定を追加します。

style "compact-menu"
{
    GtkMenuBar::window-dragging = 1
    GtkMenuBar::internal-padding = 0
    xthickness = 1
    ythickness = 1
}
class "GtkMenuBar" style "compact-menu"

style "compact-menuitem"
{
    xthickness = 3
    ythickness = 1
}
class "GtkMenuItem" style "compact-menuitem"

AT-SPI を無効化したい

デスクトップ環境じゃないのに、パッケージの依存関係でいろいろ入ってきてしまいます。GTK が D-Bus 経由で AT-SPI を呼び出すのを阻止するために、環境変数を設定し、サービスファイルを /dev/null にリンクします。

$ echo "NO_AT_BRIDGE=1" | sudo tee -a /etc/environment
$ sudo ln -sf /dev/null /usr/share/dbus-1/services/org.a11y.Bus.service
$ sudo ln -sf /dev/null /usr/share/dbus-1/at-spi2/org.a11y.atspi.Registry.service

xfce4-panel を使いたい

xfce4 のセッションマネージャなしで xfce4-panel をインストールしても、一応使えます。しかし端末画面のソフトがメニューから実行できません(なので xfce4-panel 自体お薦めしません)。それをランチャーから無理やり実行する方法です。
まず以下のコマンドで、x-terminal-emulator に xfce4-terminal.wrapper を選択します。

$ sudo update-alternatives --config x-terminal-emulator

$HOME/.local/share/xfce4/helpers/custom-terminal.desktop を新規作成して、以下のように記述します。

[XfceUrlInfo]
Version=1.0
X-XFCE-CommandsWithParameter=xfce4-terminal %c
X-XFCE-Commands=xfce4-terminal
[XfceHelper]
Type=TerminalEmulator
Name=Custom Xfce4 Terminal
X-XFCE-CommandsWithParameter=xfce4-terminal %c
X-XFCE-Commands=xfce4-terminal

$HOME/.config/xfce4/helpers.rc を新規作成して、以下のように記述します。

TerminalEmulator=custom.terminal

xfce4-panel のランチャーに端末画面のソフト(例えば htop)を登録して、ランチャーのコマンドに「-e htop」というように、頭に -e を付けてください。custom-terminal.desktop のほうに書いても認識してくれません。

最終更新:2026年07月20日 16:53