Twitter: kazuspara
RunDeep
2014-06-23
映画レビューも掲載開始。更新は香港映画中心になる可能性大
2014-06-16
ブログの改装。Konqueror/Webkit での表示はもちろん対応
2014-06-15
Nexus 5/EM を契約
2014-06-13
Nexus 4 まさかの紛失
2012-12-01

Openbox with tint2

LXDE の規定 WM である Openbox は単独でも機能的だ。Extension に該当する Pipemenu で機能拡張が可能、最軽量の部類ながら、使い勝手は驚くほど高い。Panel, Dock とも自由に組み合わせられる。僕はすっかり気に入ってしまった。ソース配布の関連ツールが多いので Compile 可能な環境を整えておくと良い。

Openbox with tint2 Index

  1. Ubuntu Family での Openbox 初歩
  2. 右クリックメニュー編集:obmneu
  3. パネル tint2 と組み合わせる
  4. Openbox + tint2 環境の便利ツール

Ubuntu Family での Openbox 初歩

» 参考:Openbox – Community Ubuntu Documentation

僕は、持ち出し用の Eee PC 1015PD/Lubuntu 12.10 にて Openbox を日常的に使用しており、利用頻度は稀だが ThinkPad R31/Lubuntu 12.04 にも Openbox 環境を整えている。さらに VirtualBox 上の Aptosid Ponos Xfce にて Openbox + Xfce 環境を試したが、これが好感触だった。改めて Thunar, Xfce4 Terminal の「気が利いた」操作性を感じた。

(Openbox + tint2, volumeicon, xcompmgr-dana on Aptosid Ponos at Gentoo’s VirtualBox)

LXTerminal の二重ペーストに注意

Openbox に LXDE ツールを流用することは多い。しかし LXTerminal には Ctrl + Shift + V が Ctrl + V と被る「二重ペースト」という致命的欠陥がある。もはや実用不能なので、僕は Lubuntu でも Xfce4-Terminal に交換している。それにしても、こんな瞬間的にわかるバグが、なぜ検証されていないんだ!?

GTK 系の必要最低限パッケージ

»参考 [lubuntu] lxappearance works in lubuntu session, but not in openbox session – Ubuntu Forums

Terminal は上述の理由より Xfce4-Terminal の択一。壁紙設定には De Factoで融通が利く Feh を選ぶ。Debian, Gentoo などでは外観設定に LXAppearance が利用可能。しかし Lubuntu では ~/.gtkrc-2.0 手動編集となる。バグか何かで Openbox Session では LXAppearance が機能しないのだ。Ubuntu Family ながら優しくない。Lubuntu 思ったよりバグ多いぞ…

  • 端末エミュレータ:xfce4-terminal
  • Openbox 基本:feh, obmenu, openbox
  • 外観設定:lxappearance, lxappearance-obconf

もちろん、これだけでは機能不足。せめて時計は欲しいし Wi-Fi, Battery 表示抜きなど Laptop 系では論外だ。そこで Extension に相当する "Pipemenu" で機能拡張したり、任意の Panel, Dock と組み合わせたりして、使い勝手を工夫する。デスクトップ環境「自作」開始だ。

まずは壁紙設定から!

初めて Openbox Session を開始した時は、あまりの殺風景さに悲しくなると思う。ただ灰色なだけの画面は「あ、パソコン壊れた」感満載。取り敢えず「右クリック」すると文字だけのメニューが現れる。これが Openbox の「スタートメニュー」だ。Terminal を起動し Thunar なりを起動。壁紙の場所まで行き、右クリックから Feh で開く。画像上で右クリックして File > Background > Set Filled とすれば壁紙設定完了!多少は落ち着いたはずだ。しかし、ログアウトすると再び灰色の世界が戻って来る。

Feh

個人設定ファイル保存場所と自動開始プログラム

Session 開始時から壁紙を表示するには autostart.sh という「自動開始プログラム一覧表」を作り Feh を登録する。個人設定の各種ファイルは ~/.config/openbox へ保存。僕は関連ツールもここに置いている。一箇所にまとめておくと Export, Backup が手軽だからだ。

~/.config/openbox/autostart.sh

autostart.sh に記載する内容は以下の一行。.fehbg には選択した壁紙への Path が記載されている。後述の Pipemenu を利用すれば、他の DE 同様に「壁紙一覧表示からの切り替え」も可能。

eval `cat $HOME/.fehbg` &

GTK 系の外観の設定:~/.gtkrc-2.0

先述の通り LXAppearance が利用可能だが Lubuntu のみ手書きを強いられる。以下は僕の参考例。Openbox メニューから Restart を選ぶと内容が反映される。ログアウト不要。

