Solaris 11.4 の GNOME-shell が個人的な使用状況に適さない事が判明したので、 代替となるソフトウェアを試してみた。
openbox | 軽量ウィンドウマネージャー。スタック型。非コンポジット型。 ソースコードの変更無しで構築可能。 |
obconf | openbox 構成ツール。openbox 本体には含まれない。 ソースコードの変更無しで構築可能。 |
obamenu | openbox メニュー項目自動生成。openbox 本体には含まれない。 変更する事が前提の Python スクリプトで、簡明に記述されている。 |
tint2 | パネル・タスクバー。openbox にはこの機能は含まれない。 要ソースコードの変更。 |
compton | コンポジタ。非コンポジット型である openbox にはこの機能は含まれない。 ソースコードの変更無しで構築可能。 |
openbox
機能的に必要充分。
初期設定で困ったのは Meta-d (Meta は「◇」の刻印があるキー。 Super としても認識されている模様。 openbox の設定ファイルでは W (Windows) として扱われている。) の扱い。 Emacs では kill-word に割り当てられているが、 openbox では ToggleShowDesktop に割り当てられている。 これは、openbox の設定の変更で対応。
Alt-F7 〜 Alt-F10 も設定されていないので、これらも追加設定。
メニューは、Solaris 用に新規作成。メニューの呼び出しもキーに割り当て。
obconf
GUI で openbox の設定を行えるが、キーの割り当ては対象外。
openbox の設定は XML ファイルの直接編集を主にして、obconf は参照用に使う程度か。
obamenu
/usr/share/applications/*.desktop
から
コマンド、名前、カテゴリ、アイコンなどの情報を抽出し、
openbox 用のメニューとして構成する仕組み。
.desktop
ファイルの多くは日本語名称も含んでいるので、
そちらを抽出するように obamenu を書き換えれば、一応の日本語対応になる。
カテゴリ名にの日本語対応は、obamenu に直接埋め込み。
アイコンは、様々なディレクトリに分散して配置されているため、 それらを探すように obamenu を書き換え。
tint2
初期設定で必要としている機能をほぼ提供してくれる。 アプリケーションの起動機能を削除するくらいか。
src/tint2conf/md4.c src/util/timer.c src/util/window.c
|
u_int8_t u_int32_t u_int64_t といった非標準な型が使用されているので、 これらを typedef、マクロ、直接変更等で修正する。 |
src/launcher/apps-common.c src/launcher/icon-theme-common.c |
/usr/share/applications に類するディレクトリを、
必要に応じて追加・削除する。 |
src/util/cache.c |
非標準関数 flock() を使用しているので、
これを fcntl() や lockf() 等で置き換える。 |
compton
コンポジタ。
openbox 単独で使用すると画面のちらつきが発生するので、それの対策として。
画面のちらつきは、以下の手順で簡単に再現できる。
- compton (またはその他のコンポジタ) が動いているのであれば、それを停止する。
- 端末ウィンドウを複数(例えば四枚)並べる。
- それぞれの端末ウィンドウを、文字が表示されている状態にする(ちらつきの視認性を上げるため)。
- 任意の端末ウィンドウのタイトルバーをポインティングデバイスで掴み、画面内を継続的に移動させる。
メディアプレイヤー使用時の CPU 負荷は、 GNOME-shell に比べれば少ない。
いずれも 2 仮想CPU構成、mpv で動画再生、top で目視測定。 openbox の CPU% 値はいずれの場合でも 0.1% 未満。 | ||||
非再生時 | 再生時 | |||
---|---|---|---|---|
Xorg CPU% 値 | 自身の CPU% 値 | Xorg CPU% 値 | 自身の CPU% 値 | |
非使用時 | 0.1% 未満 | - | 1% 未満 | - |
compton | 0.1% 未満 | 0.1% 未満 | 3% 前後 | 2% 前後 |
GNOME-shell | 0.1% 未満 | 0.1% 未満 | 8% 前後 | 20% 前後 |
0 件のコメント:
コメントを投稿