Fluxboxの導入

Debian4.0r5(Etch)を最小構成でインストールした場合での導入方法。
インストール時にGUIを導入していれば不要な作業も結構あります。

X Window Systemのインストール

まずはX Window Systemをインストールする。

Debian:# aptitude install x-window-system
wdmのインストール

ログインマネージャのwdmをインストールする。

Debian:# aptitude install wdm

再起動すればwdmが起動する。

Fluxboxのインストール

「Fluxbox」のインストール

Debian:# aptitude install fluxbox

ログインすればFluxboxが起動する。

「Fluxbox」の文字化け対策

Debianのデフォルトの文字コードとFluxboxのコンパイル時の文字コードの指定がUTF-8とEUC-JPと異なっている為、 メニューの文字化けが起こる。
そこで、FluxboxをUTF-8でコンパイルする。
まず、Fluxboxのコンパイルに必要なものをインストールする。

Debian:# aptitude install g++ xorg-dev <= コンパイルに必要なものをインストール

Fluxboxのソースをダウンロードし、Translation.mファイルをUTF-8に変更して、コンパイルする。

Debian:# apt-get source fluxbox <= Fluxboxのソースをダウンロード
Debian:# cd fluxbox-0.9.14/nls/ja_JP/ <= ダウンロードしたディレクトリに移動
Debian:# mv Translation.m Translation.m.eucjp <= Translation.mファイルをリネーム
Debian:# sed '1s/eucJP/UTF-8/' Translation.m.eucjp | nkf -Ew > Translation.m
 <= リネームしたファイルの1行目のeucJPをUTF-8に変更し、ファイルの文字コードをUTF-8にする
Debian:# cd ../../ <= configureがあるディレクトリへ移動
Debian:# ./configure --enable-nls <= --enable-nlsオプションを付ける
Debian:# make <= コンパイル
Debian:# mv /usr/share/fluxbox/nls/ja_JP/fluxbox.cat /usr/share/fluxbox/nls/ja_JP/fluxbox.cat.eucjp
 <= 元のファイルをバックアップ
Debian:# mv nls/ja_JP/fluxbox.cat /usr/share/fluxbox/nls/ja_JP/ <= UTF-8でコンパイルしたファイルを移動

Fluxboxを起動(Fluxboxが既に起動している場合はメニューの「Restart」を選択)すれば、文字化けが解消されている。
ただし、全てのテーマの文字化けが解消される訳ではない。
最後に、不要になったFluxboxのソースを削除する。

Debian:# rm -rf /root/fluxbox*
フォントのインストール

さざなみフォントのインストール

デフォルトのフォントは少々見辛いのでさざなみフォントを利用する。

Debian:# aptitude install ttf-sazanami-gothic ttf-sazanami-mincho

テーマに適用する

フォントはスタイルの定義ファイルに記述するので、適用したい定義ファイルをホームディレクトリにコピーして設定する。
定義ファイルの"font"あるいは"Font"の部分にフォントが指定されているので、その部分を修正する。

Debian:$ mkdir ~/.fluxbox/styles <= スタイル定義ファイル格納用ディレクトリの作成
Debian:$ cp /usr/share/fluxbox/styles/Results ~/.fluxbox/styles/Results_custom <= スタイル定義ファイルのコピー
Debian:$ vi ~/.fluxbox/styles/Results_custom <= スタイル定義ファイルの編集
デフォルトの"font"あるいは"Font"の部分を全て以下のように変更
toolbar.font:                   sazanami-mincho-8
menu.title.font:                sazanami-mincho-8
menu.frame.font:                sazanami-mincho-8
window.font:                    sazanami-mincho-8
menuFont:                       sazanami-mincho-8
titleFont:                      sazanami-mincho-8

メニューのStylesからResults_customを選択する。
その後、「Ctrl」+「Alt」+「Backspace」キーでX Window Systemを再起動するとフォントが反映される。

壁紙の設定

「Eterm」のインストール

Fluxbox単体では壁紙を表示出来ないので、「Eterm」をインストールする。

Debian:# aptitude install eterm <= 「Eterm」のインストール

壁紙の変更

fbsetbgコマンドを利用して壁紙を指定する。

Debian:# fbsetbg -a ~/image/wallpaper.jpg <= 壁紙を指定

fbsetbgコマンドの主なオプションは以下の通り。

オプション 説明
-a 縦横比を保持して画面サイズに合わせる
-c 画像サイズを変更せず中央寄せ
-f 縦横比を無視して画面サイズに合わせる
-l 前回 fbsetbg で使用した壁紙を使用
-r ディレクトリ内の画像をランダムに使用
-t 原寸大でタイル状に端から並べる

Fluxbox起動時に有効にする

~/.fluxbox/initファイルに壁紙を指定する。

Debian:# vi ~/.fluxbox/init <= 設定ファイルの編集
session.screen0.rootCommand:
↓
session.screen0.rootCommand: fbsetbg -a ~/image/wallpaper.jpg <= 壁紙を指定
キーバインドの設定