gtk-theme-name="Bluebird"
gtk-icon-theme-name="Faience-Azur"
gtk-font-name="Ubuntu 9"
gtk-cursor-theme-name="DMZ-White"

Workspaces 切り替え

外観が整えば、後は使うだけ。Workspace 関連の Shortcuts を覚えれば Openbox を活用出来る。

  • Alt + Ctrl + Left (Right):Workspace の移動
  • Alt + Shift + Left (Right):Active Window を次(前)の Workspace に移動

マウスホイールによる Workspace 移動を無効化

» Lubuntu/Mouse – Community Ubuntu Documentation

TouchPad 操作の環境では、迷惑以外の何物でもない機能なので真っ先に無効化しておきたい。~/.config/openbox/rc.xml 内の該当項目をばっさり削除。原始的だ。

右クリックメニュー編集:obmneu

» 入手先:obmenu: Openbox Menu Editor

Openbox を便利に使うには、メニューのカスタマイズが必要不可欠。メニューの本体は ~/.config/openbox/menu.xml だ。obmenu はこの .xml を手軽に編集するためのツール。何はなくとも、これがなくては始まらない。重要なのは Extensions(機能拡張)にあたる Pipemenu という要素。Ctrl + P で挿入、設定する。Label, ID は任意で Execute は Full Path 指定が基本。Scripts の chmod +x も忘れないように。作業が終わったら、右クリックメニューから Reconfigure ないし Terminalから openbox -reconfigure と打てば設定内容が反映される。

obmenu

Pipemenus の入手

» 参考:Openbox:Pipemenus – Openbox

Script や Archive への直リンで構成されている「まとめ」ページ。Gnome Shell Extensions とは何もかも違う、パソ通っぽい雰囲気が Openbox らしさを醸している。配布されている Scripts には、標準機能に昇格すべきほど有用なものから、明らかに動作検証されていないものまで様々。

動的 Applications Menu 表示:Openbox-menu

» 入手先:Openbox-menu

LXDE, Xfce などの Applications Menu を動的表示する。アイコン表示が可能。Debian/Ubuntu ではバイナリ配布されていないので build-essential などを導入して Compile する必要がある。Gentoo では emerge で入手可能。使用するには obmenu から Ctrl + P と押し Pipemenu として設定。Label,ID は任意。Execute には openbox-menu に続け、表示させたい .menu の名称を指定する。

openbox-menu lxde-applications.menu

Ubuntu 向け動的 Applications Menu 表示:Xdg menu for OpenBox

» 公式サイト:Xdg menu for OpenBox

アイコン表示がないので、低スペック機器ではこちらが好ましいだろう。.menu の位置は Full Path 指定。Ubuntu でのみバイナリパッケージ化されている。

sudo apt-get install openbox-xdgmenu

壁紙変更メニュー

» 入手先(ソース直リン):wallmenu-0.4.py

Script をエディタで開いて、壁紙一覧の場所を Full Path で指定する。feh の指定は bg-fill に変更。これで Aspecto Ratio を維持して、中央から Crop するようになる。なお、他の同種は僕の環境 (Lubuntu 12.*, Aptosid Ponos Xfce) では動作しなかった。

GTK Bookmarks 表示

» 入手先(ソース直リン):bookmarks.sh

Thunar, PCManFM など GTK 系ファイルマネージャの Bookmarks を表示する。Script をエディタで開き filemanager の String を変更して使う。初期状態の PCManFM は外部呼び出しを、新窓ではなく Tab で開くことに注意。obmenu の Label, ID は任意 Execute は Full Path 指定。chmod +x を忘れずに。

Dolphin Bookmarks 表示

» 入手先:dolphin-bookmarks.pl

KDE 環境主体ならこちら。GTK 系と違い、こちらは表示が名前順に矯正されるのが難点。

MenuMaker

» 入手先:MenuMaker Home

Applications Menu 生成ツール。Debian/Ubuntu では不要。Gentoo では cp /etc/xdg/openbox/menu.xml ないしは、このツールで menu.xml 生成後 obmenu で編集という流れになる。インストールは不要。実行ファイルのある場所に cd 後、以下のコマンドで ~/.config/openbox に menu.xml を生成する。f (force) は既存ファイルの上書きオプション。

./mmaker -f openbox3

MenuMaker で生成された Applications Menu は自動更新されない。つまりソフトウェアの追加・削除後は、逐次メニュー生成と編集のやり直しを強いられる。故に openbox-menu, Xdg menu for OpenBox といった動的なメニューが必要となるのだ。

パネル tint2 と組み合わせる

Openbox のみの環境では、常時表示される時計もなければ Wi-Fi, Battery 使用状況も目視不能。Laptop 系では使えないと同然だ。僕は定番の tint2 を組み合わせた。このパネルの Notification Area に各種 Indicators を表示すれば良い。ただし Openbox + tin2 は「LXDE とリソース消費量が同等ながら」機能が遥かに劣っている。実用面では、素直に LXDE を選ぶ方が賢い。

Openbox on ThinkPad R31

(Openbox on ThinkPad R31)

tint2 の入手と設定

» 公式 Wiki:Configure – tint2 – Customizing your tint2rc (with tint2 version 0.11)

人気ソフトらしく apt-get や emerge で入手可能。Mageia 版もあった。tint2 は複数のテーマを On the fly で切り替えることが可能。パッケージに tint2conf というツールが含まれており、これでテーマ管理・切り替えを行う。テーマの作成法は上記の公式 Wiki にて解説されている。単純なので、誰でも出来るだろう。なお sid 版のみ何らかの理由で tint2conf が Omit されている。Aptosid ユーザーはつらい。

GUI 設定ツール tintwizard

»入手先:tintwizard – A GUI wizard which generates config files for tint2 panels.

GUI でテーマファイルを作成するツール。未だベータ版といった具合で、初めてのユーザーが使うには説明不足。予め 公式 Wiki に目を通しておくべきだろう。Ubuntu では tint2 のパッケージに同梱されている。

tint2 テーマの切り替え

» 参考:Tint2conf – How to use theme switcher

作成したテーマは .tint2rc という拡張子で ~/.config/tint2/ に保存する。

~/.config/tint2/NAME.tint2rc

設定ファイルを指定して tint2 を起動

Aptosid (Debian sid) では tint2conf が使えないので、パラメータを付けて起動する。

tint2 -c NAME.tint2rc

Reload Panel

設定ファイルの編集後 tint2 を再読み込みするためのコマンド。通常は tint2conf があるので使用しない。これも Aptosid (Debian sid) 用。

killall -SIGUSR1 tint2

Openbox + tint2 環境の便利ツール

パネルに表示可能な各種ツールは ~/.config/openbox/autostart.sh 内に追記する。

Openbox + tint2 on Eee PC 1015PD

(Openbox on Eee PC 1015PD)

音量調節:volumeicon

»入手先:Volume Icon – Maato

apt-get, emerge で入手可能。Debian/Ubuntu では volumeicon-alsa というパッケージ名なので注意。これは高機能!軽量ながら Hotkey に対応し OSD 表示まで可能。Xfce, LXDE でもこれを採用すべきだ。

Pager(仮想デスクトップ切り替え): neap

»入手先:neap – notification area (systray) pager – Google Project Hosting

Notification Area 内に Pager を表示する Python Script で、機能的としては現在の Workspace を視覚的に表示する程度。Script 一枚なので Distro を問わず利用可能だが Debian/Ubuntu には deb 形式が用意されている。Repo 登録はない、というか不要だろう。~/.config/openbox 配下に Pipemenu とまとめてに置いておくと良い。

電力・ディスプレイ管理とバッテリー残量表示:Xfce4 Power Manager

これは Lubuntu に倣って Xfce から流用。Laptop 系にはこれが最善の選択。tint2 にもバッテリー残量表示機能だけは標準搭載されている。

透明化や Drop Shadow などの演出効果:Compton

» 入手先:lubuntu blog: Meet Compton

最小主義的な Openbox に Effects 付加というのは違った方向に向かっている気がするが… Compton というツールで可能である。リソースの無駄使いとは知りながら、なければないで寂しかったりする演出。Compton は放置されて使えなくなった xcompmgr を Arch Linux ユーザーがメンテした xcompmgr-dana という後継ツールを、さらに改善したものらしい。Ubuntu 用には 32, 64 bit 個別の .deb が配布されている。なお無印 xcompmgr は Ubuntu 系ではまったく動作しない。Debian sid 版は Drop Shadow のみ対応した。以下は僕の Compton 設定例。fF というオプションは廃止になった。

compton -cC -t0 -l-2 -r1.5 -o.50 -m.80 &

Openbox は試して損なし

自分らしさで選ぶなら Openbox + tint2 も悪くないと感じている。リソース効率では LXDE に歩があるが、試行錯誤して「組み上げた」環境には思い入れがある。Ubuntu/Unity や Mint/Cinnamon の「重さ」に耐えるくらいなら、いっそ対極である Openbox へ切り替えたって良い。Usability に対する一味違ったアプローチを感じるはずだ。Massive なデスクトップが便利に直結するわけではない。ブームは2009年頃が頂点だったようだが、Openbox が持っている独自性に賞味期限はない。少数ながら根強い Active User 層が存在している気配もある。Openbox は依存関係も皆無に等しく、インストールも瞬間的に終わる。Keyboard 主体の環境として、予備環境として、試して損なしだ。