デフォルトのキーでは使いにくい部分があるので、変更する。
設定は全てユーザ毎に設定するようにする。

「Ctrl」と「CapsLock」を入れ替える

xmodmapの設定

Debian:$ vi ~/.Xmodmap <= 設定ファイルの作成
「Ctrl」と「CapsLock」を入れ替える場合、以下を追加
keycode 37 = Caps_Lock
keycode 66 = Control_L
clear Lock
clear Control
add Lock = Caps_Lock
add Control = Control_L
ここまで

「CapsLock」を「Ctrl」に置き換える場合、以下を追加
keycode 66 = Control_L
clear Lock
add Control = Control_L
ここまで

なお、上記のキーコードは以下のようすれば調べられる。

Debian:$ xmodmap -pke

設定を反映させる。

Debian:$ xmodmap ~/.Xmodmap <= 設定の反映

Fluxbox起動時に有効にする

まず、Fluxbox起動時の設定ファイルである~/.fluxbox/initを編集して、起動時に実行するファイルを指定する。
そして、起動時に実行するファイルの作成を行う。
ただし、この設定を行うとスタイルの定義ファイルでの設定を上書きしてしまう。
また、上記の壁紙の設定も行えないので、~/.fluxbox/startupファイルに壁紙の設定も行う。
なお、スタイルの定義ファイルで指定していた壁紙の設定もクリアされる為、 スタイルで壁紙を指定していた場合、その内容を記述する。
ここでは、例としてResultsのスタイルの壁紙を記述している。

Debian:$ vi ~/.fluxbox/init <= 設定ファイルの編集
session.screen0.rootCommand:
↓
session.screen0.rootCommand: ~/.fluxbox/startup <= 起動時に実行するファイルを指定


Debian:$ vi ~/.fluxbox/startup <= 設定ファイルの作成
#!/bin/sh

if [ -f ~/.Xmodmap ]; then
  xmodmap ~/.Xmodmap
fi

fbsetbg -a ~/image/wallpaper.jpg <= 壁紙の指定

Resultsのスタイルの壁紙を指定する場合、上記のfbsetbgではなく、以下を記述
fbsetroot -mod 4 4 -fg rgb:6/6/5c -bg grey20


Debian:$ chmod 744 ~/.fluxbox/startup <= 設定ファイルに実行権限付加

ショートカットキーの変更

キーマップの確認

現在のキーマップを確認する。
自分の環境では以下のように表示された。

Debian:$ xmodmap -pm <= キー設定の確認

shift       Shift_L (0x32),  Shift_R (0x3e)
lock
control     Control_L (0x25),  Control_R (0x6d),  Control_L (0x42)
mod1        Alt_L (0x40),  Alt_R (0x71),  Meta_L (0x9c)
mod2        Num_Lock (0x4d)
mod3
mod4        Super_L (0x7f),  Hyper_L (0x80)
mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x7c)

ショートカットキーの変更

デフォルトのショートカットキーは使い辛いので、以下のように変更した。

Debian:$ vi ~/.fluxbox/keys <= 設定ファイルの編集
Mod1 Tab :NextWindow
Mod1 Shift :PrevWindow
Mod4 F1 :Workspace 1
Mod4 F2 :Workspace 2
Mod4 F3 :Workspace 3
Mod4 F4 :Workspace 4
Mod4 F5 :Workspace 5
Mod4 F6 :Workspace 6
Mod4 F7 :Workspace 7
Mod4 F8 :Workspace 8
Mod4 F9 :Workspace 9
Mod4 F10 :Workspace 10
Mod4 F11 :Workspace 11
Mod4 F12 :Workspace 12
Mod1 F4 :Close
Mod4 d :ShowDesktop
一般ユーザでシャットダウン出来るようにする

sudoコマンドを利用して一般ユーザでシャットダウン出来るようにする。

sudoの設定

パスワード無しでシャットダウン出来るようにする。

Debian:# visudo <= sudoの設定ファイルの編集
シャットダウンを行いたいユーザによって以下のいずれかを追加
kaz   ALL=NOPASSWD:/sbin/shutdown <= kazのみシャットダウンできるようにする場合

ALL   ALL=NOPASSWD:/sbin/shutdown <= 全てのユーザがシャットダウンできるようにする場合

メニューへの登録

メニューへ登録するが、ファイルはUTF-8で作成すること。
なお、[separator]は区切りなので無くても構わない。

Debian:$ vi ~/.fluxbox/menu <= 設定ファイルの編集
[begin] (fluxbox)
[encoding] {UTF-8} <= 2行目に追加

再起動とシャットダウンをメニューに追加する
[separator]
[exec] (再起動) {sync;sync;sync;sudo /sbin/shutdown -r now}
[exec] (シャットダウン) {sync;sync;sync;sudo /sbin/shutdown -h now}
ここまで

[endencoding] <= 最終行の1行前に追加
[end]
▲ページのトップへ